eventarc.proto 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632
  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.eventarc.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/eventarc/v1/channel.proto";
  21. import "google/cloud/eventarc/v1/channel_connection.proto";
  22. import "google/cloud/eventarc/v1/discovery.proto";
  23. import "google/cloud/eventarc/v1/google_channel_config.proto";
  24. import "google/cloud/eventarc/v1/trigger.proto";
  25. import "google/longrunning/operations.proto";
  26. import "google/protobuf/field_mask.proto";
  27. import "google/protobuf/timestamp.proto";
  28. option csharp_namespace = "Google.Cloud.Eventarc.V1";
  29. option go_package = "google.golang.org/genproto/googleapis/cloud/eventarc/v1;eventarc";
  30. option java_multiple_files = true;
  31. option java_outer_classname = "EventarcProto";
  32. option java_package = "com.google.cloud.eventarc.v1";
  33. option php_namespace = "Google\\Cloud\\Eventarc\\V1";
  34. option ruby_package = "Google::Cloud::Eventarc::V1";
  35. // Eventarc allows users to subscribe to various events that are provided by
  36. // Google Cloud services and forward them to supported destinations.
  37. service Eventarc {
  38. option (google.api.default_host) = "eventarc.googleapis.com";
  39. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  40. // Get a single trigger.
  41. rpc GetTrigger(GetTriggerRequest) returns (Trigger) {
  42. option (google.api.http) = {
  43. get: "/v1/{name=projects/*/locations/*/triggers/*}"
  44. };
  45. option (google.api.method_signature) = "name";
  46. }
  47. // List triggers.
  48. rpc ListTriggers(ListTriggersRequest) returns (ListTriggersResponse) {
  49. option (google.api.http) = {
  50. get: "/v1/{parent=projects/*/locations/*}/triggers"
  51. };
  52. option (google.api.method_signature) = "parent";
  53. }
  54. // Create a new trigger in a particular project and location.
  55. rpc CreateTrigger(CreateTriggerRequest) returns (google.longrunning.Operation) {
  56. option (google.api.http) = {
  57. post: "/v1/{parent=projects/*/locations/*}/triggers"
  58. body: "trigger"
  59. };
  60. option (google.api.method_signature) = "parent,trigger,trigger_id";
  61. option (google.longrunning.operation_info) = {
  62. response_type: "Trigger"
  63. metadata_type: "OperationMetadata"
  64. };
  65. }
  66. // Update a single trigger.
  67. rpc UpdateTrigger(UpdateTriggerRequest) returns (google.longrunning.Operation) {
  68. option (google.api.http) = {
  69. patch: "/v1/{trigger.name=projects/*/locations/*/triggers/*}"
  70. body: "trigger"
  71. };
  72. option (google.api.method_signature) = "trigger,update_mask,allow_missing";
  73. option (google.longrunning.operation_info) = {
  74. response_type: "Trigger"
  75. metadata_type: "OperationMetadata"
  76. };
  77. }
  78. // Delete a single trigger.
  79. rpc DeleteTrigger(DeleteTriggerRequest) returns (google.longrunning.Operation) {
  80. option (google.api.http) = {
  81. delete: "/v1/{name=projects/*/locations/*/triggers/*}"
  82. };
  83. option (google.api.method_signature) = "name,allow_missing";
  84. option (google.longrunning.operation_info) = {
  85. response_type: "Trigger"
  86. metadata_type: "OperationMetadata"
  87. };
  88. }
  89. // Get a single Channel.
  90. rpc GetChannel(GetChannelRequest) returns (Channel) {
  91. option (google.api.http) = {
  92. get: "/v1/{name=projects/*/locations/*/channels/*}"
  93. };
  94. option (google.api.method_signature) = "name";
  95. }
  96. // List channels.
  97. rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse) {
  98. option (google.api.http) = {
  99. get: "/v1/{parent=projects/*/locations/*}/channels"
  100. };
  101. option (google.api.method_signature) = "parent";
  102. }
  103. // Create a new channel in a particular project and location.
  104. rpc CreateChannel(CreateChannelRequest) returns (google.longrunning.Operation) {
  105. option (google.api.http) = {
  106. post: "/v1/{parent=projects/*/locations/*}/channels"
  107. body: "channel"
  108. };
  109. option (google.api.method_signature) = "parent,channel,channel_id";
  110. option (google.longrunning.operation_info) = {
  111. response_type: "Channel"
  112. metadata_type: "OperationMetadata"
  113. };
  114. }
  115. // Update a single channel.
  116. rpc UpdateChannel(UpdateChannelRequest) returns (google.longrunning.Operation) {
  117. option (google.api.http) = {
  118. patch: "/v1/{channel.name=projects/*/locations/*/channels/*}"
  119. body: "channel"
  120. };
  121. option (google.api.method_signature) = "channel,update_mask";
  122. option (google.longrunning.operation_info) = {
  123. response_type: "Channel"
  124. metadata_type: "OperationMetadata"
  125. };
  126. }
  127. // Delete a single channel.
  128. rpc DeleteChannel(DeleteChannelRequest) returns (google.longrunning.Operation) {
  129. option (google.api.http) = {
  130. delete: "/v1/{name=projects/*/locations/*/channels/*}"
  131. };
  132. option (google.api.method_signature) = "name";
  133. option (google.longrunning.operation_info) = {
  134. response_type: "Channel"
  135. metadata_type: "OperationMetadata"
  136. };
  137. }
  138. // Get a single Provider.
  139. rpc GetProvider(GetProviderRequest) returns (Provider) {
  140. option (google.api.http) = {
  141. get: "/v1/{name=projects/*/locations/*/providers/*}"
  142. };
  143. option (google.api.method_signature) = "name";
  144. }
  145. // List providers.
  146. rpc ListProviders(ListProvidersRequest) returns (ListProvidersResponse) {
  147. option (google.api.http) = {
  148. get: "/v1/{parent=projects/*/locations/*}/providers"
  149. };
  150. option (google.api.method_signature) = "parent";
  151. }
  152. // Get a single ChannelConnection.
  153. rpc GetChannelConnection(GetChannelConnectionRequest) returns (ChannelConnection) {
  154. option (google.api.http) = {
  155. get: "/v1/{name=projects/*/locations/*/channelConnections/*}"
  156. };
  157. option (google.api.method_signature) = "name";
  158. }
  159. // List channel connections.
  160. rpc ListChannelConnections(ListChannelConnectionsRequest) returns (ListChannelConnectionsResponse) {
  161. option (google.api.http) = {
  162. get: "/v1/{parent=projects/*/locations/*}/channelConnections"
  163. };
  164. option (google.api.method_signature) = "parent";
  165. }
  166. // Create a new ChannelConnection in a particular project and location.
  167. rpc CreateChannelConnection(CreateChannelConnectionRequest) returns (google.longrunning.Operation) {
  168. option (google.api.http) = {
  169. post: "/v1/{parent=projects/*/locations/*}/channelConnections"
  170. body: "channel_connection"
  171. };
  172. option (google.api.method_signature) = "parent,channel_connection,channel_connection_id";
  173. option (google.longrunning.operation_info) = {
  174. response_type: "ChannelConnection"
  175. metadata_type: "OperationMetadata"
  176. };
  177. }
  178. // Delete a single ChannelConnection.
  179. rpc DeleteChannelConnection(DeleteChannelConnectionRequest) returns (google.longrunning.Operation) {
  180. option (google.api.http) = {
  181. delete: "/v1/{name=projects/*/locations/*/channelConnections/*}"
  182. };
  183. option (google.api.method_signature) = "name";
  184. option (google.longrunning.operation_info) = {
  185. response_type: "ChannelConnection"
  186. metadata_type: "OperationMetadata"
  187. };
  188. }
  189. // Get a GoogleChannelConfig
  190. rpc GetGoogleChannelConfig(GetGoogleChannelConfigRequest) returns (GoogleChannelConfig) {
  191. option (google.api.http) = {
  192. get: "/v1/{name=projects/*/locations/*/googleChannelConfig}"
  193. };
  194. option (google.api.method_signature) = "name";
  195. }
  196. // Update a single GoogleChannelConfig
  197. rpc UpdateGoogleChannelConfig(UpdateGoogleChannelConfigRequest) returns (GoogleChannelConfig) {
  198. option (google.api.http) = {
  199. patch: "/v1/{google_channel_config.name=projects/*/locations/*/googleChannelConfig}"
  200. body: "google_channel_config"
  201. };
  202. option (google.api.method_signature) = "google_channel_config,update_mask";
  203. }
  204. }
  205. // The request message for the GetTrigger method.
  206. message GetTriggerRequest {
  207. // Required. The name of the trigger to get.
  208. string name = 1 [
  209. (google.api.field_behavior) = REQUIRED,
  210. (google.api.resource_reference) = {
  211. type: "eventarc.googleapis.com/Trigger"
  212. }
  213. ];
  214. }
  215. // The request message for the ListTriggers method.
  216. message ListTriggersRequest {
  217. // Required. The parent collection to list triggers on.
  218. string parent = 1 [
  219. (google.api.field_behavior) = REQUIRED,
  220. (google.api.resource_reference) = {
  221. child_type: "eventarc.googleapis.com/Trigger"
  222. }
  223. ];
  224. // The maximum number of triggers to return on each page.
  225. //
  226. // Note: The service may send fewer.
  227. int32 page_size = 2;
  228. // The page token; provide the value from the `next_page_token` field in a
  229. // previous `ListTriggers` call to retrieve the subsequent page.
  230. //
  231. // When paginating, all other parameters provided to `ListTriggers` must match
  232. // the call that provided the page token.
  233. string page_token = 3;
  234. // The sorting order of the resources returned. Value should be a
  235. // comma-separated list of fields. The default sorting order is ascending. To
  236. // specify descending order for a field, append a `desc` suffix; for example:
  237. // `name desc, trigger_id`.
  238. string order_by = 4;
  239. // Filter field. Used to filter the Triggers to be listed. Possible filters
  240. // are described in https://google.aip.dev/160. For example, using
  241. // "?filter=destination:gke" would list only Triggers with a gke destination.
  242. string filter = 5;
  243. }
  244. // The response message for the `ListTriggers` method.
  245. message ListTriggersResponse {
  246. // The requested triggers, up to the number specified in `page_size`.
  247. repeated Trigger triggers = 1;
  248. // A page token that can be sent to `ListTriggers` to request the next page.
  249. // If this is empty, then there are no more pages.
  250. string next_page_token = 2;
  251. // Unreachable resources, if any.
  252. repeated string unreachable = 3;
  253. }
  254. // The request message for the CreateTrigger method.
  255. message CreateTriggerRequest {
  256. // Required. The parent collection in which to add this trigger.
  257. string parent = 1 [
  258. (google.api.field_behavior) = REQUIRED,
  259. (google.api.resource_reference) = {
  260. child_type: "eventarc.googleapis.com/Trigger"
  261. }
  262. ];
  263. // Required. The trigger to create.
  264. Trigger trigger = 2 [(google.api.field_behavior) = REQUIRED];
  265. // Required. The user-provided ID to be assigned to the trigger.
  266. string trigger_id = 3 [(google.api.field_behavior) = REQUIRED];
  267. // Required. If set, validate the request and preview the review, but do not
  268. // post it.
  269. bool validate_only = 4 [(google.api.field_behavior) = REQUIRED];
  270. }
  271. // The request message for the UpdateTrigger method.
  272. message UpdateTriggerRequest {
  273. // The trigger to be updated.
  274. Trigger trigger = 1;
  275. // The fields to be updated; only fields explicitly provided are updated.
  276. // If no field mask is provided, all provided fields in the request are
  277. // updated. To update all fields, provide a field mask of "*".
  278. google.protobuf.FieldMask update_mask = 2;
  279. // If set to true, and the trigger is not found, a new trigger will be
  280. // created. In this situation, `update_mask` is ignored.
  281. bool allow_missing = 3;
  282. // Required. If set, validate the request and preview the review, but do not
  283. // post it.
  284. bool validate_only = 4 [(google.api.field_behavior) = REQUIRED];
  285. }
  286. // The request message for the DeleteTrigger method.
  287. message DeleteTriggerRequest {
  288. // Required. The name of the trigger to be deleted.
  289. string name = 1 [
  290. (google.api.field_behavior) = REQUIRED,
  291. (google.api.resource_reference) = {
  292. type: "eventarc.googleapis.com/Trigger"
  293. }
  294. ];
  295. // If provided, the trigger will only be deleted if the etag matches the
  296. // current etag on the resource.
  297. string etag = 2;
  298. // If set to true, and the trigger is not found, the request will succeed
  299. // but no action will be taken on the server.
  300. bool allow_missing = 3;
  301. // Required. If set, validate the request and preview the review, but do not
  302. // post it.
  303. bool validate_only = 4 [(google.api.field_behavior) = REQUIRED];
  304. }
  305. // The request message for the GetChannel method.
  306. message GetChannelRequest {
  307. // Required. The name of the channel to get.
  308. string name = 1 [
  309. (google.api.field_behavior) = REQUIRED,
  310. (google.api.resource_reference) = {
  311. type: "eventarc.googleapis.com/Channel"
  312. }
  313. ];
  314. }
  315. // The request message for the ListChannels method.
  316. message ListChannelsRequest {
  317. // Required. The parent collection to list channels on.
  318. string parent = 1 [
  319. (google.api.field_behavior) = REQUIRED,
  320. (google.api.resource_reference) = {
  321. child_type: "eventarc.googleapis.com/Channel"
  322. }
  323. ];
  324. // The maximum number of channels to return on each page.
  325. //
  326. // Note: The service may send fewer.
  327. int32 page_size = 2;
  328. // The page token; provide the value from the `next_page_token` field in a
  329. // previous `ListChannels` call to retrieve the subsequent page.
  330. //
  331. // When paginating, all other parameters provided to `ListChannels` must
  332. // match the call that provided the page token.
  333. string page_token = 3;
  334. // The sorting order of the resources returned. Value should be a
  335. // comma-separated list of fields. The default sorting order is ascending. To
  336. // specify descending order for a field, append a `desc` suffix; for example:
  337. // `name desc, channel_id`.
  338. string order_by = 4;
  339. }
  340. // The response message for the `ListChannels` method.
  341. message ListChannelsResponse {
  342. // The requested channels, up to the number specified in `page_size`.
  343. repeated Channel channels = 1;
  344. // A page token that can be sent to `ListChannels` to request the next page.
  345. // If this is empty, then there are no more pages.
  346. string next_page_token = 2;
  347. // Unreachable resources, if any.
  348. repeated string unreachable = 3;
  349. }
  350. // The request message for the CreateChannel method.
  351. message CreateChannelRequest {
  352. // Required. The parent collection in which to add this channel.
  353. string parent = 1 [
  354. (google.api.field_behavior) = REQUIRED,
  355. (google.api.resource_reference) = {
  356. child_type: "eventarc.googleapis.com/Channel"
  357. }
  358. ];
  359. // Required. The channel to create.
  360. Channel channel = 2 [(google.api.field_behavior) = REQUIRED];
  361. // Required. The user-provided ID to be assigned to the channel.
  362. string channel_id = 3 [(google.api.field_behavior) = REQUIRED];
  363. // Required. If set, validate the request and preview the review, but do not
  364. // post it.
  365. bool validate_only = 4 [(google.api.field_behavior) = REQUIRED];
  366. }
  367. // The request message for the UpdateChannel method.
  368. message UpdateChannelRequest {
  369. // The channel to be updated.
  370. Channel channel = 1;
  371. // The fields to be updated; only fields explicitly provided are updated.
  372. // If no field mask is provided, all provided fields in the request are
  373. // updated. To update all fields, provide a field mask of "*".
  374. google.protobuf.FieldMask update_mask = 2;
  375. // Required. If set, validate the request and preview the review, but do not
  376. // post it.
  377. bool validate_only = 3 [(google.api.field_behavior) = REQUIRED];
  378. }
  379. // The request message for the DeleteChannel method.
  380. message DeleteChannelRequest {
  381. // Required. The name of the channel to be deleted.
  382. string name = 1 [
  383. (google.api.field_behavior) = REQUIRED,
  384. (google.api.resource_reference) = {
  385. type: "eventarc.googleapis.com/Channel"
  386. }
  387. ];
  388. // Required. If set, validate the request and preview the review, but do not
  389. // post it.
  390. bool validate_only = 2 [(google.api.field_behavior) = REQUIRED];
  391. }
  392. // The request message for the GetProvider method.
  393. message GetProviderRequest {
  394. // Required. The name of the provider to get.
  395. string name = 1 [
  396. (google.api.field_behavior) = REQUIRED,
  397. (google.api.resource_reference) = {
  398. type: "eventarc.googleapis.com/Provider"
  399. }
  400. ];
  401. }
  402. // The request message for the ListProviders method.
  403. message ListProvidersRequest {
  404. // Required. The parent of the provider to get.
  405. string parent = 1 [
  406. (google.api.field_behavior) = REQUIRED,
  407. (google.api.resource_reference) = {
  408. child_type: "eventarc.googleapis.com/Provider"
  409. }
  410. ];
  411. // The maximum number of providers to return on each page.
  412. int32 page_size = 2;
  413. // The page token; provide the value from the `next_page_token` field in a
  414. // previous `ListProviders` call to retrieve the subsequent page.
  415. //
  416. // When paginating, all other parameters provided to `ListProviders` must
  417. // match the call that provided the page token.
  418. string page_token = 3;
  419. // The sorting order of the resources returned. Value should be a
  420. // comma-separated list of fields. The default sorting oder is ascending. To
  421. // specify descending order for a field, append a `desc` suffix; for example:
  422. // `name desc, _id`.
  423. string order_by = 4;
  424. // The filter field that the list request will filter on.
  425. string filter = 5;
  426. }
  427. // The response message for the `ListProviders` method.
  428. message ListProvidersResponse {
  429. // The requested providers, up to the number specified in `page_size`.
  430. repeated Provider providers = 1;
  431. // A page token that can be sent to `ListProviders` to request the next page.
  432. // If this is empty, then there are no more pages.
  433. string next_page_token = 2;
  434. // Unreachable resources, if any.
  435. repeated string unreachable = 3;
  436. }
  437. // The request message for the GetChannelConnection method.
  438. message GetChannelConnectionRequest {
  439. // Required. The name of the channel connection to get.
  440. string name = 1 [
  441. (google.api.field_behavior) = REQUIRED,
  442. (google.api.resource_reference) = {
  443. type: "eventarc.googleapis.com/ChannelConnection"
  444. }
  445. ];
  446. }
  447. // The request message for the ListChannelConnections method.
  448. message ListChannelConnectionsRequest {
  449. // Required. The parent collection from which to list channel connections.
  450. string parent = 1 [
  451. (google.api.field_behavior) = REQUIRED,
  452. (google.api.resource_reference) = {
  453. child_type: "eventarc.googleapis.com/ChannelConnection"
  454. }
  455. ];
  456. // The maximum number of channel connections to return on each page.
  457. //
  458. // Note: The service may send fewer responses.
  459. int32 page_size = 2;
  460. // The page token; provide the value from the `next_page_token` field in a
  461. // previous `ListChannelConnections` call to retrieve the subsequent page.
  462. //
  463. // When paginating, all other parameters provided to `ListChannelConnetions`
  464. // match the call that provided the page token.
  465. string page_token = 3;
  466. }
  467. // The response message for the `ListChannelConnections` method.
  468. message ListChannelConnectionsResponse {
  469. // The requested channel connections, up to the number specified in
  470. // `page_size`.
  471. repeated ChannelConnection channel_connections = 1;
  472. // A page token that can be sent to `ListChannelConnections` to request the
  473. // next page.
  474. // If this is empty, then there are no more pages.
  475. string next_page_token = 2;
  476. // Unreachable resources, if any.
  477. repeated string unreachable = 3;
  478. }
  479. // The request message for the CreateChannelConnection method.
  480. message CreateChannelConnectionRequest {
  481. // Required. The parent collection in which to add this channel connection.
  482. string parent = 1 [
  483. (google.api.field_behavior) = REQUIRED,
  484. (google.api.resource_reference) = {
  485. child_type: "eventarc.googleapis.com/ChannelConnection"
  486. }
  487. ];
  488. // Required. Channel connection to create.
  489. ChannelConnection channel_connection = 2 [(google.api.field_behavior) = REQUIRED];
  490. // Required. The user-provided ID to be assigned to the channel connection.
  491. string channel_connection_id = 3 [(google.api.field_behavior) = REQUIRED];
  492. }
  493. // The request message for the DeleteChannelConnection method.
  494. message DeleteChannelConnectionRequest {
  495. // Required. The name of the channel connection to delete.
  496. string name = 1 [
  497. (google.api.field_behavior) = REQUIRED,
  498. (google.api.resource_reference) = {
  499. type: "eventarc.googleapis.com/ChannelConnection"
  500. }
  501. ];
  502. }
  503. // The request message for the UpdateGoogleChannelConfig method.
  504. message UpdateGoogleChannelConfigRequest {
  505. // Required. The config to be updated.
  506. GoogleChannelConfig google_channel_config = 1 [(google.api.field_behavior) = REQUIRED];
  507. // The fields to be updated; only fields explicitly provided are updated.
  508. // If no field mask is provided, all provided fields in the request are
  509. // updated. To update all fields, provide a field mask of "*".
  510. google.protobuf.FieldMask update_mask = 2;
  511. }
  512. // The request message for the GetGoogleChannelConfig method.
  513. message GetGoogleChannelConfigRequest {
  514. // Required. The name of the config to get.
  515. string name = 1 [
  516. (google.api.field_behavior) = REQUIRED,
  517. (google.api.resource_reference) = {
  518. type: "eventarc.googleapis.com/GoogleChannelConfig"
  519. }
  520. ];
  521. }
  522. // Represents the metadata of the long-running operation.
  523. message OperationMetadata {
  524. // Output only. The time the operation was created.
  525. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  526. // Output only. The time the operation finished running.
  527. google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  528. // Output only. Server-defined resource path for the target of the operation.
  529. string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  530. // Output only. Name of the verb executed by the operation.
  531. string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  532. // Output only. Human-readable status of the operation, if any.
  533. string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  534. // Output only. Identifies whether the user has requested cancellation
  535. // of the operation. Operations that have successfully been cancelled
  536. // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
  537. // corresponding to `Code.CANCELLED`.
  538. bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  539. // Output only. API version used to start the operation.
  540. string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  541. }