xref: /aosp_15_r20/external/googleapis/google/cloud/datafusion/v1beta1/v1beta1.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.datafusion.v1beta1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/iam/v1/policy.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
28*d5c09012SAndroid Build Coastguard Worker
29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DataFusion.V1Beta1";
30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/datafusion/apiv1beta1/datafusionpb;datafusionpb";
31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.datafusion.v1beta1";
33*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DataFusion\\V1beta1";
34*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DataFusion::V1beta1";
35*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
36*d5c09012SAndroid Build Coastguard Worker  type: "cloudkms.googleapis.com/CryptoKey"
37*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
38*d5c09012SAndroid Build Coastguard Worker};
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker// Service for creating and managing Data Fusion instances.
41*d5c09012SAndroid Build Coastguard Worker// Data Fusion enables ETL developers to build code-free, data integration
42*d5c09012SAndroid Build Coastguard Worker// pipelines via a point-and-click UI.
43*d5c09012SAndroid Build Coastguard Workerservice DataFusion {
44*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "datafusion.googleapis.com";
45*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // Lists possible versions for Data Fusion instances in the specified project
48*d5c09012SAndroid Build Coastguard Worker  // and location.
49*d5c09012SAndroid Build Coastguard Worker  rpc ListAvailableVersions(ListAvailableVersionsRequest) returns (ListAvailableVersionsResponse) {
50*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
51*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*}/versions"
52*d5c09012SAndroid Build Coastguard Worker    };
53*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
54*d5c09012SAndroid Build Coastguard Worker  }
55*d5c09012SAndroid Build Coastguard Worker
56*d5c09012SAndroid Build Coastguard Worker  // Lists Data Fusion instances in the specified project and location.
57*d5c09012SAndroid Build Coastguard Worker  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
58*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
59*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*}/instances"
60*d5c09012SAndroid Build Coastguard Worker    };
61*d5c09012SAndroid Build Coastguard Worker  }
62*d5c09012SAndroid Build Coastguard Worker
63*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single Data Fusion instance.
64*d5c09012SAndroid Build Coastguard Worker  rpc GetInstance(GetInstanceRequest) returns (Instance) {
65*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
66*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*/instances/*}"
67*d5c09012SAndroid Build Coastguard Worker    };
68*d5c09012SAndroid Build Coastguard Worker  }
69*d5c09012SAndroid Build Coastguard Worker
70*d5c09012SAndroid Build Coastguard Worker  // Creates a new Data Fusion instance in the specified project and location.
71*d5c09012SAndroid Build Coastguard Worker  rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
72*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
73*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/locations/*}/instances"
74*d5c09012SAndroid Build Coastguard Worker      body: "instance"
75*d5c09012SAndroid Build Coastguard Worker    };
76*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,instance,instance_id";
77*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
78*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
79*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
80*d5c09012SAndroid Build Coastguard Worker    };
81*d5c09012SAndroid Build Coastguard Worker  }
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker  // Deletes a single Data Fusion instance.
84*d5c09012SAndroid Build Coastguard Worker  rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
85*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
86*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/locations/*/instances/*}"
87*d5c09012SAndroid Build Coastguard Worker    };
88*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
89*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
90*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
91*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
92*d5c09012SAndroid Build Coastguard Worker    };
93*d5c09012SAndroid Build Coastguard Worker  }
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker  // Updates a single Data Fusion instance.
96*d5c09012SAndroid Build Coastguard Worker  rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) {
97*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
98*d5c09012SAndroid Build Coastguard Worker      patch: "/v1beta1/{instance.name=projects/*/locations/*/instances/*}"
99*d5c09012SAndroid Build Coastguard Worker      body: "instance"
100*d5c09012SAndroid Build Coastguard Worker    };
101*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "instance,update_mask";
102*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
103*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
104*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
105*d5c09012SAndroid Build Coastguard Worker    };
106*d5c09012SAndroid Build Coastguard Worker  }
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // Restart a single Data Fusion instance.
109*d5c09012SAndroid Build Coastguard Worker  // At the end of an operation instance is fully restarted.
110*d5c09012SAndroid Build Coastguard Worker  rpc RestartInstance(RestartInstanceRequest) returns (google.longrunning.Operation) {
111*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
112*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/instances/*}:restart"
113*d5c09012SAndroid Build Coastguard Worker      body: "*"
114*d5c09012SAndroid Build Coastguard Worker    };
115*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
116*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
117*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
118*d5c09012SAndroid Build Coastguard Worker    };
119*d5c09012SAndroid Build Coastguard Worker  }
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Upgrade a single Data Fusion instance.
122*d5c09012SAndroid Build Coastguard Worker  // At the end of an operation instance is fully upgraded.
123*d5c09012SAndroid Build Coastguard Worker  rpc UpgradeInstance(UpgradeInstanceRequest) returns (google.longrunning.Operation) {
124*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
125*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/instances/*}:upgrade"
126*d5c09012SAndroid Build Coastguard Worker      body: "*"
127*d5c09012SAndroid Build Coastguard Worker    };
128*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
129*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
130*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
131*d5c09012SAndroid Build Coastguard Worker    };
132*d5c09012SAndroid Build Coastguard Worker  }
133*d5c09012SAndroid Build Coastguard Worker
134*d5c09012SAndroid Build Coastguard Worker  // Remove IAM policy that is currently set on the given resource.
135*d5c09012SAndroid Build Coastguard Worker  rpc RemoveIamPolicy(RemoveIamPolicyRequest) returns (RemoveIamPolicyResponse) {
136*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
137*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{resource=projects/*/locations/*/**}:removeIamPolicy"
138*d5c09012SAndroid Build Coastguard Worker      body: "*"
139*d5c09012SAndroid Build Coastguard Worker    };
140*d5c09012SAndroid Build Coastguard Worker  }
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker  // List namespaces in a given instance
143*d5c09012SAndroid Build Coastguard Worker  rpc ListNamespaces(ListNamespacesRequest) returns (ListNamespacesResponse) {
144*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
145*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*/instances/*}/namespaces"
146*d5c09012SAndroid Build Coastguard Worker    };
147*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
148*d5c09012SAndroid Build Coastguard Worker  }
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Add DNS peering on the given resource.
151*d5c09012SAndroid Build Coastguard Worker  rpc AddDnsPeering(AddDnsPeeringRequest) returns (AddDnsPeeringResponse) {
152*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
153*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:add"
154*d5c09012SAndroid Build Coastguard Worker      body: "*"
155*d5c09012SAndroid Build Coastguard Worker    };
156*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
157*d5c09012SAndroid Build Coastguard Worker  }
158*d5c09012SAndroid Build Coastguard Worker
159*d5c09012SAndroid Build Coastguard Worker  // Remove DNS peering on the given resource.
160*d5c09012SAndroid Build Coastguard Worker  rpc RemoveDnsPeering(RemoveDnsPeeringRequest) returns (RemoveDnsPeeringResponse) {
161*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
162*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:remove"
163*d5c09012SAndroid Build Coastguard Worker      body: "*"
164*d5c09012SAndroid Build Coastguard Worker    };
165*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
166*d5c09012SAndroid Build Coastguard Worker  }
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker  // List DNS peering for a given resource.
169*d5c09012SAndroid Build Coastguard Worker  rpc ListDnsPeerings(ListDnsPeeringsRequest) returns (ListDnsPeeringsResponse) {
170*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
171*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:list"
172*d5c09012SAndroid Build Coastguard Worker    };
173*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
174*d5c09012SAndroid Build Coastguard Worker  }
175*d5c09012SAndroid Build Coastguard Worker}
176*d5c09012SAndroid Build Coastguard Worker
177*d5c09012SAndroid Build Coastguard Worker// Network configuration for a Data Fusion instance. These configurations
178*d5c09012SAndroid Build Coastguard Worker// are used for peering with the customer network. Configurations are optional
179*d5c09012SAndroid Build Coastguard Worker// when a public Data Fusion instance is to be created. However, providing
180*d5c09012SAndroid Build Coastguard Worker// these configurations allows several benefits, such as reduced network latency
181*d5c09012SAndroid Build Coastguard Worker// while accessing the customer resources from managed Data Fusion instance
182*d5c09012SAndroid Build Coastguard Worker// nodes, as well as access to the customer on-prem resources.
183*d5c09012SAndroid Build Coastguard Workermessage NetworkConfig {
184*d5c09012SAndroid Build Coastguard Worker  // Name of the network in the customer project with which the Tenant Project
185*d5c09012SAndroid Build Coastguard Worker  // will be peered for executing pipelines. In case of shared VPC where the
186*d5c09012SAndroid Build Coastguard Worker  // network resides in another host project the network should specified in
187*d5c09012SAndroid Build Coastguard Worker  // the form of projects/{host-project-id}/global/networks/{network}
188*d5c09012SAndroid Build Coastguard Worker  string network = 1;
189*d5c09012SAndroid Build Coastguard Worker
190*d5c09012SAndroid Build Coastguard Worker  // The IP range in CIDR notation to use for the managed Data Fusion instance
191*d5c09012SAndroid Build Coastguard Worker  // nodes. This range must not overlap with any other ranges used in the Data
192*d5c09012SAndroid Build Coastguard Worker  // Fusion instance network.
193*d5c09012SAndroid Build Coastguard Worker  string ip_allocation = 2;
194*d5c09012SAndroid Build Coastguard Worker}
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker// The Data Fusion version.
197*d5c09012SAndroid Build Coastguard Workermessage Version {
198*d5c09012SAndroid Build Coastguard Worker  // Each type represents the release availability of a CDF version
199*d5c09012SAndroid Build Coastguard Worker  enum Type {
200*d5c09012SAndroid Build Coastguard Worker    // Version does not have availability yet
201*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker    // Version is under development and not considered stable
204*d5c09012SAndroid Build Coastguard Worker    TYPE_PREVIEW = 1;
205*d5c09012SAndroid Build Coastguard Worker
206*d5c09012SAndroid Build Coastguard Worker    // Version is available for public use
207*d5c09012SAndroid Build Coastguard Worker    TYPE_GENERAL_AVAILABILITY = 2;
208*d5c09012SAndroid Build Coastguard Worker  }
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker  // The version number of the Data Fusion instance, such as '6.0.1.0'.
211*d5c09012SAndroid Build Coastguard Worker  string version_number = 1;
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker  // Whether this is currently the default version for Cloud Data Fusion
214*d5c09012SAndroid Build Coastguard Worker  bool default_version = 2;
215*d5c09012SAndroid Build Coastguard Worker
216*d5c09012SAndroid Build Coastguard Worker  // Represents a list of available feature names for a given version.
217*d5c09012SAndroid Build Coastguard Worker  repeated string available_features = 3;
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // Type represents the release availability of the version
220*d5c09012SAndroid Build Coastguard Worker  Type type = 4;
221*d5c09012SAndroid Build Coastguard Worker}
222*d5c09012SAndroid Build Coastguard Worker
223*d5c09012SAndroid Build Coastguard Worker// Identifies Data Fusion accelerators for an instance.
224*d5c09012SAndroid Build Coastguard Workermessage Accelerator {
225*d5c09012SAndroid Build Coastguard Worker  // Each type represents an Accelerator (Add-On) supported by Cloud Data Fusion
226*d5c09012SAndroid Build Coastguard Worker  // service.
227*d5c09012SAndroid Build Coastguard Worker  enum AcceleratorType {
228*d5c09012SAndroid Build Coastguard Worker    // Default value, if unspecified.
229*d5c09012SAndroid Build Coastguard Worker    ACCELERATOR_TYPE_UNSPECIFIED = 0;
230*d5c09012SAndroid Build Coastguard Worker
231*d5c09012SAndroid Build Coastguard Worker    // Change Data Capture accelerator for CDF.
232*d5c09012SAndroid Build Coastguard Worker    CDC = 1;
233*d5c09012SAndroid Build Coastguard Worker
234*d5c09012SAndroid Build Coastguard Worker    // Cloud Healthcare accelerator for CDF. This accelerator is to enable Cloud
235*d5c09012SAndroid Build Coastguard Worker    // Healthcare specific CDF plugins developed by Healthcare team.
236*d5c09012SAndroid Build Coastguard Worker    HEALTHCARE = 2;
237*d5c09012SAndroid Build Coastguard Worker  }
238*d5c09012SAndroid Build Coastguard Worker
239*d5c09012SAndroid Build Coastguard Worker  // The type of an accelator for a CDF instance.
240*d5c09012SAndroid Build Coastguard Worker  AcceleratorType accelerator_type = 1;
241*d5c09012SAndroid Build Coastguard Worker}
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker// The crypto key configuration. This field is used by the Customer-managed
244*d5c09012SAndroid Build Coastguard Worker// encryption keys (CMEK) feature.
245*d5c09012SAndroid Build Coastguard Workermessage CryptoKeyConfig {
246*d5c09012SAndroid Build Coastguard Worker  // The name of the key which is used to encrypt/decrypt customer data. For key
247*d5c09012SAndroid Build Coastguard Worker  // in Cloud KMS, the key should be in the format of
248*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
249*d5c09012SAndroid Build Coastguard Worker  string key_reference = 1 [(google.api.resource_reference) = {
250*d5c09012SAndroid Build Coastguard Worker                              type: "cloudkms.googleapis.com/CryptoKey"
251*d5c09012SAndroid Build Coastguard Worker                            }];
252*d5c09012SAndroid Build Coastguard Worker}
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker// Represents a Data Fusion instance.
255*d5c09012SAndroid Build Coastguard Workermessage Instance {
256*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
257*d5c09012SAndroid Build Coastguard Worker    type: "datafusion.googleapis.com/Instance"
258*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/instances/{instance}"
259*d5c09012SAndroid Build Coastguard Worker  };
260*d5c09012SAndroid Build Coastguard Worker
261*d5c09012SAndroid Build Coastguard Worker  // Represents the type of Data Fusion instance. Each type is configured with
262*d5c09012SAndroid Build Coastguard Worker  // the default settings for processing and memory.
263*d5c09012SAndroid Build Coastguard Worker  enum Type {
264*d5c09012SAndroid Build Coastguard Worker    // No type specified. The instance creation will fail.
265*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
266*d5c09012SAndroid Build Coastguard Worker
267*d5c09012SAndroid Build Coastguard Worker    // Basic Data Fusion instance. In Basic type, the user will be able to
268*d5c09012SAndroid Build Coastguard Worker    // create data pipelines using point and click UI. However, there are
269*d5c09012SAndroid Build Coastguard Worker    // certain limitations, such as fewer number of concurrent pipelines, no
270*d5c09012SAndroid Build Coastguard Worker    // support for streaming pipelines, etc.
271*d5c09012SAndroid Build Coastguard Worker    BASIC = 1;
272*d5c09012SAndroid Build Coastguard Worker
273*d5c09012SAndroid Build Coastguard Worker    // Enterprise Data Fusion instance. In Enterprise type, the user will have
274*d5c09012SAndroid Build Coastguard Worker    // all features available, such as support for streaming pipelines,
275*d5c09012SAndroid Build Coastguard Worker    // unlimited number of concurrent pipelines, etc.
276*d5c09012SAndroid Build Coastguard Worker    ENTERPRISE = 2;
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker    // Developer Data Fusion instance. In Developer type, the user will have all
279*d5c09012SAndroid Build Coastguard Worker    // features available but with restrictive capabilities. This is to help
280*d5c09012SAndroid Build Coastguard Worker    // enterprises design and develop their data ingestion and integration
281*d5c09012SAndroid Build Coastguard Worker    // pipelines at low cost.
282*d5c09012SAndroid Build Coastguard Worker    DEVELOPER = 3;
283*d5c09012SAndroid Build Coastguard Worker  }
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker  // Represents the state of a Data Fusion instance
286*d5c09012SAndroid Build Coastguard Worker  enum State {
287*d5c09012SAndroid Build Coastguard Worker    // Instance does not have a state yet
288*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
289*d5c09012SAndroid Build Coastguard Worker
290*d5c09012SAndroid Build Coastguard Worker    // Instance is being created
291*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker    // Instance is running and ready for requests
294*d5c09012SAndroid Build Coastguard Worker    RUNNING = 2;
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker    // Instance creation failed
297*d5c09012SAndroid Build Coastguard Worker    FAILED = 3;
298*d5c09012SAndroid Build Coastguard Worker
299*d5c09012SAndroid Build Coastguard Worker    // Instance is being deleted
300*d5c09012SAndroid Build Coastguard Worker    DELETING = 4;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker    // Instance is being upgraded
303*d5c09012SAndroid Build Coastguard Worker    UPGRADING = 5;
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker    // Instance is being restarted
306*d5c09012SAndroid Build Coastguard Worker    RESTARTING = 6;
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker    // Instance is being updated on customer request
309*d5c09012SAndroid Build Coastguard Worker    UPDATING = 7;
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker    // Instance is being auto-updated
312*d5c09012SAndroid Build Coastguard Worker    AUTO_UPDATING = 8;
313*d5c09012SAndroid Build Coastguard Worker
314*d5c09012SAndroid Build Coastguard Worker    // Instance is being auto-upgraded
315*d5c09012SAndroid Build Coastguard Worker    AUTO_UPGRADING = 9;
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker    // Instance is disabled
318*d5c09012SAndroid Build Coastguard Worker    DISABLED = 10;
319*d5c09012SAndroid Build Coastguard Worker  }
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker  // The reason for disabling the instance if the state is DISABLED.
322*d5c09012SAndroid Build Coastguard Worker  enum DisabledReason {
323*d5c09012SAndroid Build Coastguard Worker    // This is an unknown reason for disabling.
324*d5c09012SAndroid Build Coastguard Worker    DISABLED_REASON_UNSPECIFIED = 0;
325*d5c09012SAndroid Build Coastguard Worker
326*d5c09012SAndroid Build Coastguard Worker    // The KMS key used by the instance is either revoked or denied access to
327*d5c09012SAndroid Build Coastguard Worker    KMS_KEY_ISSUE = 1;
328*d5c09012SAndroid Build Coastguard Worker  }
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of this instance is in the form of
331*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/instances/{instance}.
332*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
333*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
334*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
335*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
336*d5c09012SAndroid Build Coastguard Worker    }
337*d5c09012SAndroid Build Coastguard Worker  ];
338*d5c09012SAndroid Build Coastguard Worker
339*d5c09012SAndroid Build Coastguard Worker  // A description of this instance.
340*d5c09012SAndroid Build Coastguard Worker  string description = 2;
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker  // Required. Instance type.
343*d5c09012SAndroid Build Coastguard Worker  Type type = 3 [(google.api.field_behavior) = REQUIRED];
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker  // Option to enable Stackdriver Logging.
346*d5c09012SAndroid Build Coastguard Worker  bool enable_stackdriver_logging = 4;
347*d5c09012SAndroid Build Coastguard Worker
348*d5c09012SAndroid Build Coastguard Worker  // Option to enable Stackdriver Monitoring.
349*d5c09012SAndroid Build Coastguard Worker  bool enable_stackdriver_monitoring = 5;
350*d5c09012SAndroid Build Coastguard Worker
351*d5c09012SAndroid Build Coastguard Worker  // Specifies whether the Data Fusion instance should be private. If set to
352*d5c09012SAndroid Build Coastguard Worker  // true, all Data Fusion nodes will have private IP addresses and will not be
353*d5c09012SAndroid Build Coastguard Worker  // able to access the public internet.
354*d5c09012SAndroid Build Coastguard Worker  bool private_instance = 6;
355*d5c09012SAndroid Build Coastguard Worker
356*d5c09012SAndroid Build Coastguard Worker  // Network configuration options. These are required when a private Data
357*d5c09012SAndroid Build Coastguard Worker  // Fusion instance is to be created.
358*d5c09012SAndroid Build Coastguard Worker  NetworkConfig network_config = 7;
359*d5c09012SAndroid Build Coastguard Worker
360*d5c09012SAndroid Build Coastguard Worker  // The resource labels for instance to use to annotate any related underlying
361*d5c09012SAndroid Build Coastguard Worker  // resources such as Compute Engine VMs. The character '=' is not allowed to
362*d5c09012SAndroid Build Coastguard Worker  // be used within the labels.
363*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 8;
364*d5c09012SAndroid Build Coastguard Worker
365*d5c09012SAndroid Build Coastguard Worker  // Map of additional options used to configure the behavior of
366*d5c09012SAndroid Build Coastguard Worker  // Data Fusion instance.
367*d5c09012SAndroid Build Coastguard Worker  map<string, string> options = 9;
368*d5c09012SAndroid Build Coastguard Worker
369*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the instance was created.
370*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
371*d5c09012SAndroid Build Coastguard Worker
372*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the instance was last updated.
373*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
374*d5c09012SAndroid Build Coastguard Worker
375*d5c09012SAndroid Build Coastguard Worker  // Output only. The current state of this Data Fusion instance.
376*d5c09012SAndroid Build Coastguard Worker  State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
377*d5c09012SAndroid Build Coastguard Worker
378*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional information about the current state of this Data
379*d5c09012SAndroid Build Coastguard Worker  // Fusion instance if available.
380*d5c09012SAndroid Build Coastguard Worker  string state_message = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
381*d5c09012SAndroid Build Coastguard Worker
382*d5c09012SAndroid Build Coastguard Worker  // Output only. Endpoint on which the Data Fusion UI is accessible.
383*d5c09012SAndroid Build Coastguard Worker  string service_endpoint = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
384*d5c09012SAndroid Build Coastguard Worker
385*d5c09012SAndroid Build Coastguard Worker  // Name of the zone in which the Data Fusion instance will be created. Only
386*d5c09012SAndroid Build Coastguard Worker  // DEVELOPER instances use this field.
387*d5c09012SAndroid Build Coastguard Worker  string zone = 15;
388*d5c09012SAndroid Build Coastguard Worker
389*d5c09012SAndroid Build Coastguard Worker  // Current version of Data Fusion.
390*d5c09012SAndroid Build Coastguard Worker  string version = 16;
391*d5c09012SAndroid Build Coastguard Worker
392*d5c09012SAndroid Build Coastguard Worker  // Output only. Deprecated. Use tenant_project_id instead to extract the tenant project ID.
393*d5c09012SAndroid Build Coastguard Worker  string service_account = 17 [
394*d5c09012SAndroid Build Coastguard Worker    deprecated = true,
395*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY
396*d5c09012SAndroid Build Coastguard Worker  ];
397*d5c09012SAndroid Build Coastguard Worker
398*d5c09012SAndroid Build Coastguard Worker  // Display name for an instance.
399*d5c09012SAndroid Build Coastguard Worker  string display_name = 18;
400*d5c09012SAndroid Build Coastguard Worker
401*d5c09012SAndroid Build Coastguard Worker  // Available versions that the instance can be upgraded to using
402*d5c09012SAndroid Build Coastguard Worker  // UpdateInstanceRequest.
403*d5c09012SAndroid Build Coastguard Worker  repeated Version available_version = 19;
404*d5c09012SAndroid Build Coastguard Worker
405*d5c09012SAndroid Build Coastguard Worker  // Output only. Endpoint on which the REST APIs is accessible.
406*d5c09012SAndroid Build Coastguard Worker  string api_endpoint = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
407*d5c09012SAndroid Build Coastguard Worker
408*d5c09012SAndroid Build Coastguard Worker  // Output only. Cloud Storage bucket generated by Data Fusion in the customer project.
409*d5c09012SAndroid Build Coastguard Worker  string gcs_bucket = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
410*d5c09012SAndroid Build Coastguard Worker
411*d5c09012SAndroid Build Coastguard Worker  // List of accelerators enabled for this CDF instance.
412*d5c09012SAndroid Build Coastguard Worker  repeated Accelerator accelerators = 22;
413*d5c09012SAndroid Build Coastguard Worker
414*d5c09012SAndroid Build Coastguard Worker  // Output only. P4 service account for the customer project.
415*d5c09012SAndroid Build Coastguard Worker  string p4_service_account = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
416*d5c09012SAndroid Build Coastguard Worker
417*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of the tenant project.
418*d5c09012SAndroid Build Coastguard Worker  string tenant_project_id = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
419*d5c09012SAndroid Build Coastguard Worker
420*d5c09012SAndroid Build Coastguard Worker  // User-managed service account to set on Dataproc when Cloud Data Fusion
421*d5c09012SAndroid Build Coastguard Worker  // creates Dataproc to run data processing pipelines.
422*d5c09012SAndroid Build Coastguard Worker  //
423*d5c09012SAndroid Build Coastguard Worker  // This allows users to have fine-grained access control on Dataproc's
424*d5c09012SAndroid Build Coastguard Worker  // accesses to cloud resources.
425*d5c09012SAndroid Build Coastguard Worker  string dataproc_service_account = 25;
426*d5c09012SAndroid Build Coastguard Worker
427*d5c09012SAndroid Build Coastguard Worker  // Option to enable granular role-based access control.
428*d5c09012SAndroid Build Coastguard Worker  bool enable_rbac = 26;
429*d5c09012SAndroid Build Coastguard Worker
430*d5c09012SAndroid Build Coastguard Worker  // The crypto key configuration. This field is used by the Customer-Managed
431*d5c09012SAndroid Build Coastguard Worker  // Encryption Keys (CMEK) feature.
432*d5c09012SAndroid Build Coastguard Worker  CryptoKeyConfig crypto_key_config = 27;
433*d5c09012SAndroid Build Coastguard Worker
434*d5c09012SAndroid Build Coastguard Worker  // Output only. If the instance state is DISABLED, the reason for disabling the instance.
435*d5c09012SAndroid Build Coastguard Worker  repeated DisabledReason disabled_reason = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
436*d5c09012SAndroid Build Coastguard Worker}
437*d5c09012SAndroid Build Coastguard Worker
438*d5c09012SAndroid Build Coastguard Worker// Request message for listing Data Fusion instances.
439*d5c09012SAndroid Build Coastguard Workermessage ListInstancesRequest {
440*d5c09012SAndroid Build Coastguard Worker  // Required. The project and location for which to retrieve instance information
441*d5c09012SAndroid Build Coastguard Worker  // in the format projects/{project}/locations/{location}. If the location is
442*d5c09012SAndroid Build Coastguard Worker  // specified as '-' (wildcard), then all regions available to the project
443*d5c09012SAndroid Build Coastguard Worker  // are queried, and the results are aggregated.
444*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
445*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
446*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
447*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
448*d5c09012SAndroid Build Coastguard Worker    }
449*d5c09012SAndroid Build Coastguard Worker  ];
450*d5c09012SAndroid Build Coastguard Worker
451*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
452*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
453*d5c09012SAndroid Build Coastguard Worker
454*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
455*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
456*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
457*d5c09012SAndroid Build Coastguard Worker
458*d5c09012SAndroid Build Coastguard Worker  // List filter.
459*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
460*d5c09012SAndroid Build Coastguard Worker
461*d5c09012SAndroid Build Coastguard Worker  // Sort results. Supported values are "name", "name desc",  or "" (unsorted).
462*d5c09012SAndroid Build Coastguard Worker  string order_by = 5;
463*d5c09012SAndroid Build Coastguard Worker}
464*d5c09012SAndroid Build Coastguard Worker
465*d5c09012SAndroid Build Coastguard Worker// Response message for the list instance request.
466*d5c09012SAndroid Build Coastguard Workermessage ListInstancesResponse {
467*d5c09012SAndroid Build Coastguard Worker  // Represents a list of Data Fusion instances.
468*d5c09012SAndroid Build Coastguard Worker  repeated Instance instances = 1;
469*d5c09012SAndroid Build Coastguard Worker
470*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results or empty if there are no more
471*d5c09012SAndroid Build Coastguard Worker  // results in the list.
472*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
473*d5c09012SAndroid Build Coastguard Worker
474*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
475*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
476*d5c09012SAndroid Build Coastguard Worker}
477*d5c09012SAndroid Build Coastguard Worker
478*d5c09012SAndroid Build Coastguard Worker// Request message for the list available versions request.
479*d5c09012SAndroid Build Coastguard Workermessage ListAvailableVersionsRequest {
480*d5c09012SAndroid Build Coastguard Worker  // Required. The project and location for which to retrieve instance information
481*d5c09012SAndroid Build Coastguard Worker  // in the format projects/{project}/locations/{location}.
482*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
483*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
484*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
485*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
486*d5c09012SAndroid Build Coastguard Worker    }
487*d5c09012SAndroid Build Coastguard Worker  ];
488*d5c09012SAndroid Build Coastguard Worker
489*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
490*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
491*d5c09012SAndroid Build Coastguard Worker
492*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
493*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
494*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
495*d5c09012SAndroid Build Coastguard Worker
496*d5c09012SAndroid Build Coastguard Worker  // Whether or not to return the latest patch of every available minor version.
497*d5c09012SAndroid Build Coastguard Worker  // If true, only the latest patch will be returned. Ex. if allowed versions is
498*d5c09012SAndroid Build Coastguard Worker  // [6.1.1, 6.1.2, 6.2.0] then response will be [6.1.2, 6.2.0]
499*d5c09012SAndroid Build Coastguard Worker  bool latest_patch_only = 4;
500*d5c09012SAndroid Build Coastguard Worker}
501*d5c09012SAndroid Build Coastguard Worker
502*d5c09012SAndroid Build Coastguard Worker// Response message for the list available versions request.
503*d5c09012SAndroid Build Coastguard Workermessage ListAvailableVersionsResponse {
504*d5c09012SAndroid Build Coastguard Worker  // Represents a list of versions that are supported.
505*d5c09012SAndroid Build Coastguard Worker  repeated Version available_versions = 1;
506*d5c09012SAndroid Build Coastguard Worker
507*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results or empty if there are no more
508*d5c09012SAndroid Build Coastguard Worker  // results in the list.
509*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
510*d5c09012SAndroid Build Coastguard Worker}
511*d5c09012SAndroid Build Coastguard Worker
512*d5c09012SAndroid Build Coastguard Worker// Request message for getting details about a Data Fusion instance.
513*d5c09012SAndroid Build Coastguard Workermessage GetInstanceRequest {
514*d5c09012SAndroid Build Coastguard Worker  // Required. The instance resource name in the format
515*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/instances/{instance}.
516*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
517*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
518*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
519*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
520*d5c09012SAndroid Build Coastguard Worker    }
521*d5c09012SAndroid Build Coastguard Worker  ];
522*d5c09012SAndroid Build Coastguard Worker}
523*d5c09012SAndroid Build Coastguard Worker
524*d5c09012SAndroid Build Coastguard Worker// Request message for creating a Data Fusion instance.
525*d5c09012SAndroid Build Coastguard Workermessage CreateInstanceRequest {
526*d5c09012SAndroid Build Coastguard Worker  // Required. The instance's project and location in the format
527*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}.
528*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
529*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
530*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
531*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
532*d5c09012SAndroid Build Coastguard Worker    }
533*d5c09012SAndroid Build Coastguard Worker  ];
534*d5c09012SAndroid Build Coastguard Worker
535*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the instance to create.
536*d5c09012SAndroid Build Coastguard Worker  string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
537*d5c09012SAndroid Build Coastguard Worker
538*d5c09012SAndroid Build Coastguard Worker  // An instance resource.
539*d5c09012SAndroid Build Coastguard Worker  Instance instance = 3;
540*d5c09012SAndroid Build Coastguard Worker}
541*d5c09012SAndroid Build Coastguard Worker
542*d5c09012SAndroid Build Coastguard Worker// Request message for deleting a Data Fusion instance.
543*d5c09012SAndroid Build Coastguard Workermessage DeleteInstanceRequest {
544*d5c09012SAndroid Build Coastguard Worker  // Required. The instance resource name in the format
545*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/instances/{instance}
546*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
547*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
548*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
549*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
550*d5c09012SAndroid Build Coastguard Worker    }
551*d5c09012SAndroid Build Coastguard Worker  ];
552*d5c09012SAndroid Build Coastguard Worker}
553*d5c09012SAndroid Build Coastguard Worker
554*d5c09012SAndroid Build Coastguard Worker// Request message for updating a Data Fusion instance.
555*d5c09012SAndroid Build Coastguard Worker// Data Fusion only allows updating the labels, options, and stack driver
556*d5c09012SAndroid Build Coastguard Worker// settings.
557*d5c09012SAndroid Build Coastguard Workermessage UpdateInstanceRequest {
558*d5c09012SAndroid Build Coastguard Worker  // Required. The instance resource that replaces the resource on the server. Currently,
559*d5c09012SAndroid Build Coastguard Worker  // Data Fusion only allows replacing labels, options, and stack driver
560*d5c09012SAndroid Build Coastguard Worker  // settings. All other fields will be ignored.
561*d5c09012SAndroid Build Coastguard Worker  Instance instance = 1 [(google.api.field_behavior) = REQUIRED];
562*d5c09012SAndroid Build Coastguard Worker
563*d5c09012SAndroid Build Coastguard Worker  // Field mask is used to specify the fields that the update will overwrite
564*d5c09012SAndroid Build Coastguard Worker  // in an instance resource. The fields specified in the update_mask are
565*d5c09012SAndroid Build Coastguard Worker  // relative to the resource, not the full request.
566*d5c09012SAndroid Build Coastguard Worker  // A field will be overwritten if it is in the mask.
567*d5c09012SAndroid Build Coastguard Worker  // If the user does not provide a mask, all the supported fields (labels and
568*d5c09012SAndroid Build Coastguard Worker  // options currently) will be overwritten.
569*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
570*d5c09012SAndroid Build Coastguard Worker}
571*d5c09012SAndroid Build Coastguard Worker
572*d5c09012SAndroid Build Coastguard Worker// Request message for restarting a Data Fusion instance.
573*d5c09012SAndroid Build Coastguard Workermessage RestartInstanceRequest {
574*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the Data Fusion instance which need to be restarted in the form of
575*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/instances/{instance}
576*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
577*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
578*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
579*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
580*d5c09012SAndroid Build Coastguard Worker    }
581*d5c09012SAndroid Build Coastguard Worker  ];
582*d5c09012SAndroid Build Coastguard Worker}
583*d5c09012SAndroid Build Coastguard Worker
584*d5c09012SAndroid Build Coastguard Worker// Request message for upgrading a Data Fusion instance.
585*d5c09012SAndroid Build Coastguard Worker// To change the instance properties, instance update should be used.
586*d5c09012SAndroid Build Coastguard Workermessage UpgradeInstanceRequest {
587*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the Data Fusion instance which need to be upgraded in the form of
588*d5c09012SAndroid Build Coastguard Worker  // projects/{project}/locations/{location}/instances/{instance}
589*d5c09012SAndroid Build Coastguard Worker  // Instance will be upgraded with the latest stable version of the Data
590*d5c09012SAndroid Build Coastguard Worker  // Fusion.
591*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
592*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
593*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
594*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
595*d5c09012SAndroid Build Coastguard Worker    }
596*d5c09012SAndroid Build Coastguard Worker  ];
597*d5c09012SAndroid Build Coastguard Worker}
598*d5c09012SAndroid Build Coastguard Worker
599*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of a long-running operation.
600*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
601*d5c09012SAndroid Build Coastguard Worker  // The time the operation was created.
602*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1;
603*d5c09012SAndroid Build Coastguard Worker
604*d5c09012SAndroid Build Coastguard Worker  // The time the operation finished running.
605*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
606*d5c09012SAndroid Build Coastguard Worker
607*d5c09012SAndroid Build Coastguard Worker  // Server-defined resource path for the target of the operation.
608*d5c09012SAndroid Build Coastguard Worker  string target = 3;
609*d5c09012SAndroid Build Coastguard Worker
610*d5c09012SAndroid Build Coastguard Worker  // Name of the verb executed by the operation.
611*d5c09012SAndroid Build Coastguard Worker  string verb = 4;
612*d5c09012SAndroid Build Coastguard Worker
613*d5c09012SAndroid Build Coastguard Worker  // Human-readable status of the operation if any.
614*d5c09012SAndroid Build Coastguard Worker  string status_detail = 5;
615*d5c09012SAndroid Build Coastguard Worker
616*d5c09012SAndroid Build Coastguard Worker  // Identifies whether the user has requested cancellation
617*d5c09012SAndroid Build Coastguard Worker  // of the operation. Operations that have successfully been cancelled
618*d5c09012SAndroid Build Coastguard Worker  // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
619*d5c09012SAndroid Build Coastguard Worker  // corresponding to `Code.CANCELLED`.
620*d5c09012SAndroid Build Coastguard Worker  bool requested_cancellation = 6;
621*d5c09012SAndroid Build Coastguard Worker
622*d5c09012SAndroid Build Coastguard Worker  // API version used to start the operation.
623*d5c09012SAndroid Build Coastguard Worker  string api_version = 7;
624*d5c09012SAndroid Build Coastguard Worker}
625*d5c09012SAndroid Build Coastguard Worker
626*d5c09012SAndroid Build Coastguard Worker// Request message for RemoveIamPolicy method.
627*d5c09012SAndroid Build Coastguard Workermessage RemoveIamPolicyRequest {
628*d5c09012SAndroid Build Coastguard Worker  // Required. The resource on which IAM policy to be removed is attached to.
629*d5c09012SAndroid Build Coastguard Worker  string resource = 1 [(google.api.field_behavior) = REQUIRED];
630*d5c09012SAndroid Build Coastguard Worker}
631*d5c09012SAndroid Build Coastguard Worker
632*d5c09012SAndroid Build Coastguard Worker// Response message for RemoveIamPolicy method.
633*d5c09012SAndroid Build Coastguard Workermessage RemoveIamPolicyResponse {
634*d5c09012SAndroid Build Coastguard Worker
635*d5c09012SAndroid Build Coastguard Worker}
636*d5c09012SAndroid Build Coastguard Worker
637*d5c09012SAndroid Build Coastguard Worker// List namespaces request.
638*d5c09012SAndroid Build Coastguard Workermessage ListNamespacesRequest {
639*d5c09012SAndroid Build Coastguard Worker  // Required. The instance to list its namespaces.
640*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
641*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
642*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
643*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
644*d5c09012SAndroid Build Coastguard Worker    }
645*d5c09012SAndroid Build Coastguard Worker  ];
646*d5c09012SAndroid Build Coastguard Worker
647*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
648*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
649*d5c09012SAndroid Build Coastguard Worker
650*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
651*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
652*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
653*d5c09012SAndroid Build Coastguard Worker
654*d5c09012SAndroid Build Coastguard Worker  // By default, only basic information about a namespace is returned
655*d5c09012SAndroid Build Coastguard Worker  // (e.g. name). When `NAMESPACE_VIEW_FULL` is specified, additional
656*d5c09012SAndroid Build Coastguard Worker  // information associated with a namespace gets returned
657*d5c09012SAndroid Build Coastguard Worker  // (e.g. IAM policy set on the namespace)
658*d5c09012SAndroid Build Coastguard Worker  NamespaceView view = 4;
659*d5c09012SAndroid Build Coastguard Worker}
660*d5c09012SAndroid Build Coastguard Worker
661*d5c09012SAndroid Build Coastguard Worker// IAMPolicy encapsulates the IAM policy name, definition and status of
662*d5c09012SAndroid Build Coastguard Worker// policy fetching.
663*d5c09012SAndroid Build Coastguard Workermessage IAMPolicy {
664*d5c09012SAndroid Build Coastguard Worker  // Policy definition if IAM policy fetching is successful,
665*d5c09012SAndroid Build Coastguard Worker  // otherwise empty.
666*d5c09012SAndroid Build Coastguard Worker  google.iam.v1.Policy policy = 1;
667*d5c09012SAndroid Build Coastguard Worker
668*d5c09012SAndroid Build Coastguard Worker  // Status of iam policy fetching.
669*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status status = 2;
670*d5c09012SAndroid Build Coastguard Worker}
671*d5c09012SAndroid Build Coastguard Worker
672*d5c09012SAndroid Build Coastguard Worker// Represents the information of a namespace
673*d5c09012SAndroid Build Coastguard Workermessage Namespace {
674*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
675*d5c09012SAndroid Build Coastguard Worker    type: "datafusion.googleapis.com/Namespace"
676*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/instances/{instance}/namespaces/{namespace}"
677*d5c09012SAndroid Build Coastguard Worker  };
678*d5c09012SAndroid Build Coastguard Worker
679*d5c09012SAndroid Build Coastguard Worker  // Name of the given namespace.
680*d5c09012SAndroid Build Coastguard Worker  string name = 1;
681*d5c09012SAndroid Build Coastguard Worker
682*d5c09012SAndroid Build Coastguard Worker  // IAM policy associated with this namespace.
683*d5c09012SAndroid Build Coastguard Worker  IAMPolicy iam_policy = 2;
684*d5c09012SAndroid Build Coastguard Worker}
685*d5c09012SAndroid Build Coastguard Worker
686*d5c09012SAndroid Build Coastguard Worker// List namespaces response.
687*d5c09012SAndroid Build Coastguard Workermessage ListNamespacesResponse {
688*d5c09012SAndroid Build Coastguard Worker  // List of namespaces
689*d5c09012SAndroid Build Coastguard Worker  repeated Namespace namespaces = 1;
690*d5c09012SAndroid Build Coastguard Worker
691*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results or empty if there are no more
692*d5c09012SAndroid Build Coastguard Worker  // results in the list.
693*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
694*d5c09012SAndroid Build Coastguard Worker}
695*d5c09012SAndroid Build Coastguard Worker
696*d5c09012SAndroid Build Coastguard Worker// DNS peering configuration. These configurations are used to create
697*d5c09012SAndroid Build Coastguard Worker// DNS peering with the customer Cloud DNS.
698*d5c09012SAndroid Build Coastguard Workermessage DnsPeering {
699*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the zone.
700*d5c09012SAndroid Build Coastguard Worker  string zone = 1 [(google.api.field_behavior) = REQUIRED];
701*d5c09012SAndroid Build Coastguard Worker
702*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the dns.
703*d5c09012SAndroid Build Coastguard Worker  string domain = 2 [(google.api.field_behavior) = REQUIRED];
704*d5c09012SAndroid Build Coastguard Worker
705*d5c09012SAndroid Build Coastguard Worker  // Optional. Optional description of the dns zone.
706*d5c09012SAndroid Build Coastguard Worker  string description = 3 [(google.api.field_behavior) = OPTIONAL];
707*d5c09012SAndroid Build Coastguard Worker
708*d5c09012SAndroid Build Coastguard Worker  // Optional. Optional target project to which dns peering should happen.
709*d5c09012SAndroid Build Coastguard Worker  string target_project = 4 [(google.api.field_behavior) = OPTIONAL];
710*d5c09012SAndroid Build Coastguard Worker
711*d5c09012SAndroid Build Coastguard Worker  // Optional. Optional target network to which dns peering should happen.
712*d5c09012SAndroid Build Coastguard Worker  string target_network = 5 [(google.api.field_behavior) = OPTIONAL];
713*d5c09012SAndroid Build Coastguard Worker}
714*d5c09012SAndroid Build Coastguard Worker
715*d5c09012SAndroid Build Coastguard Worker// Request message to create dns peering.
716*d5c09012SAndroid Build Coastguard Workermessage AddDnsPeeringRequest {
717*d5c09012SAndroid Build Coastguard Worker  // Required. The resource on which DNS peering will be created.
718*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
719*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
720*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
721*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
722*d5c09012SAndroid Build Coastguard Worker    }
723*d5c09012SAndroid Build Coastguard Worker  ];
724*d5c09012SAndroid Build Coastguard Worker
725*d5c09012SAndroid Build Coastguard Worker  // Dns peering config.
726*d5c09012SAndroid Build Coastguard Worker  DnsPeering dns_peering = 2;
727*d5c09012SAndroid Build Coastguard Worker}
728*d5c09012SAndroid Build Coastguard Worker
729*d5c09012SAndroid Build Coastguard Worker// Response message for set dns peering method.
730*d5c09012SAndroid Build Coastguard Workermessage AddDnsPeeringResponse {
731*d5c09012SAndroid Build Coastguard Worker
732*d5c09012SAndroid Build Coastguard Worker}
733*d5c09012SAndroid Build Coastguard Worker
734*d5c09012SAndroid Build Coastguard Worker// A view for Namespace
735*d5c09012SAndroid Build Coastguard Workerenum NamespaceView {
736*d5c09012SAndroid Build Coastguard Worker  // Default/unset value, which will use BASIC view.
737*d5c09012SAndroid Build Coastguard Worker  NAMESPACE_VIEW_UNSPECIFIED = 0;
738*d5c09012SAndroid Build Coastguard Worker
739*d5c09012SAndroid Build Coastguard Worker  // Show the most basic metadata of a namespace
740*d5c09012SAndroid Build Coastguard Worker  NAMESPACE_VIEW_BASIC = 1;
741*d5c09012SAndroid Build Coastguard Worker
742*d5c09012SAndroid Build Coastguard Worker  // Returns all metadata of a namespace
743*d5c09012SAndroid Build Coastguard Worker  NAMESPACE_VIEW_FULL = 2;
744*d5c09012SAndroid Build Coastguard Worker}
745*d5c09012SAndroid Build Coastguard Worker
746*d5c09012SAndroid Build Coastguard Worker// Request message to remove dns peering.
747*d5c09012SAndroid Build Coastguard Workermessage RemoveDnsPeeringRequest {
748*d5c09012SAndroid Build Coastguard Worker  // Required. The resource on which DNS peering will be removed.
749*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
750*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
751*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
752*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
753*d5c09012SAndroid Build Coastguard Worker    }
754*d5c09012SAndroid Build Coastguard Worker  ];
755*d5c09012SAndroid Build Coastguard Worker
756*d5c09012SAndroid Build Coastguard Worker  // Required. The zone to be removed.
757*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [(google.api.field_behavior) = REQUIRED];
758*d5c09012SAndroid Build Coastguard Worker}
759*d5c09012SAndroid Build Coastguard Worker
760*d5c09012SAndroid Build Coastguard Worker// Response message for set dns peering method.
761*d5c09012SAndroid Build Coastguard Workermessage RemoveDnsPeeringResponse {
762*d5c09012SAndroid Build Coastguard Worker
763*d5c09012SAndroid Build Coastguard Worker}
764*d5c09012SAndroid Build Coastguard Worker
765*d5c09012SAndroid Build Coastguard Worker// List dns peering request.
766*d5c09012SAndroid Build Coastguard Workermessage ListDnsPeeringsRequest {
767*d5c09012SAndroid Build Coastguard Worker  // Required. The resource on which dns peering will be listed.
768*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
769*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
770*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
771*d5c09012SAndroid Build Coastguard Worker      type: "datafusion.googleapis.com/Instance"
772*d5c09012SAndroid Build Coastguard Worker    }
773*d5c09012SAndroid Build Coastguard Worker  ];
774*d5c09012SAndroid Build Coastguard Worker
775*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
776*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
777*d5c09012SAndroid Build Coastguard Worker
778*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
779*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
780*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
781*d5c09012SAndroid Build Coastguard Worker}
782*d5c09012SAndroid Build Coastguard Worker
783*d5c09012SAndroid Build Coastguard Worker// List dns peering response.
784*d5c09012SAndroid Build Coastguard Workermessage ListDnsPeeringsResponse {
785*d5c09012SAndroid Build Coastguard Worker  // List of dns peering configs.
786*d5c09012SAndroid Build Coastguard Worker  repeated DnsPeering dns_peerings = 1;
787*d5c09012SAndroid Build Coastguard Worker
788*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results or empty if there are no more
789*d5c09012SAndroid Build Coastguard Worker  // results in the list.
790*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
791*d5c09012SAndroid Build Coastguard Worker}
792