datastream.proto 34 KB

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