v1beta1.proto 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  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.datafusion.v1beta1;
  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/iam/v1/policy.proto";
  21. import "google/longrunning/operations.proto";
  22. import "google/protobuf/field_mask.proto";
  23. import "google/protobuf/timestamp.proto";
  24. import "google/rpc/status.proto";
  25. option csharp_namespace = "Google.Cloud.DataFusion.V1Beta1";
  26. option go_package = "google.golang.org/genproto/googleapis/cloud/datafusion/v1beta1;datafusion";
  27. option java_multiple_files = true;
  28. option java_package = "com.google.cloud.datafusion.v1beta1";
  29. option php_namespace = "Google\\Cloud\\DataFusion\\V1beta1";
  30. option ruby_package = "Google::Cloud::DataFusion::V1beta1";
  31. // Service for creating and managing Data Fusion instances.
  32. // Data Fusion enables ETL developers to build code-free, data integration
  33. // pipelines via a point-and-click UI.
  34. service DataFusion {
  35. option (google.api.default_host) = "datafusion.googleapis.com";
  36. option (google.api.oauth_scopes) =
  37. "https://www.googleapis.com/auth/cloud-platform";
  38. // Lists possible versions for Data Fusion instances in the specified project
  39. // and location.
  40. rpc ListAvailableVersions(ListAvailableVersionsRequest)
  41. returns (ListAvailableVersionsResponse) {
  42. option (google.api.http) = {
  43. get: "/v1beta1/{parent=projects/*/locations/*}/versions"
  44. };
  45. option (google.api.method_signature) = "parent";
  46. }
  47. // Lists Data Fusion instances in the specified project and location.
  48. rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
  49. option (google.api.http) = {
  50. get: "/v1beta1/{parent=projects/*/locations/*}/instances"
  51. };
  52. }
  53. // Gets details of a single Data Fusion instance.
  54. rpc GetInstance(GetInstanceRequest) returns (Instance) {
  55. option (google.api.http) = {
  56. get: "/v1beta1/{name=projects/*/locations/*/instances/*}"
  57. };
  58. }
  59. // Creates a new Data Fusion instance in the specified project and location.
  60. rpc CreateInstance(CreateInstanceRequest)
  61. returns (google.longrunning.Operation) {
  62. option (google.api.http) = {
  63. post: "/v1beta1/{parent=projects/*/locations/*}/instances"
  64. body: "instance"
  65. };
  66. option (google.api.method_signature) = "parent,instance,instance_id";
  67. option (google.longrunning.operation_info) = {
  68. response_type: "Instance"
  69. metadata_type: "OperationMetadata"
  70. };
  71. }
  72. // Deletes a single Data Fusion instance.
  73. rpc DeleteInstance(DeleteInstanceRequest)
  74. returns (google.longrunning.Operation) {
  75. option (google.api.http) = {
  76. delete: "/v1beta1/{name=projects/*/locations/*/instances/*}"
  77. };
  78. option (google.api.method_signature) = "name";
  79. option (google.longrunning.operation_info) = {
  80. response_type: "google.protobuf.Empty"
  81. metadata_type: "OperationMetadata"
  82. };
  83. }
  84. // Updates a single Data Fusion instance.
  85. rpc UpdateInstance(UpdateInstanceRequest)
  86. returns (google.longrunning.Operation) {
  87. option (google.api.http) = {
  88. patch: "/v1beta1/{instance.name=projects/*/locations/*/instances/*}"
  89. body: "instance"
  90. };
  91. option (google.api.method_signature) = "instance,update_mask";
  92. option (google.longrunning.operation_info) = {
  93. response_type: "Instance"
  94. metadata_type: "OperationMetadata"
  95. };
  96. }
  97. // Restart a single Data Fusion instance.
  98. // At the end of an operation instance is fully restarted.
  99. rpc RestartInstance(RestartInstanceRequest)
  100. returns (google.longrunning.Operation) {
  101. option (google.api.http) = {
  102. post: "/v1beta1/{name=projects/*/locations/*/instances/*}:restart"
  103. body: "*"
  104. };
  105. option (google.longrunning.operation_info) = {
  106. response_type: "Instance"
  107. metadata_type: "OperationMetadata"
  108. };
  109. }
  110. // Upgrade a single Data Fusion instance.
  111. // At the end of an operation instance is fully upgraded.
  112. rpc UpgradeInstance(UpgradeInstanceRequest)
  113. returns (google.longrunning.Operation) {
  114. option (google.api.http) = {
  115. post: "/v1beta1/{name=projects/*/locations/*/instances/*}:upgrade"
  116. body: "*"
  117. };
  118. option (google.longrunning.operation_info) = {
  119. response_type: "Instance"
  120. metadata_type: "OperationMetadata"
  121. };
  122. }
  123. // Remove IAM policy that is currently set on the given resource.
  124. rpc RemoveIamPolicy(RemoveIamPolicyRequest)
  125. returns (RemoveIamPolicyResponse) {
  126. option (google.api.http) = {
  127. post: "/v1beta1/{resource=projects/*/locations/*/**}:removeIamPolicy"
  128. body: "*"
  129. };
  130. }
  131. // List namespaces in a given instance
  132. rpc ListNamespaces(ListNamespacesRequest) returns (ListNamespacesResponse) {
  133. option (google.api.http) = {
  134. get: "/v1beta1/{parent=projects/*/locations/*/instances/*}/namespaces"
  135. };
  136. option (google.api.method_signature) = "parent";
  137. }
  138. // Add DNS peering on the given resource.
  139. rpc AddDnsPeering(AddDnsPeeringRequest) returns (AddDnsPeeringResponse) {
  140. option (google.api.http) = {
  141. post: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:add"
  142. body: "*"
  143. };
  144. option (google.api.method_signature) = "parent";
  145. }
  146. // Remove DNS peering on the given resource.
  147. rpc RemoveDnsPeering(RemoveDnsPeeringRequest)
  148. returns (RemoveDnsPeeringResponse) {
  149. option (google.api.http) = {
  150. post: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:remove"
  151. body: "*"
  152. };
  153. option (google.api.method_signature) = "parent";
  154. }
  155. // List DNS peering for a given resource.
  156. rpc ListDnsPeerings(ListDnsPeeringsRequest)
  157. returns (ListDnsPeeringsResponse) {
  158. option (google.api.http) = {
  159. get: "/v1beta1/{parent=projects/*/locations/*/instances/*}/dnsPeerings:list"
  160. };
  161. option (google.api.method_signature) = "parent";
  162. }
  163. }
  164. // Network configuration for a Data Fusion instance. These configurations
  165. // are used for peering with the customer network. Configurations are optional
  166. // when a public Data Fusion instance is to be created. However, providing
  167. // these configurations allows several benefits, such as reduced network latency
  168. // while accessing the customer resources from managed Data Fusion instance
  169. // nodes, as well as access to the customer on-prem resources.
  170. message NetworkConfig {
  171. // Name of the network in the customer project with which the Tenant Project
  172. // will be peered for executing pipelines. In case of shared VPC where the
  173. // network resides in another host project the network should specified in
  174. // the form of projects/{host-project-id}/global/networks/{network}
  175. string network = 1;
  176. // The IP range in CIDR notation to use for the managed Data Fusion instance
  177. // nodes. This range must not overlap with any other ranges used in the Data
  178. // Fusion instance network.
  179. string ip_allocation = 2;
  180. }
  181. // The Data Fusion version.
  182. message Version {
  183. // The version number of the Data Fusion instance, such as '6.0.1.0'.
  184. string version_number = 1;
  185. // Whether this is currently the default version for Cloud Data Fusion
  186. bool default_version = 2;
  187. // Represents a list of available feature names for a given version.
  188. repeated string available_features = 3;
  189. }
  190. // Identifies Data Fusion accelerators for an instance.
  191. message Accelerator {
  192. // Each type represents an Accelerator (Add-On) supported by Cloud Data Fusion
  193. // service.
  194. enum AcceleratorType {
  195. // Default value, if unspecified.
  196. ACCELERATOR_TYPE_UNSPECIFIED = 0;
  197. // Change Data Capture accelerator for CDF.
  198. CDC = 1;
  199. // Cloud Healthcare accelerator for CDF. This accelerator is to enable Cloud
  200. // Healthcare specific CDF plugins developed by Healthcare team.
  201. HEALTHCARE = 2;
  202. }
  203. // The type of an accelator for a CDF instance.
  204. AcceleratorType accelerator_type = 1;
  205. }
  206. // The crypto key configuration. This field is used by the Customer-managed
  207. // encryption keys (CMEK) feature.
  208. message CryptoKeyConfig {
  209. // The name of the key which is used to encrypt/decrypt customer data. For key
  210. // in Cloud KMS, the key should be in the format of
  211. // `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
  212. string key_reference = 1;
  213. }
  214. // Represents a Data Fusion instance.
  215. message Instance {
  216. option (google.api.resource) = {
  217. type: "datafusion.googleapis.com/Instance"
  218. pattern: "projects/{project}/locations/{location}/instances/{instance}"
  219. };
  220. // Represents the type of Data Fusion instance. Each type is configured with
  221. // the default settings for processing and memory.
  222. enum Type {
  223. // No type specified. The instance creation will fail.
  224. TYPE_UNSPECIFIED = 0;
  225. // Basic Data Fusion instance. In Basic type, the user will be able to
  226. // create data pipelines using point and click UI. However, there are
  227. // certain limitations, such as fewer number of concurrent pipelines, no
  228. // support for streaming pipelines, etc.
  229. BASIC = 1;
  230. // Enterprise Data Fusion instance. In Enterprise type, the user will have
  231. // all features available, such as support for streaming pipelines,
  232. // unlimited number of concurrent pipelines, etc.
  233. ENTERPRISE = 2;
  234. // Developer Data Fusion instance. In Developer type, the user will have all
  235. // features available but with restrictive capabilities. This is to help
  236. // enterprises design and develop their data ingestion and integration
  237. // pipelines at low cost.
  238. DEVELOPER = 3;
  239. }
  240. // Represents the state of a Data Fusion instance
  241. enum State {
  242. // Instance does not have a state yet
  243. STATE_UNSPECIFIED = 0;
  244. // Instance is being created
  245. CREATING = 1;
  246. // Instance is running and ready for requests
  247. RUNNING = 2;
  248. // Instance creation failed
  249. FAILED = 3;
  250. // Instance is being deleted
  251. DELETING = 4;
  252. // Instance is being upgraded
  253. UPGRADING = 5;
  254. // Instance is being restarted
  255. RESTARTING = 6;
  256. // Instance is being updated on customer request
  257. UPDATING = 7;
  258. // Instance is being auto-updated
  259. AUTO_UPDATING = 8;
  260. // Instance is being auto-upgraded
  261. AUTO_UPGRADING = 9;
  262. }
  263. // Output only. The name of this instance is in the form of
  264. // projects/{project}/locations/{location}/instances/{instance}.
  265. string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  266. // A description of this instance.
  267. string description = 2;
  268. // Required. Instance type.
  269. Type type = 3 [(google.api.field_behavior) = REQUIRED];
  270. // Option to enable Stackdriver Logging.
  271. bool enable_stackdriver_logging = 4;
  272. // Option to enable Stackdriver Monitoring.
  273. bool enable_stackdriver_monitoring = 5;
  274. // Specifies whether the Data Fusion instance should be private. If set to
  275. // true, all Data Fusion nodes will have private IP addresses and will not be
  276. // able to access the public internet.
  277. bool private_instance = 6;
  278. // Network configuration options. These are required when a private Data
  279. // Fusion instance is to be created.
  280. NetworkConfig network_config = 7;
  281. // The resource labels for instance to use to annotate any related underlying
  282. // resources such as Compute Engine VMs. The character '=' is not allowed to
  283. // be used within the labels.
  284. map<string, string> labels = 8;
  285. // Map of additional options used to configure the behavior of
  286. // Data Fusion instance.
  287. map<string, string> options = 9;
  288. // Output only. The time the instance was created.
  289. google.protobuf.Timestamp create_time = 10
  290. [(google.api.field_behavior) = OUTPUT_ONLY];
  291. // Output only. The time the instance was last updated.
  292. google.protobuf.Timestamp update_time = 11
  293. [(google.api.field_behavior) = OUTPUT_ONLY];
  294. // Output only. The current state of this Data Fusion instance.
  295. State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  296. // Output only. Additional information about the current state of this Data
  297. // Fusion instance if available.
  298. string state_message = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
  299. // Output only. Endpoint on which the Data Fusion UI is accessible.
  300. string service_endpoint = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
  301. // Name of the zone in which the Data Fusion instance will be created. Only
  302. // DEVELOPER instances use this field.
  303. string zone = 15;
  304. // Current version of Data Fusion.
  305. string version = 16;
  306. // Output only. Deprecated. Use tenant_project_id instead to extract the
  307. // tenant project ID.
  308. string service_account = 17
  309. [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
  310. // Display name for an instance.
  311. string display_name = 18;
  312. // Available versions that the instance can be upgraded to using
  313. // UpdateInstanceRequest.
  314. repeated Version available_version = 19;
  315. // Output only. Endpoint on which the REST APIs is accessible.
  316. string api_endpoint = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
  317. // Output only. Cloud Storage bucket generated by Data Fusion in the customer
  318. // project.
  319. string gcs_bucket = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  320. // List of accelerators enabled for this CDF instance.
  321. repeated Accelerator accelerators = 22;
  322. // Output only. P4 service account for the customer project.
  323. string p4_service_account = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
  324. // Output only. The name of the tenant project.
  325. string tenant_project_id = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
  326. // User-managed service account to set on Dataproc when Cloud Data Fusion
  327. // creates Dataproc to run data processing pipelines.
  328. //
  329. // This allows users to have fine-grained access control on Dataproc's
  330. // accesses to cloud resources.
  331. string dataproc_service_account = 25;
  332. // Option to enable granular role-based access control.
  333. bool enable_rbac = 26;
  334. // The crypto key configuration. This field is used by the Customer-Managed
  335. // Encryption Keys (CMEK) feature.
  336. CryptoKeyConfig crypto_key_config = 27;
  337. }
  338. // Request message for listing Data Fusion instances.
  339. message ListInstancesRequest {
  340. // The project and location for which to retrieve instance information
  341. // in the format projects/{project}/locations/{location}. If the location is
  342. // specified as '-' (wildcard), then all regions available to the project
  343. // are queried, and the results are aggregated.
  344. string parent = 1;
  345. // The maximum number of items to return.
  346. int32 page_size = 2;
  347. // The next_page_token value to use if there are additional
  348. // results to retrieve for this list request.
  349. string page_token = 3;
  350. // List filter.
  351. string filter = 4;
  352. // Sort results. Supported values are "name", "name desc", or "" (unsorted).
  353. string order_by = 5;
  354. }
  355. // Response message for the list instance request.
  356. message ListInstancesResponse {
  357. // Represents a list of Data Fusion instances.
  358. repeated Instance instances = 1;
  359. // Token to retrieve the next page of results or empty if there are no more
  360. // results in the list.
  361. string next_page_token = 2;
  362. // Locations that could not be reached.
  363. repeated string unreachable = 3;
  364. }
  365. // Request message for the list available versions request.
  366. message ListAvailableVersionsRequest {
  367. // Required. The project and location for which to retrieve instance
  368. // information in the format projects/{project}/locations/{location}.
  369. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  370. // The maximum number of items to return.
  371. int32 page_size = 2;
  372. // The next_page_token value to use if there are additional
  373. // results to retrieve for this list request.
  374. string page_token = 3;
  375. // Whether or not to return the latest patch of every available minor version.
  376. // If true, only the latest patch will be returned. Ex. if allowed versions is
  377. // [6.1.1, 6.1.2, 6.2.0] then response will be [6.1.2, 6.2.0]
  378. bool latest_patch_only = 4;
  379. }
  380. // Response message for the list available versions request.
  381. message ListAvailableVersionsResponse {
  382. // Represents a list of versions that are supported.
  383. repeated Version available_versions = 1;
  384. // Token to retrieve the next page of results or empty if there are no more
  385. // results in the list.
  386. string next_page_token = 2;
  387. }
  388. // Request message for getting details about a Data Fusion instance.
  389. message GetInstanceRequest {
  390. // The instance resource name in the format
  391. // projects/{project}/locations/{location}/instances/{instance}.
  392. string name = 1;
  393. }
  394. // Request message for creating a Data Fusion instance.
  395. message CreateInstanceRequest {
  396. // The instance's project and location in the format
  397. // projects/{project}/locations/{location}.
  398. string parent = 1;
  399. // The name of the instance to create.
  400. string instance_id = 2;
  401. // An instance resource.
  402. Instance instance = 3;
  403. }
  404. // Request message for deleting a Data Fusion instance.
  405. message DeleteInstanceRequest {
  406. // The instance resource name in the format
  407. // projects/{project}/locations/{location}/instances/{instance}
  408. string name = 1;
  409. }
  410. // Request message for updating a Data Fusion instance.
  411. // Data Fusion only allows updating the labels, options, and stack driver
  412. // settings.
  413. message UpdateInstanceRequest {
  414. // The instance resource that replaces the resource on the server. Currently,
  415. // Data Fusion only allows replacing labels, options, and stack driver
  416. // settings. All other fields will be ignored.
  417. Instance instance = 1;
  418. // Field mask is used to specify the fields that the update will overwrite
  419. // in an instance resource. The fields specified in the update_mask are
  420. // relative to the resource, not the full request.
  421. // A field will be overwritten if it is in the mask.
  422. // If the user does not provide a mask, all the supported fields (labels and
  423. // options currently) will be overwritten.
  424. google.protobuf.FieldMask update_mask = 2;
  425. }
  426. // Request message for restarting a Data Fusion instance.
  427. message RestartInstanceRequest {
  428. // Name of the Data Fusion instance which need to be restarted in the form of
  429. // projects/{project}/locations/{location}/instances/{instance}
  430. string name = 1;
  431. }
  432. // Request message for upgrading a Data Fusion instance.
  433. // To change the instance properties, instance update should be used.
  434. message UpgradeInstanceRequest {
  435. // Name of the Data Fusion instance which need to be upgraded in the form of
  436. // projects/{project}/locations/{location}/instances/{instance}
  437. // Instance will be upgraded with the latest stable version of the Data
  438. // Fusion.
  439. string name = 1;
  440. }
  441. // Represents the metadata of a long-running operation.
  442. message OperationMetadata {
  443. // The time the operation was created.
  444. google.protobuf.Timestamp create_time = 1;
  445. // The time the operation finished running.
  446. google.protobuf.Timestamp end_time = 2;
  447. // Server-defined resource path for the target of the operation.
  448. string target = 3;
  449. // Name of the verb executed by the operation.
  450. string verb = 4;
  451. // Human-readable status of the operation if any.
  452. string status_detail = 5;
  453. // Identifies whether the user has requested cancellation
  454. // of the operation. Operations that have successfully been cancelled
  455. // have [Operation.error][] value with a
  456. // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
  457. // `Code.CANCELLED`.
  458. bool requested_cancellation = 6;
  459. // API version used to start the operation.
  460. string api_version = 7;
  461. }
  462. // Request message for RemoveIamPolicy method.
  463. message RemoveIamPolicyRequest {
  464. // The resource on which IAM policy to be removed is attached to.
  465. string resource = 1;
  466. }
  467. // Response message for RemoveIamPolicy method.
  468. message RemoveIamPolicyResponse {}
  469. // List namespaces request.
  470. message ListNamespacesRequest {
  471. // Required. The instance to list its namespaces.
  472. string parent = 1 [
  473. (google.api.field_behavior) = REQUIRED,
  474. (google.api.resource_reference) = {
  475. type: "datafusion.googleapis.com/Instance"
  476. }
  477. ];
  478. // The maximum number of items to return.
  479. int32 page_size = 2;
  480. // The next_page_token value to use if there are additional
  481. // results to retrieve for this list request.
  482. string page_token = 3;
  483. // By default, only basic information about a namespace is returned
  484. // (e.g. name). When `NAMESPACE_VIEW_FULL` is specified, additional
  485. // information associated with a namespace gets returned
  486. // (e.g. IAM policy set on the namespace)
  487. NamespaceView view = 4;
  488. }
  489. // IAMPolicy encapsulates the IAM policy name, definition and status of
  490. // policy fetching.
  491. message IAMPolicy {
  492. // Policy definition if IAM policy fetching is successful,
  493. // otherwise empty.
  494. google.iam.v1.Policy policy = 1;
  495. // Status of iam policy fetching.
  496. google.rpc.Status status = 2;
  497. }
  498. // Represents the information of a namespace
  499. message Namespace {
  500. option (google.api.resource) = {
  501. type: "datafusion.googleapis.com/Namespace"
  502. pattern: "projects/{project}/locations/{location}/instances/{instance}/namespaces/{namespace}"
  503. };
  504. // Name of the given namespace.
  505. string name = 1;
  506. // IAM policy associated with this namespace.
  507. IAMPolicy iam_policy = 2;
  508. }
  509. // List namespaces response.
  510. message ListNamespacesResponse {
  511. // List of namespaces
  512. repeated Namespace namespaces = 1;
  513. // Token to retrieve the next page of results or empty if there are no more
  514. // results in the list.
  515. string next_page_token = 2;
  516. }
  517. // DNS peering configuration. These configurations are used to create
  518. // DNS peering with the customer Cloud DNS.
  519. message DnsPeering {
  520. // Required. Name of the zone.
  521. string zone = 1 [(google.api.field_behavior) = REQUIRED];
  522. // Required. Name of the dns.
  523. string domain = 2 [(google.api.field_behavior) = REQUIRED];
  524. // Optional. Optional description of the dns zone.
  525. string description = 3 [(google.api.field_behavior) = OPTIONAL];
  526. // Optional. Optional target project to which dns peering should happen.
  527. string target_project = 4 [(google.api.field_behavior) = OPTIONAL];
  528. // Optional. Optional target network to which dns peering should happen.
  529. string target_network = 5 [(google.api.field_behavior) = OPTIONAL];
  530. }
  531. // Request message to create dns peering.
  532. message AddDnsPeeringRequest {
  533. // The resource on which DNS peering will be created.
  534. string parent = 1;
  535. // Dns peering config.
  536. DnsPeering dns_peering = 2;
  537. }
  538. // Response message for set dns peering method.
  539. message AddDnsPeeringResponse {}
  540. // A view for Namespace
  541. enum NamespaceView {
  542. // Default/unset value, which will use BASIC view.
  543. NAMESPACE_VIEW_UNSPECIFIED = 0;
  544. // Show the most basic metadata of a namespace
  545. NAMESPACE_VIEW_BASIC = 1;
  546. // Returns all metadata of a namespace
  547. NAMESPACE_VIEW_FULL = 2;
  548. }
  549. // Request message to remove dns peering.
  550. message RemoveDnsPeeringRequest {
  551. // The resource on which DNS peering will be removed.
  552. string parent = 1;
  553. // Required. The zone to be removed.
  554. string zone = 2 [(google.api.field_behavior) = REQUIRED];
  555. }
  556. // Response message for set dns peering method.
  557. message RemoveDnsPeeringResponse {}
  558. // List dns peering request.
  559. message ListDnsPeeringsRequest {
  560. // Required. The resource on which dns peering will be listed.
  561. string parent = 1 [
  562. (google.api.field_behavior) = REQUIRED,
  563. (google.api.resource_reference) = {
  564. type: "datafusion.googleapis.com/Instance"
  565. }
  566. ];
  567. // The maximum number of items to return.
  568. int32 page_size = 2;
  569. // The next_page_token value to use if there are additional
  570. // results to retrieve for this list request.
  571. string page_token = 3;
  572. }
  573. // List dns peering response.
  574. message ListDnsPeeringsResponse {
  575. // List of dns peering configs.
  576. repeated DnsPeering dns_peerings = 1;
  577. // Token to retrieve the next page of results or empty if there are no more
  578. // results in the list.
  579. string next_page_token = 2;
  580. }