xref: /aosp_15_r20/external/googleapis/google/cloud/datastream/v1alpha1/datastream.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.datastream.v1alpha1;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/api/field_behavior.proto";
22import "google/api/resource.proto";
23import "google/cloud/datastream/v1alpha1/datastream_resources.proto";
24import "google/longrunning/operations.proto";
25import "google/protobuf/field_mask.proto";
26import "google/protobuf/timestamp.proto";
27
28option csharp_namespace = "Google.Cloud.Datastream.V1Alpha1";
29option go_package = "cloud.google.com/go/datastream/apiv1alpha1/datastreampb;datastreampb";
30option java_multiple_files = true;
31option java_outer_classname = "CloudDatastreamServiceProto";
32option java_package = "com.google.cloud.datastream.v1alpha1";
33option php_namespace = "Google\\Cloud\\Datastream\\V1alpha1";
34option ruby_package = "Google::Cloud::Datastream::V1alpha1";
35
36// Datastream service
37service Datastream {
38  option (google.api.default_host) = "datastream.googleapis.com";
39  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
40
41  // Use this method to list connection profiles created in a project and
42  // location.
43  rpc ListConnectionProfiles(ListConnectionProfilesRequest) returns (ListConnectionProfilesResponse) {
44    option (google.api.http) = {
45      get: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles"
46    };
47    option (google.api.method_signature) = "parent";
48  }
49
50  // Use this method to get details about a connection profile.
51  rpc GetConnectionProfile(GetConnectionProfileRequest) returns (ConnectionProfile) {
52    option (google.api.http) = {
53      get: "/v1alpha1/{name=projects/*/locations/*/connectionProfiles/*}"
54    };
55    option (google.api.method_signature) = "name";
56  }
57
58  // Use this method to create a connection profile in a project and location.
59  rpc CreateConnectionProfile(CreateConnectionProfileRequest) returns (google.longrunning.Operation) {
60    option (google.api.http) = {
61      post: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles"
62      body: "connection_profile"
63    };
64    option (google.api.method_signature) = "parent,connection_profile,connection_profile_id";
65    option (google.longrunning.operation_info) = {
66      response_type: "ConnectionProfile"
67      metadata_type: "OperationMetadata"
68    };
69  }
70
71  // Use this method to update the parameters of a connection profile.
72  rpc UpdateConnectionProfile(UpdateConnectionProfileRequest) returns (google.longrunning.Operation) {
73    option (google.api.http) = {
74      patch: "/v1alpha1/{connection_profile.name=projects/*/locations/*/connectionProfiles/*}"
75      body: "connection_profile"
76    };
77    option (google.api.method_signature) = "connection_profile,update_mask";
78    option (google.longrunning.operation_info) = {
79      response_type: "ConnectionProfile"
80      metadata_type: "OperationMetadata"
81    };
82  }
83
84  // Use this method to delete a connection profile..
85  rpc DeleteConnectionProfile(DeleteConnectionProfileRequest) returns (google.longrunning.Operation) {
86    option (google.api.http) = {
87      delete: "/v1alpha1/{name=projects/*/locations/*/connectionProfiles/*}"
88    };
89    option (google.api.method_signature) = "name";
90    option (google.longrunning.operation_info) = {
91      response_type: "google.protobuf.Empty"
92      metadata_type: "OperationMetadata"
93    };
94  }
95
96  // Use this method to discover a connection profile.
97  // The discover API call exposes the data objects and metadata belonging to
98  // the profile. Typically, a request returns children data objects under a
99  // parent data object that's optionally supplied in the request.
100  rpc DiscoverConnectionProfile(DiscoverConnectionProfileRequest) returns (DiscoverConnectionProfileResponse) {
101    option (google.api.http) = {
102      post: "/v1alpha1/{parent=projects/*/locations/*}/connectionProfiles:discover"
103      body: "*"
104    };
105  }
106
107  // Use this method to list streams in a project and location.
108  rpc ListStreams(ListStreamsRequest) returns (ListStreamsResponse) {
109    option (google.api.http) = {
110      get: "/v1alpha1/{parent=projects/*/locations/*}/streams"
111    };
112    option (google.api.method_signature) = "parent";
113  }
114
115  // Use this method to get details about a stream.
116  rpc GetStream(GetStreamRequest) returns (Stream) {
117    option (google.api.http) = {
118      get: "/v1alpha1/{name=projects/*/locations/*/streams/*}"
119    };
120    option (google.api.method_signature) = "name";
121  }
122
123  // Use this method to create a stream.
124  rpc CreateStream(CreateStreamRequest) returns (google.longrunning.Operation) {
125    option (google.api.http) = {
126      post: "/v1alpha1/{parent=projects/*/locations/*}/streams"
127      body: "stream"
128    };
129    option (google.api.method_signature) = "parent,stream,stream_id";
130    option (google.longrunning.operation_info) = {
131      response_type: "Stream"
132      metadata_type: "OperationMetadata"
133    };
134  }
135
136  // Use this method to update the configuration of a stream.
137  rpc UpdateStream(UpdateStreamRequest) returns (google.longrunning.Operation) {
138    option (google.api.http) = {
139      patch: "/v1alpha1/{stream.name=projects/*/locations/*/streams/*}"
140      body: "stream"
141    };
142    option (google.api.method_signature) = "stream,update_mask";
143    option (google.longrunning.operation_info) = {
144      response_type: "Stream"
145      metadata_type: "OperationMetadata"
146    };
147  }
148
149  // Use this method to delete a stream.
150  rpc DeleteStream(DeleteStreamRequest) returns (google.longrunning.Operation) {
151    option (google.api.http) = {
152      delete: "/v1alpha1/{name=projects/*/locations/*/streams/*}"
153    };
154    option (google.api.method_signature) = "name";
155    option (google.longrunning.operation_info) = {
156      response_type: "google.protobuf.Empty"
157      metadata_type: "OperationMetadata"
158    };
159  }
160
161  // Use this method to fetch any errors associated with a stream.
162  rpc FetchErrors(FetchErrorsRequest) returns (google.longrunning.Operation) {
163    option (google.api.http) = {
164      post: "/v1alpha1/{stream=projects/*/locations/*/streams/*}:fetchErrors"
165      body: "*"
166    };
167    option (google.longrunning.operation_info) = {
168      response_type: "FetchErrorsResponse"
169      metadata_type: "OperationMetadata"
170    };
171  }
172
173  // The FetchStaticIps API call exposes the static ips used by Datastream.
174  // Typically, a request returns children data objects under
175  // a parent data object that's optionally supplied in the request.
176  rpc FetchStaticIps(FetchStaticIpsRequest) returns (FetchStaticIpsResponse) {
177    option (google.api.http) = {
178      get: "/v1alpha1/{name=projects/*/locations/*}:fetchStaticIps"
179    };
180    option (google.api.method_signature) = "name";
181  }
182
183  // Use this method to create a private connectivity configuration.
184  rpc CreatePrivateConnection(CreatePrivateConnectionRequest) returns (google.longrunning.Operation) {
185    option (google.api.http) = {
186      post: "/v1alpha1/{parent=projects/*/locations/*}/privateConnections"
187      body: "private_connection"
188    };
189    option (google.api.method_signature) = "parent,private_connection,private_connection_id";
190    option (google.longrunning.operation_info) = {
191      response_type: "PrivateConnection"
192      metadata_type: "OperationMetadata"
193    };
194  }
195
196  // Use this method to get details about a private connectivity configuration.
197  rpc GetPrivateConnection(GetPrivateConnectionRequest) returns (PrivateConnection) {
198    option (google.api.http) = {
199      get: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*}"
200    };
201    option (google.api.method_signature) = "name";
202  }
203
204  // Use this method to list private connectivity configurations in a project
205  // and location.
206  rpc ListPrivateConnections(ListPrivateConnectionsRequest) returns (ListPrivateConnectionsResponse) {
207    option (google.api.http) = {
208      get: "/v1alpha1/{parent=projects/*/locations/*}/privateConnections"
209    };
210    option (google.api.method_signature) = "parent";
211  }
212
213  // Use this method to delete a private connectivity configuration.
214  rpc DeletePrivateConnection(DeletePrivateConnectionRequest) returns (google.longrunning.Operation) {
215    option (google.api.http) = {
216      delete: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*}"
217    };
218    option (google.api.method_signature) = "name";
219    option (google.longrunning.operation_info) = {
220      response_type: "google.protobuf.Empty"
221      metadata_type: "OperationMetadata"
222    };
223  }
224
225  // Use this method to create a route for a private connectivity in a project
226  // and location.
227  rpc CreateRoute(CreateRouteRequest) returns (google.longrunning.Operation) {
228    option (google.api.http) = {
229      post: "/v1alpha1/{parent=projects/*/locations/*/privateConnections/*}/routes"
230      body: "route"
231    };
232    option (google.api.method_signature) = "parent,route,route_id";
233    option (google.longrunning.operation_info) = {
234      response_type: "Route"
235      metadata_type: "OperationMetadata"
236    };
237  }
238
239  // Use this method to get details about a route.
240  rpc GetRoute(GetRouteRequest) returns (Route) {
241    option (google.api.http) = {
242      get: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*/routes/*}"
243    };
244    option (google.api.method_signature) = "name";
245  }
246
247  // Use this method to list routes created for a private connectivity in a
248  // project and location.
249  rpc ListRoutes(ListRoutesRequest) returns (ListRoutesResponse) {
250    option (google.api.http) = {
251      get: "/v1alpha1/{parent=projects/*/locations/*/privateConnections/*}/routes"
252    };
253    option (google.api.method_signature) = "parent";
254  }
255
256  // Use this method to delete a route.
257  rpc DeleteRoute(DeleteRouteRequest) returns (google.longrunning.Operation) {
258    option (google.api.http) = {
259      delete: "/v1alpha1/{name=projects/*/locations/*/privateConnections/*/routes/*}"
260    };
261    option (google.api.method_signature) = "name";
262    option (google.longrunning.operation_info) = {
263      response_type: "google.protobuf.Empty"
264      metadata_type: "OperationMetadata"
265    };
266  }
267}
268
269// Request message for 'discover' ConnectionProfile request.
270message DiscoverConnectionProfileRequest {
271  // Required. The parent resource of the ConnectionProfile type. Must be in the
272  // format `projects/*/locations/*`.
273  string parent = 1 [
274    (google.api.field_behavior) = REQUIRED,
275    (google.api.resource_reference) = {
276      child_type: "datastream.googleapis.com/ConnectionProfile"
277    }
278  ];
279
280  // The connection profile on which to run discover.
281  oneof target {
282    // An ad-hoc ConnectionProfile configuration.
283    ConnectionProfile connection_profile = 200;
284
285    // A reference to an existing ConnectionProfile.
286    string connection_profile_name = 201;
287  }
288
289  oneof depth {
290    // Whether to retrieve the full hierarchy of data objects (TRUE) or only the
291    // current level (FALSE).
292    bool recursive = 3;
293
294    // The number of hierarchy levels below the current level to be retrieved.
295    int32 recursion_depth = 4;
296  }
297
298  // The data object to enrich with child data objects and metadata.
299  oneof data_object {
300    // Oracle RDBMS to enrich with child data objects and metadata.
301    OracleRdbms oracle_rdbms = 100;
302
303    // MySQL RDBMS to enrich with child data objects and metadata.
304    MysqlRdbms mysql_rdbms = 101;
305  }
306}
307
308message DiscoverConnectionProfileResponse {
309  // The data object that has been enriched by the discover API call.
310  oneof data_object {
311    // Enriched Oracle RDBMS object.
312    OracleRdbms oracle_rdbms = 100;
313
314    // Enriched MySQL RDBMS object.
315    MysqlRdbms mysql_rdbms = 101;
316  }
317}
318
319// Request message for 'FetchStaticIps' request.
320message FetchStaticIpsRequest {
321  // Required. The name resource of the Response type. Must be in the
322  // format `projects/*/locations/*`.
323  string name = 1 [
324    (google.api.field_behavior) = REQUIRED,
325    (google.api.resource_reference) = {
326      type: "locations.googleapis.com/Location"
327    }
328  ];
329
330  // Maximum number of Ips to return, will likely not be specified.
331  int32 page_size = 2;
332
333  // A page token, received from a previous `ListStaticIps` call.
334  // will likely not be specified.
335  string page_token = 3;
336}
337
338// Response message for a 'FetchStaticIps' response.
339message FetchStaticIpsResponse {
340  // list of static ips by account
341  repeated string static_ips = 1;
342
343  // A token that can be sent as `page_token` to retrieve the next page.
344  // If this field is omitted, there are no subsequent pages.
345  string next_page_token = 2;
346}
347
348// Request message for 'FetchErrors' request.
349message FetchErrorsRequest {
350  // Name of the Stream resource for which to fetch any errors.
351  string stream = 1 [(google.api.resource_reference) = {
352                       type: "datastream.googleapis.com/Stream"
353                     }];
354}
355
356// Response message for a 'FetchErrors' response.
357message FetchErrorsResponse {
358  // The list of errors on the Stream.
359  repeated Error errors = 1;
360}
361
362message ListConnectionProfilesRequest {
363  // Required. The parent that owns the collection of connection profiles.
364  string parent = 1 [
365    (google.api.field_behavior) = REQUIRED,
366    (google.api.resource_reference) = {
367      child_type: "datastream.googleapis.com/ConnectionProfile"
368    }
369  ];
370
371  // Maximum number of connection profiles to return.
372  // If unspecified, at most 50 connection profiles will be returned.
373  // The maximum value is 1000; values above 1000 will be coerced to 1000.
374  int32 page_size = 2;
375
376  // Page token received from a previous `ListConnectionProfiles` call.
377  // Provide this to retrieve the subsequent page.
378  //
379  // When paginating, all other parameters provided to `ListConnectionProfiles`
380  // must match the call that provided the page token.
381  string page_token = 3;
382
383  // Filter request.
384  string filter = 4;
385
386  // Order by fields for the result.
387  string order_by = 5;
388}
389
390message ListConnectionProfilesResponse {
391  // List of connection profiles.
392  repeated ConnectionProfile connection_profiles = 1;
393
394  // A token, which can be sent as `page_token` to retrieve the next page.
395  // If this field is omitted, there are no subsequent pages.
396  string next_page_token = 2;
397
398  // Locations that could not be reached.
399  repeated string unreachable = 3;
400}
401
402message GetConnectionProfileRequest {
403  // Required. The name of the connection profile resource to get.
404  string name = 1 [
405    (google.api.field_behavior) = REQUIRED,
406    (google.api.resource_reference) = {
407      type: "datastream.googleapis.com/ConnectionProfile"
408    }
409  ];
410}
411
412message CreateConnectionProfileRequest {
413  // Required. The parent that owns the collection of ConnectionProfiles.
414  string parent = 1 [
415    (google.api.field_behavior) = REQUIRED,
416    (google.api.resource_reference) = {
417      child_type: "datastream.googleapis.com/ConnectionProfile"
418    }
419  ];
420
421  // Required. The connection profile identifier.
422  string connection_profile_id = 2 [(google.api.field_behavior) = REQUIRED];
423
424  // Required. The connection profile resource to create.
425  ConnectionProfile connection_profile = 3 [(google.api.field_behavior) = REQUIRED];
426
427  // Optional. A request ID to identify requests. Specify a unique request ID
428  // so that if you must retry your request, the server will know to ignore
429  // the request if it has already been completed. The server will guarantee
430  // that for at least 60 minutes since the first request.
431  //
432  // For example, consider a situation where you make an initial request and the
433  // request times out. If you make the request again with the same request ID,
434  // the server can check if original operation with the same request ID was
435  // received, and if so, will ignore the second request. This prevents clients
436  // from accidentally creating duplicate commitments.
437  //
438  // The request ID must be a valid UUID with the exception that zero UUID is
439  // not supported (00000000-0000-0000-0000-000000000000).
440  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
441}
442
443message UpdateConnectionProfileRequest {
444  // Optional. Field mask is used to specify the fields to be overwritten in the
445  // ConnectionProfile resource by the update.
446  // The fields specified in the update_mask are relative to the resource, not
447  // the full request. A field will be overwritten if it is in the mask. If the
448  // user does not provide a mask then all fields will be overwritten.
449  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
450
451  // Required. The ConnectionProfile to update.
452  ConnectionProfile connection_profile = 2 [(google.api.field_behavior) = REQUIRED];
453
454  // Optional. A request ID to identify requests. Specify a unique request ID
455  // so that if you must retry your request, the server will know to ignore
456  // the request if it has already been completed. The server will guarantee
457  // that for at least 60 minutes since the first request.
458  //
459  // For example, consider a situation where you make an initial request and the
460  // request times out. If you make the request again with the same request ID,
461  // the server can check if original operation with the same request ID was
462  // received, and if so, will ignore the second request. This prevents clients
463  // from accidentally creating duplicate commitments.
464  //
465  // The request ID must be a valid UUID with the exception that zero UUID is
466  // not supported (00000000-0000-0000-0000-000000000000).
467  string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
468}
469
470message DeleteConnectionProfileRequest {
471  // Required. The name of the connection profile resource to delete.
472  string name = 1 [
473    (google.api.field_behavior) = REQUIRED,
474    (google.api.resource_reference) = {
475      type: "datastream.googleapis.com/ConnectionProfile"
476    }
477  ];
478
479  // Optional. A request ID to identify requests. Specify a unique request ID
480  // so that if you must retry your request, the server will know to ignore
481  // the request if it has already been completed. The server will guarantee
482  // that for at least 60 minutes after the first request.
483  //
484  // For example, consider a situation where you make an initial request and the
485  // request times out. If you make the request again with the same request ID,
486  // the server can check if original operation with the same request ID was
487  // received, and if so, will ignore the second request. This prevents clients
488  // from accidentally creating duplicate commitments.
489  //
490  // The request ID must be a valid UUID with the exception that zero UUID is
491  // not supported (00000000-0000-0000-0000-000000000000).
492  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
493}
494
495message ListStreamsRequest {
496  // Required. The parent that owns the collection of streams.
497  string parent = 1 [
498    (google.api.field_behavior) = REQUIRED,
499    (google.api.resource_reference) = {
500      child_type: "datastream.googleapis.com/Stream"
501    }
502  ];
503
504  // Maximum number of streams to return.
505  // If unspecified, at most 50 streams will  be returned. The maximum
506  // value is 1000; values above 1000 will be coerced to 1000.
507  int32 page_size = 2;
508
509  // Page token received from a previous `ListStreams` call.
510  // Provide this to retrieve the subsequent page.
511  //
512  // When paginating, all other parameters provided to `ListStreams`
513  // must match the call that provided the page token.
514  string page_token = 3;
515
516  // Filter request.
517  string filter = 4;
518
519  // Order by fields for the result.
520  string order_by = 5;
521}
522
523message ListStreamsResponse {
524  // List of streams
525  repeated Stream streams = 1;
526
527  // A token, which can be sent as `page_token` to retrieve the next page.
528  // If this field is omitted, there are no subsequent pages.
529  string next_page_token = 2;
530
531  // Locations that could not be reached.
532  repeated string unreachable = 3;
533}
534
535message GetStreamRequest {
536  // Required. The name of the stream resource to get.
537  string name = 1 [
538    (google.api.field_behavior) = REQUIRED,
539    (google.api.resource_reference) = {
540      type: "datastream.googleapis.com/Stream"
541    }
542  ];
543}
544
545message CreateStreamRequest {
546  // Required. The parent that owns the collection of streams.
547  string parent = 1 [
548    (google.api.field_behavior) = REQUIRED,
549    (google.api.resource_reference) = {
550      child_type: "datastream.googleapis.com/Stream"
551    }
552  ];
553
554  // Required. The stream identifier.
555  string stream_id = 2 [(google.api.field_behavior) = REQUIRED];
556
557  // Required. The stream resource to create.
558  Stream stream = 3 [(google.api.field_behavior) = REQUIRED];
559
560  // Optional. A request ID to identify requests. Specify a unique request ID
561  // so that if you must retry your request, the server will know to ignore
562  // the request if it has already been completed. The server will guarantee
563  // that for at least 60 minutes since the first request.
564  //
565  // For example, consider a situation where you make an initial request and the
566  // request times out. If you make the request again with the same request ID,
567  // the server can check if original operation with the same request ID was
568  // received, and if so, will ignore the second request. This prevents clients
569  // from accidentally creating duplicate commitments.
570  //
571  // The request ID must be a valid UUID with the exception that zero UUID is
572  // not supported (00000000-0000-0000-0000-000000000000).
573  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
574
575  // Optional. Only validate the stream, but do not create any resources.
576  // The default is false.
577  bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
578
579  // Optional. Create the stream without validating it.
580  bool force = 6 [(google.api.field_behavior) = OPTIONAL];
581}
582
583message UpdateStreamRequest {
584  // Optional. Field mask is used to specify the fields to be overwritten in the
585  // stream resource by the update.
586  // The fields specified in the update_mask are relative to the resource, not
587  // the full request. A field will be overwritten if it is in the mask. If the
588  // user does not provide a mask then all fields will be overwritten.
589  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
590
591  // Required. The stream resource to update.
592  Stream stream = 2 [(google.api.field_behavior) = REQUIRED];
593
594  // Optional. A request ID to identify requests. Specify a unique request ID
595  // so that if you must retry your request, the server will know to ignore
596  // the request if it has already been completed. The server will guarantee
597  // that for at least 60 minutes since the first request.
598  //
599  // For example, consider a situation where you make an initial request and the
600  // request times out. If you make the request again with the same request ID,
601  // the server can check if original operation with the same request ID was
602  // received, and if so, will ignore the second request. This prevents clients
603  // from accidentally creating duplicate commitments.
604  //
605  // The request ID must be a valid UUID with the exception that zero UUID is
606  // not supported (00000000-0000-0000-0000-000000000000).
607  string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
608
609  // Optional. Only validate the stream with the changes, without actually updating it.
610  // The default is false.
611  bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
612
613  // Optional. Execute the update without validating it.
614  bool force = 5 [(google.api.field_behavior) = OPTIONAL];
615}
616
617message DeleteStreamRequest {
618  // Required. The name of the stream resource to delete.
619  string name = 1 [
620    (google.api.field_behavior) = REQUIRED,
621    (google.api.resource_reference) = {
622      type: "datastream.googleapis.com/Stream"
623    }
624  ];
625
626  // Optional. A request ID to identify requests. Specify a unique request ID
627  // so that if you must retry your request, the server will know to ignore
628  // the request if it has already been completed. The server will guarantee
629  // that for at least 60 minutes after the first request.
630  //
631  // For example, consider a situation where you make an initial request and the
632  // request times out. If you make the request again with the same request ID,
633  // the server can check if original operation with the same request ID was
634  // received, and if so, will ignore the second request. This prevents clients
635  // from accidentally creating duplicate commitments.
636  //
637  // The request ID must be a valid UUID with the exception that zero UUID is
638  // not supported (00000000-0000-0000-0000-000000000000).
639  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
640}
641
642// Represents the metadata of the long-running operation.
643message OperationMetadata {
644  // Output only. The time the operation was created.
645  google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
646
647  // Output only. The time the operation finished running.
648  google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
649
650  // Output only. Server-defined resource path for the target of the operation.
651  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
652
653  // Output only. Name of the verb executed by the operation.
654  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
655
656  // Output only. Human-readable status of the operation, if any.
657  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
658
659  // Output only. Identifies whether the user has requested cancellation
660  // of the operation. Operations that have successfully been cancelled
661  // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
662  // corresponding to `Code.CANCELLED`.
663  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
664
665  // Output only. API version used to start the operation.
666  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
667
668  // Output only. Results of executed validations if there are any.
669  ValidationResult validation_result = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
670}
671
672message CreatePrivateConnectionRequest {
673  // Required. The parent that owns the collection of PrivateConnections.
674  string parent = 1 [
675    (google.api.field_behavior) = REQUIRED,
676    (google.api.resource_reference) = {
677      child_type: "datastream.googleapis.com/PrivateConnection"
678    }
679  ];
680
681  // Required. The private connectivity identifier.
682  string private_connection_id = 2 [(google.api.field_behavior) = REQUIRED];
683
684  // Required. The Private Connectivity resource to create.
685  PrivateConnection private_connection = 3 [(google.api.field_behavior) = REQUIRED];
686
687  // Optional. A request ID to identify requests. Specify a unique request ID
688  // so that if you must retry your request, the server will know to ignore
689  // the request if it has already been completed. The server will guarantee
690  // that for at least 60 minutes since the first request.
691  //
692  // For example, consider a situation where you make an initial request and the
693  // request times out. If you make the request again with the same request ID,
694  // the server can check if original operation with the same request ID was
695  // received, and if so, will ignore the second request. This prevents clients
696  // from accidentally creating duplicate commitments.
697  //
698  // The request ID must be a valid UUID with the exception that zero UUID is
699  // not supported (00000000-0000-0000-0000-000000000000).
700  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
701}
702
703message ListPrivateConnectionsRequest {
704  // Required. The parent that owns the collection of private connectivity configurations.
705  string parent = 1 [
706    (google.api.field_behavior) = REQUIRED,
707    (google.api.resource_reference) = {
708      child_type: "datastream.googleapis.com/PrivateConnection"
709    }
710  ];
711
712  // Maximum number of private connectivity configurations to return.
713  // If unspecified, at most 50 private connectivity configurations that will be
714  // returned. The maximum value is 1000; values above 1000 will be coerced to
715  // 1000.
716  int32 page_size = 2;
717
718  // Page token received from a previous `ListPrivateConnections` call.
719  // Provide this to retrieve the subsequent page.
720  //
721  // When paginating, all other parameters provided to
722  // `ListPrivateConnections` must match the call that provided the page
723  // token.
724  string page_token = 3;
725
726  // Filter request.
727  string filter = 4;
728
729  // Order by fields for the result.
730  string order_by = 5;
731}
732
733message ListPrivateConnectionsResponse {
734  // List of private connectivity configurations.
735  repeated PrivateConnection private_connections = 1;
736
737  // A token, which can be sent as `page_token` to retrieve the next page.
738  // If this field is omitted, there are no subsequent pages.
739  string next_page_token = 2;
740
741  // Locations that could not be reached.
742  repeated string unreachable = 3;
743}
744
745message DeletePrivateConnectionRequest {
746  // Required. The name of the private connectivity configuration to delete.
747  string name = 1 [
748    (google.api.field_behavior) = REQUIRED,
749    (google.api.resource_reference) = {
750      type: "datastream.googleapis.com/PrivateConnection"
751    }
752  ];
753
754  // Optional. A request ID to identify requests. Specify a unique request ID
755  // so that if you must retry your request, the server will know to ignore
756  // the request if it has already been completed. The server will guarantee
757  // that for at least 60 minutes after the first request.
758  //
759  // For example, consider a situation where you make an initial request and the
760  // request times out. If you make the request again with the same request ID,
761  // the server can check if original operation with the same request ID was
762  // received, and if so, will ignore the second request. This prevents clients
763  // from accidentally creating duplicate commitments.
764  //
765  // The request ID must be a valid UUID with the exception that zero UUID is
766  // not supported (00000000-0000-0000-0000-000000000000).
767  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
768
769  // Optional. If set to true, any child routes that belong to this PrivateConnection will
770  // also be deleted.
771  bool force = 3 [(google.api.field_behavior) = OPTIONAL];
772}
773
774message GetPrivateConnectionRequest {
775  // Required. The name of the  private connectivity configuration to get.
776  string name = 1 [
777    (google.api.field_behavior) = REQUIRED,
778    (google.api.resource_reference) = {
779      type: "datastream.googleapis.com/PrivateConnection"
780    }
781  ];
782}
783
784// route creation request
785message CreateRouteRequest {
786  // Required. The parent that owns the collection of Routes.
787  string parent = 1 [
788    (google.api.field_behavior) = REQUIRED,
789    (google.api.resource_reference) = {
790      child_type: "datastream.googleapis.com/Route"
791    }
792  ];
793
794  // Required. The Route identifier.
795  string route_id = 2 [(google.api.field_behavior) = REQUIRED];
796
797  // Required. The Route resource to create.
798  Route route = 3 [(google.api.field_behavior) = REQUIRED];
799
800  // Optional. A request ID to identify requests. Specify a unique request ID
801  // so that if you must retry your request, the server will know to ignore
802  // the request if it has already been completed. The server will guarantee
803  // that for at least 60 minutes since the first request.
804  //
805  // For example, consider a situation where you make an initial request and the
806  // request times out. If you make the request again with the same request ID,
807  // the server can check if original operation with the same request ID was
808  // received, and if so, will ignore the second request. This prevents clients
809  // from accidentally creating duplicate commitments.
810  //
811  // The request ID must be a valid UUID with the exception that zero UUID is
812  // not supported (00000000-0000-0000-0000-000000000000).
813  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
814}
815
816// route list request
817message ListRoutesRequest {
818  // Required. The parent that owns the collection of Routess.
819  string parent = 1 [
820    (google.api.field_behavior) = REQUIRED,
821    (google.api.resource_reference) = {
822      child_type: "datastream.googleapis.com/Route"
823    }
824  ];
825
826  // Maximum number of Routes to return. The service may return
827  // fewer than this value. If unspecified, at most 50 Routes
828  // will be returned. The maximum value is 1000; values above 1000 will be
829  // coerced to 1000.
830  int32 page_size = 2;
831
832  // Page token received from a previous `ListRoutes` call.
833  // Provide this to retrieve the subsequent page.
834  //
835  // When paginating, all other parameters provided to
836  // `ListRoutes` must match the call that provided the page
837  // token.
838  string page_token = 3;
839
840  // Filter request.
841  string filter = 4;
842
843  // Order by fields for the result.
844  string order_by = 5;
845}
846
847// route list response
848message ListRoutesResponse {
849  // List of Routes.
850  repeated Route routes = 1;
851
852  // A token, which can be sent as `page_token` to retrieve the next page.
853  // If this field is omitted, there are no subsequent pages.
854  string next_page_token = 2;
855
856  // Locations that could not be reached.
857  repeated string unreachable = 3;
858}
859
860// route deletion request
861message DeleteRouteRequest {
862  // Required. The name of the Route resource to delete.
863  string name = 1 [
864    (google.api.field_behavior) = REQUIRED,
865    (google.api.resource_reference) = {
866      type: "datastream.googleapis.com/Route"
867    }
868  ];
869
870  // Optional. A request ID to identify requests. Specify a unique request ID
871  // so that if you must retry your request, the server will know to ignore
872  // the request if it has already been completed. The server will guarantee
873  // that for at least 60 minutes after the first request.
874  //
875  // For example, consider a situation where you make an initial request and the
876  // request times out. If you make the request again with the same request ID,
877  // the server can check if original operation with the same request ID was
878  // received, and if so, will ignore the second request. This prevents clients
879  // from accidentally creating duplicate commitments.
880  //
881  // The request ID must be a valid UUID with the exception that zero UUID is
882  // not supported (00000000-0000-0000-0000-000000000000).
883  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
884}
885
886// route get request
887message GetRouteRequest {
888  // Required. The name of the Route resource to get.
889  string name = 1 [
890    (google.api.field_behavior) = REQUIRED,
891    (google.api.resource_reference) = {
892      type: "datastream.googleapis.com/Route"
893    }
894  ];
895}
896