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