datastream.proto 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042
  1. // Copyright 2022 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.v1;
  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/v1/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.V1";
  25. option go_package = "google.golang.org/genproto/googleapis/cloud/datastream/v1;datastream";
  26. option java_multiple_files = true;
  27. option java_outer_classname = "DatastreamProto";
  28. option java_package = "com.google.cloud.datastream.v1";
  29. option php_namespace = "Google\\Cloud\\Datastream\\V1";
  30. option ruby_package = "Google::Cloud::Datastream::V1";
  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: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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 of 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: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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 get details about a stream object.
  145. rpc GetStreamObject(GetStreamObjectRequest) returns (StreamObject) {
  146. option (google.api.http) = {
  147. get: "/v1/{name=projects/*/locations/*/streams/*/objects/*}"
  148. };
  149. option (google.api.method_signature) = "name";
  150. }
  151. // Use this method to look up a stream object by its source object identifier.
  152. rpc LookupStreamObject(LookupStreamObjectRequest) returns (StreamObject) {
  153. option (google.api.http) = {
  154. post: "/v1/{parent=projects/*/locations/*/streams/*}/objects:lookup"
  155. body: "*"
  156. };
  157. }
  158. // Use this method to list the objects of a specific stream.
  159. rpc ListStreamObjects(ListStreamObjectsRequest) returns (ListStreamObjectsResponse) {
  160. option (google.api.http) = {
  161. get: "/v1/{parent=projects/*/locations/*/streams/*}/objects"
  162. };
  163. option (google.api.method_signature) = "parent";
  164. }
  165. // Use this method to start a backfill job for the specified stream object.
  166. rpc StartBackfillJob(StartBackfillJobRequest) returns (StartBackfillJobResponse) {
  167. option (google.api.http) = {
  168. post: "/v1/{object=projects/*/locations/*/streams/*/objects/*}:startBackfillJob"
  169. body: "*"
  170. };
  171. option (google.api.method_signature) = "object";
  172. }
  173. // Use this method to stop a backfill job for the specified stream object.
  174. rpc StopBackfillJob(StopBackfillJobRequest) returns (StopBackfillJobResponse) {
  175. option (google.api.http) = {
  176. post: "/v1/{object=projects/*/locations/*/streams/*/objects/*}:stopBackfillJob"
  177. body: "*"
  178. };
  179. option (google.api.method_signature) = "object";
  180. }
  181. // The FetchStaticIps API call exposes the static IP addresses used by
  182. // Datastream.
  183. rpc FetchStaticIps(FetchStaticIpsRequest) returns (FetchStaticIpsResponse) {
  184. option (google.api.http) = {
  185. get: "/v1/{name=projects/*/locations/*}:fetchStaticIps"
  186. };
  187. option (google.api.method_signature) = "name";
  188. }
  189. // Use this method to create a private connectivity configuration.
  190. rpc CreatePrivateConnection(CreatePrivateConnectionRequest) returns (google.longrunning.Operation) {
  191. option (google.api.http) = {
  192. post: "/v1/{parent=projects/*/locations/*}/privateConnections"
  193. body: "private_connection"
  194. };
  195. option (google.api.method_signature) = "parent,private_connection,private_connection_id";
  196. option (google.longrunning.operation_info) = {
  197. response_type: "PrivateConnection"
  198. metadata_type: "OperationMetadata"
  199. };
  200. }
  201. // Use this method to get details about a private connectivity configuration.
  202. rpc GetPrivateConnection(GetPrivateConnectionRequest) returns (PrivateConnection) {
  203. option (google.api.http) = {
  204. get: "/v1/{name=projects/*/locations/*/privateConnections/*}"
  205. };
  206. option (google.api.method_signature) = "name";
  207. }
  208. // Use this method to list private connectivity configurations in a project
  209. // and location.
  210. rpc ListPrivateConnections(ListPrivateConnectionsRequest) returns (ListPrivateConnectionsResponse) {
  211. option (google.api.http) = {
  212. get: "/v1/{parent=projects/*/locations/*}/privateConnections"
  213. };
  214. option (google.api.method_signature) = "parent";
  215. }
  216. // Use this method to delete a private connectivity configuration.
  217. rpc DeletePrivateConnection(DeletePrivateConnectionRequest) returns (google.longrunning.Operation) {
  218. option (google.api.http) = {
  219. delete: "/v1/{name=projects/*/locations/*/privateConnections/*}"
  220. };
  221. option (google.api.method_signature) = "name";
  222. option (google.longrunning.operation_info) = {
  223. response_type: "google.protobuf.Empty"
  224. metadata_type: "OperationMetadata"
  225. };
  226. }
  227. // Use this method to create a route for a private connectivity configuration
  228. // in a project and location.
  229. rpc CreateRoute(CreateRouteRequest) returns (google.longrunning.Operation) {
  230. option (google.api.http) = {
  231. post: "/v1/{parent=projects/*/locations/*/privateConnections/*}/routes"
  232. body: "route"
  233. };
  234. option (google.api.method_signature) = "parent,route,route_id";
  235. option (google.longrunning.operation_info) = {
  236. response_type: "Route"
  237. metadata_type: "OperationMetadata"
  238. };
  239. }
  240. // Use this method to get details about a route.
  241. rpc GetRoute(GetRouteRequest) returns (Route) {
  242. option (google.api.http) = {
  243. get: "/v1/{name=projects/*/locations/*/privateConnections/*/routes/*}"
  244. };
  245. option (google.api.method_signature) = "name";
  246. }
  247. // Use this method to list routes created for a private connectivity
  248. // configuration in a project and location.
  249. rpc ListRoutes(ListRoutesRequest) returns (ListRoutesResponse) {
  250. option (google.api.http) = {
  251. get: "/v1/{parent=projects/*/locations/*/privateConnections/*}/routes"
  252. };
  253. option (google.api.method_signature) = "parent";
  254. }
  255. // Use this method to delete a route.
  256. rpc DeleteRoute(DeleteRouteRequest) returns (google.longrunning.Operation) {
  257. option (google.api.http) = {
  258. delete: "/v1/{name=projects/*/locations/*/privateConnections/*/routes/*}"
  259. };
  260. option (google.api.method_signature) = "name";
  261. option (google.longrunning.operation_info) = {
  262. response_type: "google.protobuf.Empty"
  263. metadata_type: "OperationMetadata"
  264. };
  265. }
  266. }
  267. // Request message for 'discover' ConnectionProfile request.
  268. message DiscoverConnectionProfileRequest {
  269. // Required. The parent resource of the connection profile type. Must be in the
  270. // format `projects/*/locations/*`.
  271. string parent = 1 [
  272. (google.api.field_behavior) = REQUIRED,
  273. (google.api.resource_reference) = {
  274. child_type: "datastream.googleapis.com/ConnectionProfile"
  275. }
  276. ];
  277. // The connection profile on which to run discover.
  278. oneof target {
  279. // An ad-hoc connection profile configuration.
  280. ConnectionProfile connection_profile = 200;
  281. // A reference to an existing connection profile.
  282. string connection_profile_name = 201;
  283. }
  284. // The depth of the retrieved hierarchy of data objects.
  285. oneof hierarchy {
  286. // Whether to retrieve the full hierarchy of data objects (TRUE) or only the
  287. // current level (FALSE).
  288. bool full_hierarchy = 3;
  289. // The number of hierarchy levels below the current level to be retrieved.
  290. int32 hierarchy_depth = 4;
  291. }
  292. // The data object to populate with child data objects and metadata.
  293. oneof data_object {
  294. // Oracle RDBMS to enrich with child data objects and metadata.
  295. OracleRdbms oracle_rdbms = 100;
  296. // MySQL RDBMS to enrich with child data objects and metadata.
  297. MysqlRdbms mysql_rdbms = 101;
  298. // PostgreSQL RDBMS to enrich with child data objects and metadata.
  299. PostgresqlRdbms postgresql_rdbms = 102;
  300. }
  301. }
  302. // Response from a discover request.
  303. message DiscoverConnectionProfileResponse {
  304. // The data object that has been enriched by the discover API call.
  305. oneof data_object {
  306. // Enriched Oracle RDBMS object.
  307. OracleRdbms oracle_rdbms = 100;
  308. // Enriched MySQL RDBMS object.
  309. MysqlRdbms mysql_rdbms = 101;
  310. // Enriched PostgreSQL RDBMS object.
  311. PostgresqlRdbms postgresql_rdbms = 102;
  312. }
  313. }
  314. // Request message for 'FetchStaticIps' request.
  315. message FetchStaticIpsRequest {
  316. // Required. The resource name for the location for which static IPs should be returned.
  317. // Must be in the format `projects/*/locations/*`.
  318. string name = 1 [
  319. (google.api.field_behavior) = REQUIRED,
  320. (google.api.resource_reference) = {
  321. type: "locations.googleapis.com/Location"
  322. }
  323. ];
  324. // Maximum number of Ips to return, will likely not be specified.
  325. int32 page_size = 2;
  326. // A page token, received from a previous `ListStaticIps` call.
  327. // will likely not be specified.
  328. string page_token = 3;
  329. }
  330. // Response message for a 'FetchStaticIps' response.
  331. message FetchStaticIpsResponse {
  332. // list of static ips by account
  333. repeated string static_ips = 1;
  334. // A token that can be sent as `page_token` to retrieve the next page.
  335. // If this field is omitted, there are no subsequent pages.
  336. string next_page_token = 2;
  337. }
  338. // Request message for listing connection profiles.
  339. message ListConnectionProfilesRequest {
  340. // Required. The parent that owns the collection of connection profiles.
  341. string parent = 1 [
  342. (google.api.field_behavior) = REQUIRED,
  343. (google.api.resource_reference) = {
  344. child_type: "datastream.googleapis.com/ConnectionProfile"
  345. }
  346. ];
  347. // Maximum number of connection profiles to return.
  348. // If unspecified, at most 50 connection profiles will be returned.
  349. // The maximum value is 1000; values above 1000 will be coerced to 1000.
  350. int32 page_size = 2;
  351. // Page token received from a previous `ListConnectionProfiles` call.
  352. // Provide this to retrieve the subsequent page.
  353. //
  354. // When paginating, all other parameters provided to `ListConnectionProfiles`
  355. // must match the call that provided the page token.
  356. string page_token = 3;
  357. // Filter request.
  358. string filter = 4;
  359. // Order by fields for the result.
  360. string order_by = 5;
  361. }
  362. // Response message for listing connection profiles.
  363. message ListConnectionProfilesResponse {
  364. // List of connection profiles.
  365. repeated ConnectionProfile connection_profiles = 1;
  366. // A token, which can be sent as `page_token` to retrieve the next page.
  367. // If this field is omitted, there are no subsequent pages.
  368. string next_page_token = 2;
  369. // Locations that could not be reached.
  370. repeated string unreachable = 3;
  371. }
  372. // Request message for getting a connection profile.
  373. message GetConnectionProfileRequest {
  374. // Required. The name of the connection profile resource to get.
  375. string name = 1 [
  376. (google.api.field_behavior) = REQUIRED,
  377. (google.api.resource_reference) = {
  378. type: "datastream.googleapis.com/ConnectionProfile"
  379. }
  380. ];
  381. }
  382. // Request message for creating a connection profile.
  383. message CreateConnectionProfileRequest {
  384. // Required. The parent that owns the collection of ConnectionProfiles.
  385. string parent = 1 [
  386. (google.api.field_behavior) = REQUIRED,
  387. (google.api.resource_reference) = {
  388. child_type: "datastream.googleapis.com/ConnectionProfile"
  389. }
  390. ];
  391. // Required. The connection profile identifier.
  392. string connection_profile_id = 2 [(google.api.field_behavior) = REQUIRED];
  393. // Required. The connection profile resource to create.
  394. ConnectionProfile connection_profile = 3 [(google.api.field_behavior) = REQUIRED];
  395. // Optional. A request ID to identify requests. Specify a unique request ID
  396. // so that if you must retry your request, the server will know to ignore
  397. // the request if it has already been completed. The server will guarantee
  398. // that for at least 60 minutes since the first request.
  399. //
  400. // For example, consider a situation where you make an initial request and the
  401. // request times out. If you make the request again with the same request ID,
  402. // the server can check if original operation with the same request ID was
  403. // received, and if so, will ignore the second request. This prevents clients
  404. // from accidentally creating duplicate commitments.
  405. //
  406. // The request ID must be a valid UUID with the exception that zero UUID is
  407. // not supported (00000000-0000-0000-0000-000000000000).
  408. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  409. // Optional. Only validate the connection profile, but don't create any resources.
  410. // The default is false.
  411. bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
  412. // Optional. Create the connection profile without validating it.
  413. bool force = 6 [(google.api.field_behavior) = OPTIONAL];
  414. }
  415. // Connection profile update message.
  416. message UpdateConnectionProfileRequest {
  417. // Optional. Field mask is used to specify the fields to be overwritten in the
  418. // ConnectionProfile resource by the update.
  419. // The fields specified in the update_mask are relative to the resource, not
  420. // the full request. A field will be overwritten if it is in the mask. If the
  421. // user does not provide a mask then all fields will be overwritten.
  422. google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
  423. // Required. The connection profile to update.
  424. ConnectionProfile connection_profile = 2 [(google.api.field_behavior) = REQUIRED];
  425. // Optional. A request ID to identify requests. Specify a unique request ID
  426. // so that if you must retry your request, the server will know to ignore
  427. // the request if it has already been completed. The server will guarantee
  428. // that for at least 60 minutes since the first request.
  429. //
  430. // For example, consider a situation where you make an initial request and the
  431. // request times out. If you make the request again with the same request ID,
  432. // the server can check if original operation with the same request ID was
  433. // received, and if so, will ignore the second request. This prevents clients
  434. // from accidentally creating duplicate commitments.
  435. //
  436. // The request ID must be a valid UUID with the exception that zero UUID is
  437. // not supported (00000000-0000-0000-0000-000000000000).
  438. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  439. // Optional. Only validate the connection profile, but don't update any resources.
  440. // The default is false.
  441. bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
  442. // Optional. Update the connection profile without validating it.
  443. bool force = 5 [(google.api.field_behavior) = OPTIONAL];
  444. }
  445. // Request message for deleting a connection profile.
  446. message DeleteConnectionProfileRequest {
  447. // Required. The name of the connection profile resource to delete.
  448. string name = 1 [
  449. (google.api.field_behavior) = REQUIRED,
  450. (google.api.resource_reference) = {
  451. type: "datastream.googleapis.com/ConnectionProfile"
  452. }
  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 after 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 = 2 [(google.api.field_behavior) = OPTIONAL];
  468. }
  469. // Request message for listing streams.
  470. message ListStreamsRequest {
  471. // Required. The parent that owns the collection of streams.
  472. string parent = 1 [
  473. (google.api.field_behavior) = REQUIRED,
  474. (google.api.resource_reference) = {
  475. child_type: "datastream.googleapis.com/Stream"
  476. }
  477. ];
  478. // Maximum number of streams to return.
  479. // If unspecified, at most 50 streams will be returned. The maximum
  480. // value is 1000; values above 1000 will be coerced to 1000.
  481. int32 page_size = 2;
  482. // Page token received from a previous `ListStreams` call.
  483. // Provide this to retrieve the subsequent page.
  484. //
  485. // When paginating, all other parameters provided to `ListStreams`
  486. // must match the call that provided the page token.
  487. string page_token = 3;
  488. // Filter request.
  489. string filter = 4;
  490. // Order by fields for the result.
  491. string order_by = 5;
  492. }
  493. // Response message for listing streams.
  494. message ListStreamsResponse {
  495. // List of streams
  496. repeated Stream streams = 1;
  497. // A token, which can be sent as `page_token` to retrieve the next page.
  498. // If this field is omitted, there are no subsequent pages.
  499. string next_page_token = 2;
  500. // Locations that could not be reached.
  501. repeated string unreachable = 3;
  502. }
  503. // Request message for getting a stream.
  504. message GetStreamRequest {
  505. // Required. The name of the stream resource to get.
  506. string name = 1 [
  507. (google.api.field_behavior) = REQUIRED,
  508. (google.api.resource_reference) = {
  509. type: "datastream.googleapis.com/Stream"
  510. }
  511. ];
  512. }
  513. // Request message for creating a stream.
  514. message CreateStreamRequest {
  515. // Required. The parent that owns the collection of streams.
  516. string parent = 1 [
  517. (google.api.field_behavior) = REQUIRED,
  518. (google.api.resource_reference) = {
  519. child_type: "datastream.googleapis.com/Stream"
  520. }
  521. ];
  522. // Required. The stream identifier.
  523. string stream_id = 2 [(google.api.field_behavior) = REQUIRED];
  524. // Required. The stream resource to create.
  525. Stream stream = 3 [(google.api.field_behavior) = REQUIRED];
  526. // Optional. A request ID to identify requests. Specify a unique request ID
  527. // so that if you must retry your request, the server will know to ignore
  528. // the request if it has already been completed. The server will guarantee
  529. // that for at least 60 minutes since the first request.
  530. //
  531. // For example, consider a situation where you make an initial request and the
  532. // request times out. If you make the request again with the same request ID,
  533. // the server can check if original operation with the same request ID was
  534. // received, and if so, will ignore the second request. This prevents clients
  535. // from accidentally creating duplicate commitments.
  536. //
  537. // The request ID must be a valid UUID with the exception that zero UUID is
  538. // not supported (00000000-0000-0000-0000-000000000000).
  539. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  540. // Optional. Only validate the stream, but don't create any resources.
  541. // The default is false.
  542. bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
  543. // Optional. Create the stream without validating it.
  544. bool force = 6 [(google.api.field_behavior) = OPTIONAL];
  545. }
  546. // Request message for updating a stream.
  547. message UpdateStreamRequest {
  548. // Optional. Field mask is used to specify the fields to be overwritten in the
  549. // stream resource by the update.
  550. // The fields specified in the update_mask are relative to the resource, not
  551. // the full request. A field will be overwritten if it is in the mask. If the
  552. // user does not provide a mask then all fields will be overwritten.
  553. google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL];
  554. // Required. The stream resource to update.
  555. Stream stream = 2 [(google.api.field_behavior) = REQUIRED];
  556. // Optional. A request ID to identify requests. Specify a unique request ID
  557. // so that if you must retry your request, the server will know to ignore
  558. // the request if it has already been completed. The server will guarantee
  559. // that for at least 60 minutes since the first request.
  560. //
  561. // For example, consider a situation where you make an initial request and the
  562. // request times out. If you make the request again with the same request ID,
  563. // the server can check if original operation with the same request ID was
  564. // received, and if so, will ignore the second request. This prevents clients
  565. // from accidentally creating duplicate commitments.
  566. //
  567. // The request ID must be a valid UUID with the exception that zero UUID is
  568. // not supported (00000000-0000-0000-0000-000000000000).
  569. string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
  570. // Optional. Only validate the stream with the changes, without actually updating it.
  571. // The default is false.
  572. bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
  573. // Optional. Update the stream without validating it.
  574. bool force = 5 [(google.api.field_behavior) = OPTIONAL];
  575. }
  576. // Request message for deleting a stream.
  577. message DeleteStreamRequest {
  578. // Required. The name of the stream resource to delete.
  579. string name = 1 [
  580. (google.api.field_behavior) = REQUIRED,
  581. (google.api.resource_reference) = {
  582. type: "datastream.googleapis.com/Stream"
  583. }
  584. ];
  585. // Optional. A request ID to identify requests. Specify a unique request ID
  586. // so that if you must retry your request, the server will know to ignore
  587. // the request if it has already been completed. The server will guarantee
  588. // that for at least 60 minutes after the first request.
  589. //
  590. // For example, consider a situation where you make an initial request and the
  591. // request times out. If you make the request again with the same request ID,
  592. // the server can check if original operation with the same request ID was
  593. // received, and if so, will ignore the second request. This prevents clients
  594. // from accidentally creating duplicate commitments.
  595. //
  596. // The request ID must be a valid UUID with the exception that zero UUID is
  597. // not supported (00000000-0000-0000-0000-000000000000).
  598. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  599. }
  600. // Request for fetching a specific stream object.
  601. message GetStreamObjectRequest {
  602. // Required. The name of the stream object resource to get.
  603. string name = 1 [
  604. (google.api.field_behavior) = REQUIRED,
  605. (google.api.resource_reference) = {
  606. type: "datastream.googleapis.com/StreamObject"
  607. }
  608. ];
  609. }
  610. // Request for looking up a specific stream object by its source object
  611. // identifier.
  612. message LookupStreamObjectRequest {
  613. // Required. The parent stream that owns the collection of objects.
  614. string parent = 1 [
  615. (google.api.field_behavior) = REQUIRED,
  616. (google.api.resource_reference) = {
  617. type: "datastream.googleapis.com/Stream"
  618. }
  619. ];
  620. // Required. The source object identifier which maps to the stream object.
  621. SourceObjectIdentifier source_object_identifier = 2 [(google.api.field_behavior) = REQUIRED];
  622. }
  623. // Request for manually initiating a backfill job for a specific stream object.
  624. message StartBackfillJobRequest {
  625. // Required. The name of the stream object resource to start a backfill job for.
  626. string object = 1 [
  627. (google.api.field_behavior) = REQUIRED,
  628. (google.api.resource_reference) = {
  629. type: "datastream.googleapis.com/StreamObject"
  630. }
  631. ];
  632. }
  633. // Response for manually initiating a backfill job for a specific stream object.
  634. message StartBackfillJobResponse {
  635. // The stream object resource a backfill job was started for.
  636. StreamObject object = 1;
  637. }
  638. // Request for manually stopping a running backfill job for a specific stream
  639. // object.
  640. message StopBackfillJobRequest {
  641. // Required. The name of the stream object resource to stop the backfill job for.
  642. string object = 1 [
  643. (google.api.field_behavior) = REQUIRED,
  644. (google.api.resource_reference) = {
  645. type: "datastream.googleapis.com/StreamObject"
  646. }
  647. ];
  648. }
  649. // Response for manually stop a backfill job for a specific stream object.
  650. message StopBackfillJobResponse {
  651. // The stream object resource the backfill job was stopped for.
  652. StreamObject object = 1;
  653. }
  654. // Request for listing all objects for a specific stream.
  655. message ListStreamObjectsRequest {
  656. // Required. The parent stream that owns the collection of objects.
  657. string parent = 1 [
  658. (google.api.field_behavior) = REQUIRED,
  659. (google.api.resource_reference) = {
  660. child_type: "datastream.googleapis.com/StreamObject"
  661. }
  662. ];
  663. // Maximum number of objects to return. Default is 50.
  664. // The maximum value is 1000; values above 1000 will be coerced to 1000.
  665. int32 page_size = 2;
  666. // Page token received from a previous `ListStreamObjectsRequest` call.
  667. // Provide this to retrieve the subsequent page.
  668. //
  669. // When paginating, all other parameters provided to
  670. // `ListStreamObjectsRequest` must match the call that provided the page
  671. // token.
  672. string page_token = 3;
  673. }
  674. // Response containing the objects for a stream.
  675. message ListStreamObjectsResponse {
  676. // List of stream objects.
  677. repeated StreamObject stream_objects = 1;
  678. // A token, which can be sent as `page_token` to retrieve the next page.
  679. string next_page_token = 2;
  680. }
  681. // Represents the metadata of the long-running operation.
  682. message OperationMetadata {
  683. // Output only. The time the operation was created.
  684. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  685. // Output only. The time the operation finished running.
  686. google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  687. // Output only. Server-defined resource path for the target of the operation.
  688. string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  689. // Output only. Name of the verb executed by the operation.
  690. string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  691. // Output only. Human-readable status of the operation, if any.
  692. string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  693. // Output only. Identifies whether the user has requested cancellation
  694. // of the operation. Operations that have successfully been cancelled
  695. // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
  696. // corresponding to `Code.CANCELLED`.
  697. bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  698. // Output only. API version used to start the operation.
  699. string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  700. // Output only. Results of executed validations if there are any.
  701. ValidationResult validation_result = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  702. }
  703. // Request for creating a private connection.
  704. message CreatePrivateConnectionRequest {
  705. // Required. The parent that owns the collection of PrivateConnections.
  706. string parent = 1 [
  707. (google.api.field_behavior) = REQUIRED,
  708. (google.api.resource_reference) = {
  709. child_type: "datastream.googleapis.com/PrivateConnection"
  710. }
  711. ];
  712. // Required. The private connectivity identifier.
  713. string private_connection_id = 2 [(google.api.field_behavior) = REQUIRED];
  714. // Required. The Private Connectivity resource to create.
  715. PrivateConnection private_connection = 3 [(google.api.field_behavior) = REQUIRED];
  716. // Optional. A request ID to identify requests. Specify a unique request ID
  717. // so that if you must retry your request, the server will know to ignore
  718. // the request if it has already been completed. The server will guarantee
  719. // that for at least 60 minutes since the first request.
  720. //
  721. // For example, consider a situation where you make an initial request and the
  722. // request times out. If you make the request again with the same request ID,
  723. // the server can check if original operation with the same request ID was
  724. // received, and if so, will ignore the second request. This prevents clients
  725. // from accidentally creating duplicate commitments.
  726. //
  727. // The request ID must be a valid UUID with the exception that zero UUID is
  728. // not supported (00000000-0000-0000-0000-000000000000).
  729. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  730. }
  731. // Request for listing private connections.
  732. message ListPrivateConnectionsRequest {
  733. // Required. The parent that owns the collection of private connectivity configurations.
  734. string parent = 1 [
  735. (google.api.field_behavior) = REQUIRED,
  736. (google.api.resource_reference) = {
  737. child_type: "datastream.googleapis.com/PrivateConnection"
  738. }
  739. ];
  740. // Maximum number of private connectivity configurations to return.
  741. // If unspecified, at most 50 private connectivity configurations that will be
  742. // returned. The maximum value is 1000; values above 1000 will be coerced to
  743. // 1000.
  744. int32 page_size = 2;
  745. // Page token received from a previous `ListPrivateConnections` call.
  746. // Provide this to retrieve the subsequent page.
  747. //
  748. // When paginating, all other parameters provided to
  749. // `ListPrivateConnections` must match the call that provided the page
  750. // token.
  751. string page_token = 3;
  752. // Filter request.
  753. string filter = 4;
  754. // Order by fields for the result.
  755. string order_by = 5;
  756. }
  757. // Response containing a list of private connection configurations.
  758. message ListPrivateConnectionsResponse {
  759. // List of private connectivity configurations.
  760. repeated PrivateConnection private_connections = 1;
  761. // A token, which can be sent as `page_token` to retrieve the next page.
  762. // If this field is omitted, there are no subsequent pages.
  763. string next_page_token = 2;
  764. // Locations that could not be reached.
  765. repeated string unreachable = 3;
  766. }
  767. // Request to delete a private connection.
  768. message DeletePrivateConnectionRequest {
  769. // Required. The name of the private connectivity configuration to delete.
  770. string name = 1 [
  771. (google.api.field_behavior) = REQUIRED,
  772. (google.api.resource_reference) = {
  773. type: "datastream.googleapis.com/PrivateConnection"
  774. }
  775. ];
  776. // Optional. A request ID to identify requests. Specify a unique request ID
  777. // so that if you must retry your request, the server will know to ignore
  778. // the request if it has already been completed. The server will guarantee
  779. // that for at least 60 minutes after the first request.
  780. //
  781. // For example, consider a situation where you make an initial request and the
  782. // request times out. If you make the request again with the same request ID,
  783. // the server can check if original operation with the same request ID was
  784. // received, and if so, will ignore the second request. This prevents clients
  785. // from accidentally creating duplicate commitments.
  786. //
  787. // The request ID must be a valid UUID with the exception that zero UUID is
  788. // not supported (00000000-0000-0000-0000-000000000000).
  789. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  790. // Optional. If set to true, any child routes that belong to this PrivateConnection will
  791. // also be deleted.
  792. bool force = 3 [(google.api.field_behavior) = OPTIONAL];
  793. }
  794. // Request to get a private connection configuration.
  795. message GetPrivateConnectionRequest {
  796. // Required. The name of the private connectivity configuration to get.
  797. string name = 1 [
  798. (google.api.field_behavior) = REQUIRED,
  799. (google.api.resource_reference) = {
  800. type: "datastream.googleapis.com/PrivateConnection"
  801. }
  802. ];
  803. }
  804. // Route creation request.
  805. message CreateRouteRequest {
  806. // Required. The parent that owns the collection of Routes.
  807. string parent = 1 [
  808. (google.api.field_behavior) = REQUIRED,
  809. (google.api.resource_reference) = {
  810. child_type: "datastream.googleapis.com/Route"
  811. }
  812. ];
  813. // Required. The Route identifier.
  814. string route_id = 2 [(google.api.field_behavior) = REQUIRED];
  815. // Required. The Route resource to create.
  816. Route route = 3 [(google.api.field_behavior) = REQUIRED];
  817. // Optional. A request ID to identify requests. Specify a unique request ID
  818. // so that if you must retry your request, the server will know to ignore
  819. // the request if it has already been completed. The server will guarantee
  820. // that for at least 60 minutes since the first request.
  821. //
  822. // For example, consider a situation where you make an initial request and the
  823. // request times out. If you make the request again with the same request ID,
  824. // the server can check if original operation with the same request ID was
  825. // received, and if so, will ignore the second request. This prevents clients
  826. // from accidentally creating duplicate commitments.
  827. //
  828. // The request ID must be a valid UUID with the exception that zero UUID is
  829. // not supported (00000000-0000-0000-0000-000000000000).
  830. string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
  831. }
  832. // Route list request.
  833. message ListRoutesRequest {
  834. // Required. The parent that owns the collection of Routess.
  835. string parent = 1 [
  836. (google.api.field_behavior) = REQUIRED,
  837. (google.api.resource_reference) = {
  838. child_type: "datastream.googleapis.com/Route"
  839. }
  840. ];
  841. // Maximum number of Routes to return. The service may return
  842. // fewer than this value. If unspecified, at most 50 Routes
  843. // will be returned. The maximum value is 1000; values above 1000 will be
  844. // coerced to 1000.
  845. int32 page_size = 2;
  846. // Page token received from a previous `ListRoutes` call.
  847. // Provide this to retrieve the subsequent page.
  848. //
  849. // When paginating, all other parameters provided to
  850. // `ListRoutes` must match the call that provided the page
  851. // token.
  852. string page_token = 3;
  853. // Filter request.
  854. string filter = 4;
  855. // Order by fields for the result.
  856. string order_by = 5;
  857. }
  858. // Route list response.
  859. message ListRoutesResponse {
  860. // List of Routes.
  861. repeated Route routes = 1;
  862. // A token, which can be sent as `page_token` to retrieve the next page.
  863. // If this field is omitted, there are no subsequent pages.
  864. string next_page_token = 2;
  865. // Locations that could not be reached.
  866. repeated string unreachable = 3;
  867. }
  868. // Route deletion request.
  869. message DeleteRouteRequest {
  870. // Required. The name of the Route resource to delete.
  871. string name = 1 [
  872. (google.api.field_behavior) = REQUIRED,
  873. (google.api.resource_reference) = {
  874. type: "datastream.googleapis.com/Route"
  875. }
  876. ];
  877. // Optional. A request ID to identify requests. Specify a unique request ID
  878. // so that if you must retry your request, the server will know to ignore
  879. // the request if it has already been completed. The server will guarantee
  880. // that for at least 60 minutes after the first request.
  881. //
  882. // For example, consider a situation where you make an initial request and the
  883. // request times out. If you make the request again with the same request ID,
  884. // the server can check if original operation with the same request ID was
  885. // received, and if so, will ignore the second request. This prevents clients
  886. // from accidentally creating duplicate commitments.
  887. //
  888. // The request ID must be a valid UUID with the exception that zero UUID is
  889. // not supported (00000000-0000-0000-0000-000000000000).
  890. string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
  891. }
  892. // Route get request.
  893. message GetRouteRequest {
  894. // Required. The name of the Route resource to get.
  895. string name = 1 [
  896. (google.api.field_behavior) = REQUIRED,
  897. (google.api.resource_reference) = {
  898. type: "datastream.googleapis.com/Route"
  899. }
  900. ];
  901. }