@@ -30,19 +30,21 @@ option java_multiple_files = true;
30
30
option java_package = "com.google.cloud.datafusion.v1" ;
31
31
option php_namespace = "Google\\Cloud\\DataFusion\\V1" ;
32
32
option ruby_package = "Google::Cloud::DataFusion::V1" ;
33
+ option (google.api.resource_definition ) = {
34
+ type : "cloudkms.googleapis.com/CryptoKey"
35
+ pattern : "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
36
+ };
33
37
34
38
// Service for creating and managing Data Fusion instances.
35
39
// Data Fusion enables ETL developers to build code-free, data integration
36
40
// pipelines via a point-and-click UI.
37
41
service DataFusion {
38
42
option (google.api.default_host ) = "datafusion.googleapis.com" ;
39
- option (google.api.oauth_scopes ) =
40
- "https://www.googleapis.com/auth/cloud-platform" ;
43
+ option (google.api.oauth_scopes ) = "https://www.googleapis.com/auth/cloud-platform" ;
41
44
42
45
// Lists possible versions for Data Fusion instances in the specified project
43
46
// and location.
44
- rpc ListAvailableVersions (ListAvailableVersionsRequest )
45
- returns (ListAvailableVersionsResponse ) {
47
+ rpc ListAvailableVersions (ListAvailableVersionsRequest ) returns (ListAvailableVersionsResponse ) {
46
48
option (google.api.http ) = {
47
49
get : "/v1/{parent=projects/*/locations/*}/versions"
48
50
};
@@ -64,8 +66,7 @@ service DataFusion {
64
66
}
65
67
66
68
// Creates a new Data Fusion instance in the specified project and location.
67
- rpc CreateInstance (CreateInstanceRequest )
68
- returns (google .longrunning .Operation ) {
69
+ rpc CreateInstance (CreateInstanceRequest ) returns (google .longrunning .Operation ) {
69
70
option (google.api.http ) = {
70
71
post : "/v1/{parent=projects/*/locations/*}/instances"
71
72
body : "instance"
@@ -78,8 +79,7 @@ service DataFusion {
78
79
}
79
80
80
81
// Deletes a single Date Fusion instance.
81
- rpc DeleteInstance (DeleteInstanceRequest )
82
- returns (google .longrunning .Operation ) {
82
+ rpc DeleteInstance (DeleteInstanceRequest ) returns (google .longrunning .Operation ) {
83
83
option (google.api.http ) = {
84
84
delete : "/v1/{name=projects/*/locations/*/instances/*}"
85
85
};
@@ -91,8 +91,7 @@ service DataFusion {
91
91
}
92
92
93
93
// Updates a single Data Fusion instance.
94
- rpc UpdateInstance (UpdateInstanceRequest )
95
- returns (google .longrunning .Operation ) {
94
+ rpc UpdateInstance (UpdateInstanceRequest ) returns (google .longrunning .Operation ) {
96
95
option (google.api.http ) = {
97
96
patch : "/v1/{instance.name=projects/*/locations/*/instances/*}"
98
97
body : "instance"
@@ -106,8 +105,7 @@ service DataFusion {
106
105
107
106
// Restart a single Data Fusion instance.
108
107
// At the end of an operation instance is fully restarted.
109
- rpc RestartInstance (RestartInstanceRequest )
110
- returns (google .longrunning .Operation ) {
108
+ rpc RestartInstance (RestartInstanceRequest ) returns (google .longrunning .Operation ) {
111
109
option (google.api.http ) = {
112
110
post : "/v1/{name=projects/*/locations/*/instances/*}:restart"
113
111
body : "*"
@@ -141,6 +139,18 @@ message NetworkConfig {
141
139
// The Data Fusion version. This proto message stores information about certain
142
140
// Data Fusion version, which is used for Data Fusion version upgrade.
143
141
message Version {
142
+ // Each type represents the release availability of a CDF version
143
+ enum Type {
144
+ // Version does not have availability yet
145
+ TYPE_UNSPECIFIED = 0 ;
146
+
147
+ // Version is under development and not considered stable
148
+ TYPE_PREVIEW = 1 ;
149
+
150
+ // Version is available for public use
151
+ TYPE_GENERAL_AVAILABILITY = 2 ;
152
+ }
153
+
144
154
// The version number of the Data Fusion instance, such as '6.0.1.0'.
145
155
string version_number = 1 ;
146
156
@@ -149,6 +159,9 @@ message Version {
149
159
150
160
// Represents a list of available feature names for a given version.
151
161
repeated string available_features = 3 ;
162
+
163
+ // Type represents the release availability of the version
164
+ Type type = 4 ;
152
165
}
153
166
154
167
// Identifies Data Fusion accelerators for an instance.
@@ -201,7 +214,9 @@ message CryptoKeyConfig {
201
214
// The name of the key which is used to encrypt/decrypt customer data. For key
202
215
// in Cloud KMS, the key should be in the format of
203
216
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
204
- string key_reference = 1 ;
217
+ string key_reference = 1 [(google.api.resource_reference ) = {
218
+ type : "cloudkms.googleapis.com/CryptoKey"
219
+ }];
205
220
}
206
221
207
222
// Represents a Data Fusion instance.
@@ -267,11 +282,28 @@ message Instance {
267
282
268
283
// Instance is being auto-upgraded
269
284
AUTO_UPGRADING = 9 ;
285
+
286
+ // Instance is disabled
287
+ DISABLED = 10 ;
288
+ }
289
+
290
+ // The reason for disabling the instance if the state is DISABLED.
291
+ enum DisabledReason {
292
+ // This is an unknown reason for disabling.
293
+ DISABLED_REASON_UNSPECIFIED = 0 ;
294
+
295
+ // The KMS key used by the instance is either revoked or denied access to
296
+ KMS_KEY_ISSUE = 1 ;
270
297
}
271
298
272
299
// Output only. The name of this instance is in the form of
273
300
// projects/{project}/locations/{location}/instances/{instance}.
274
- string name = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
301
+ string name = 1 [
302
+ (google.api.field_behavior ) = OUTPUT_ONLY ,
303
+ (google.api.resource_reference ) = {
304
+ type : "datafusion.googleapis.com/Instance"
305
+ }
306
+ ];
275
307
276
308
// A description of this instance.
277
309
string description = 2 ;
@@ -304,12 +336,10 @@ message Instance {
304
336
map <string , string > options = 9 ;
305
337
306
338
// Output only. The time the instance was created.
307
- google.protobuf.Timestamp create_time = 10
308
- [(google.api.field_behavior ) = OUTPUT_ONLY ];
339
+ google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior ) = OUTPUT_ONLY ];
309
340
310
341
// Output only. The time the instance was last updated.
311
- google.protobuf.Timestamp update_time = 11
312
- [(google.api.field_behavior ) = OUTPUT_ONLY ];
342
+ google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior ) = OUTPUT_ONLY ];
313
343
314
344
// Output only. The current state of this Data Fusion instance.
315
345
State state = 12 [(google.api.field_behavior ) = OUTPUT_ONLY ];
@@ -328,10 +358,11 @@ message Instance {
328
358
// Current version of the Data Fusion. Only specifiable in Update.
329
359
string version = 16 ;
330
360
331
- // Output only. Deprecated. Use tenant_project_id instead to extract the
332
- // tenant project ID.
333
- string service_account = 17
334
- [deprecated = true , (google.api.field_behavior ) = OUTPUT_ONLY ];
361
+ // Output only. Deprecated. Use tenant_project_id instead to extract the tenant project ID.
362
+ string service_account = 17 [
363
+ deprecated = true ,
364
+ (google.api.field_behavior ) = OUTPUT_ONLY
365
+ ];
335
366
336
367
// Display name for an instance.
337
368
string display_name = 18 ;
@@ -343,8 +374,7 @@ message Instance {
343
374
// Output only. Endpoint on which the REST APIs is accessible.
344
375
string api_endpoint = 20 [(google.api.field_behavior ) = OUTPUT_ONLY ];
345
376
346
- // Output only. Cloud Storage bucket generated by Data Fusion in the customer
347
- // project.
377
+ // Output only. Cloud Storage bucket generated by Data Fusion in the customer project.
348
378
string gcs_bucket = 21 [(google.api.field_behavior ) = OUTPUT_ONLY ];
349
379
350
380
// List of accelerators enabled for this CDF instance.
@@ -369,15 +399,23 @@ message Instance {
369
399
// The crypto key configuration. This field is used by the Customer-Managed
370
400
// Encryption Keys (CMEK) feature.
371
401
CryptoKeyConfig crypto_key_config = 28 ;
402
+
403
+ // Output only. If the instance state is DISABLED, the reason for disabling the instance.
404
+ repeated DisabledReason disabled_reason = 29 [(google.api.field_behavior ) = OUTPUT_ONLY ];
372
405
}
373
406
374
407
// Request message for listing Data Fusion instances.
375
408
message ListInstancesRequest {
376
- // The project and location for which to retrieve instance information
409
+ // Required. The project and location for which to retrieve instance information
377
410
// in the format projects/{project}/locations/{location}. If the location is
378
411
// specified as '-' (wildcard), then all regions available to the project
379
412
// are queried, and the results are aggregated.
380
- string parent = 1 ;
413
+ string parent = 1 [
414
+ (google.api.field_behavior ) = REQUIRED ,
415
+ (google.api.resource_reference ) = {
416
+ type : "locations.googleapis.com/Location"
417
+ }
418
+ ];
381
419
382
420
// The maximum number of items to return.
383
421
int32 page_size = 2 ;
@@ -408,9 +446,14 @@ message ListInstancesResponse {
408
446
409
447
// Request message for the list available versions request.
410
448
message ListAvailableVersionsRequest {
411
- // Required. The project and location for which to retrieve instance
412
- // information in the format projects/{project}/locations/{location}.
413
- string parent = 1 [(google.api.field_behavior ) = REQUIRED ];
449
+ // Required. The project and location for which to retrieve instance information
450
+ // in the format projects/{project}/locations/{location}.
451
+ string parent = 1 [
452
+ (google.api.field_behavior ) = REQUIRED ,
453
+ (google.api.resource_reference ) = {
454
+ type : "locations.googleapis.com/Location"
455
+ }
456
+ ];
414
457
415
458
// The maximum number of items to return.
416
459
int32 page_size = 2 ;
@@ -437,36 +480,54 @@ message ListAvailableVersionsResponse {
437
480
438
481
// Request message for getting details about a Data Fusion instance.
439
482
message GetInstanceRequest {
440
- // The instance resource name in the format
483
+ // Required. The instance resource name in the format
441
484
// projects/{project}/locations/{location}/instances/{instance}.
442
- string name = 1 ;
485
+ string name = 1 [
486
+ (google.api.field_behavior ) = REQUIRED ,
487
+ (google.api.resource_reference ) = {
488
+ type : "datafusion.googleapis.com/Instance"
489
+ }
490
+ ];
443
491
}
444
492
445
493
// Request message for creating a Data Fusion instance.
446
494
message CreateInstanceRequest {
447
- // The instance's project and location in the format
495
+ // Required. The instance's project and location in the format
448
496
// projects/{project}/locations/{location}.
449
- string parent = 1 ;
497
+ string parent = 1 [
498
+ (google.api.field_behavior ) = REQUIRED ,
499
+ (google.api.resource_reference ) = {
500
+ type : "locations.googleapis.com/Location"
501
+ }
502
+ ];
450
503
451
- // The name of the instance to create.
452
- string instance_id = 2 ;
504
+ // Required. The name of the instance to create.
505
+ string instance_id = 2 [ (google.api .field_behavior ) = REQUIRED ] ;
453
506
454
507
// An instance resource.
455
508
Instance instance = 3 ;
456
509
}
457
510
458
511
// Request message for deleting a Data Fusion instance.
459
512
message DeleteInstanceRequest {
460
- // The instance resource name in the format
513
+ // Required. The instance resource name in the format
461
514
// projects/{project}/locations/{location}/instances/{instance}
462
- string name = 1 ;
515
+ string name = 1 [
516
+ (google.api.field_behavior ) = REQUIRED ,
517
+ (google.api.resource_reference ) = {
518
+ type : "datafusion.googleapis.com/Instance"
519
+ }
520
+ ];
463
521
}
464
522
523
+ // Request message for updating a Data Fusion instance.
524
+ // Data Fusion allows updating the labels, options, and stack driver settings.
525
+ // This is also used for CDF version upgrade.
465
526
message UpdateInstanceRequest {
466
- // The instance resource that replaces the resource on the server. Currently,
527
+ // Required. The instance resource that replaces the resource on the server. Currently,
467
528
// Data Fusion only allows replacing labels, options, and stack driver
468
529
// settings. All other fields will be ignored.
469
- Instance instance = 1 ;
530
+ Instance instance = 1 [ (google.api .field_behavior ) = REQUIRED ] ;
470
531
471
532
// Field mask is used to specify the fields that the update will overwrite
472
533
// in an instance resource. The fields specified in the update_mask are
@@ -479,9 +540,14 @@ message UpdateInstanceRequest {
479
540
480
541
// Request message for restarting a Data Fusion instance.
481
542
message RestartInstanceRequest {
482
- // Name of the Data Fusion instance which need to be restarted in the form of
543
+ // Required. Name of the Data Fusion instance which need to be restarted in the form of
483
544
// projects/{project}/locations/{location}/instances/{instance}
484
- string name = 1 ;
545
+ string name = 1 [
546
+ (google.api.field_behavior ) = REQUIRED ,
547
+ (google.api.resource_reference ) = {
548
+ type : "datafusion.googleapis.com/Instance"
549
+ }
550
+ ];
485
551
}
486
552
487
553
// Represents the metadata of a long-running operation.
@@ -503,9 +569,8 @@ message OperationMetadata {
503
569
504
570
// Identifies whether the user has requested cancellation
505
571
// of the operation. Operations that have successfully been cancelled
506
- // have [Operation.error][] value with a
507
- // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
508
- // `Code.CANCELLED`.
572
+ // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
573
+ // corresponding to `Code.CANCELLED`.
509
574
bool requested_cancellation = 6 ;
510
575
511
576
// API version used to start the operation.
0 commit comments