From 45d2a569ab526a1fad3720f95eefb1c7330eaada Mon Sep 17 00:00:00 2001 From: Google APIs Date: Wed, 5 Feb 2020 21:13:58 -0800 Subject: [PATCH] Enable client generation for v1 ManagedIdentities API. PiperOrigin-RevId: 293515675 --- .../v1/managed_identities_service.proto | 76 ++++- .../v1/managedidentities_gapic.yaml | 284 +----------------- ...managedidentities_grpc_service_config.json | 49 +++ .../cloud/managedidentities/v1/resource.proto | 6 + 4 files changed, 125 insertions(+), 290 deletions(-) create mode 100644 google/cloud/managedidentities/v1/managedidentities_grpc_service_config.json diff --git a/google/cloud/managedidentities/v1/managed_identities_service.proto b/google/cloud/managedidentities/v1/managed_identities_service.proto index bad1e166..06ffa3f3 100644 --- a/google/cloud/managedidentities/v1/managed_identities_service.proto +++ b/google/cloud/managedidentities/v1/managed_identities_service.proto @@ -18,12 +18,13 @@ syntax = "proto3"; package google.cloud.managedidentities.v1; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/cloud/managedidentities/v1/resource.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; -import "google/api/client.proto"; option csharp_namespace = "Google.Cloud.ManagedIdentities.V1"; option go_package = "google.golang.org/genproto/googleapis/cloud/managedidentities/v1;managedidentities"; @@ -75,6 +76,7 @@ service ManagedIdentitiesService { post: "/v1/{parent=projects/*/locations/global}/domains" body: "domain" }; + option (google.api.method_signature) = "parent,domain_name,domain"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -87,6 +89,7 @@ service ManagedIdentitiesService { post: "/v1/{name=projects/*/locations/global/domains/*}:resetAdminPassword" body: "*" }; + option (google.api.method_signature) = "name"; } // Lists domains in a project. @@ -94,6 +97,7 @@ service ManagedIdentitiesService { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/global}/domains" }; + option (google.api.method_signature) = "parent"; } // Gets information about a domain. @@ -101,6 +105,7 @@ service ManagedIdentitiesService { option (google.api.http) = { get: "/v1/{name=projects/*/locations/global/domains/*}" }; + option (google.api.method_signature) = "name"; } // Updates the metadata and configuration of a domain. @@ -109,6 +114,7 @@ service ManagedIdentitiesService { patch: "/v1/{domain.name=projects/*/locations/global/domains/*}" body: "domain" }; + option (google.api.method_signature) = "domain,update_mask"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -120,6 +126,7 @@ service ManagedIdentitiesService { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/global/domains/*}" }; + option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" metadata_type: "OpMetadata" @@ -132,6 +139,7 @@ service ManagedIdentitiesService { post: "/v1/{name=projects/*/locations/global/domains/*}:attachTrust" body: "*" }; + option (google.api.method_signature) = "name,trust"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -144,6 +152,7 @@ service ManagedIdentitiesService { post: "/v1/{name=projects/*/locations/global/domains/*}:reconfigureTrust" body: "*" }; + option (google.api.method_signature) = "name,target_domain_name,target_dns_ip_addresses"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -156,6 +165,7 @@ service ManagedIdentitiesService { post: "/v1/{name=projects/*/locations/global/domains/*}:detachTrust" body: "*" }; + option (google.api.method_signature) = "name,trust"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -169,6 +179,7 @@ service ManagedIdentitiesService { post: "/v1/{name=projects/*/locations/global/domains/*}:validateTrust" body: "*" }; + option (google.api.method_signature) = "name,trust"; option (google.longrunning.operation_info) = { response_type: "Domain" metadata_type: "OpMetadata" @@ -205,7 +216,12 @@ message OpMetadata { message CreateMicrosoftAdDomainRequest { // Required. The resource project name and location using the form: // `projects/{project_id}/locations/global` - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "managedidentities.googleapis.com/Domain" + } + ]; // Required. The fully qualified domain name. // e.g. mydomain.myorganization.com, with the following restrictions: @@ -230,7 +246,12 @@ message CreateMicrosoftAdDomainRequest { message ResetAdminPasswordRequest { // Required. The domain resource name using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; } // Response message for @@ -245,7 +266,12 @@ message ResetAdminPasswordResponse { message ListDomainsRequest { // Required. The resource name of the domain location using the form: // `projects/{project_id}/locations/global` - string parent = 1 [(google.api.field_behavior) = REQUIRED]; + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "managedidentities.googleapis.com/Domain" + } + ]; // Optional. The maximum number of items to return. // If not specified, a default value of 1000 will be used. @@ -288,7 +314,12 @@ message ListDomainsResponse { message GetDomainRequest { // Required. The domain resource name using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; } // Request message for @@ -312,7 +343,12 @@ message UpdateDomainRequest { message DeleteDomainRequest { // Required. The domain resource name using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; } // Request message for @@ -320,7 +356,12 @@ message DeleteDomainRequest { message AttachTrustRequest { // Required. The resource domain name, project name and location using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; // Required. The domain trust resource. Trust trust = 2 [(google.api.field_behavior) = REQUIRED]; @@ -331,7 +372,12 @@ message AttachTrustRequest { message ReconfigureTrustRequest { // Required. The resource domain name, project name and location using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; // Required. The fully-qualified target domain name which will be in trust with current // domain. @@ -347,7 +393,12 @@ message ReconfigureTrustRequest { message DetachTrustRequest { // Required. The resource domain name, project name, and location using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; // Required. The domain trust resource to removed. Trust trust = 2 [(google.api.field_behavior) = REQUIRED]; @@ -358,7 +409,12 @@ message DetachTrustRequest { message ValidateTrustRequest { // Required. The resource domain name, project name, and location using the form: // `projects/{project_id}/locations/global/domains/{domain_name}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "managedidentities.googleapis.com/Domain" + } + ]; // Required. The domain trust to validate trust state for. Trust trust = 2 [(google.api.field_behavior) = REQUIRED]; diff --git a/google/cloud/managedidentities/v1/managedidentities_gapic.yaml b/google/cloud/managedidentities/v1/managedidentities_gapic.yaml index 43ed89ca..307c02c5 100644 --- a/google/cloud/managedidentities/v1/managedidentities_gapic.yaml +++ b/google/cloud/managedidentities/v1/managedidentities_gapic.yaml @@ -1,5 +1,5 @@ type: com.google.api.codegen.ConfigProto -config_schema_version: 1.0.0 +config_schema_version: 2.0.0 # The settings of generated code in a specific language. language_settings: java: @@ -9,286 +9,10 @@ language_settings: go: package_name: cloud.google.com/go/managedidentities/apiv1 csharp: - package_name: Google.Cloud.Managedidentities.V1 + package_name: Google.Cloud.ManagedIdentities.V1 ruby: - package_name: Google::Cloud::Managedidentities::V1 + package_name: Google::Cloud::ManagedIdentities::V1 php: - package_name: Google\Cloud\Managedidentities\V1 + package_name: Google\Cloud\ManagedIdentities\V1 nodejs: package_name: managedidentities.v1 -# A list of API interface configurations. -interfaces: -# The fully qualified name of the API interface. -- name: google.cloud.managedidentities.v1.ManagedIdentitiesService - # A list of resource collection configurations. - # Consists of a name_pattern and an entity_name. - # The name_pattern is a pattern to describe the names of the resources of this - # collection, using the platform's conventions for URI patterns. A generator - # may use this to generate methods to compose and decompose such names. The - # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; - # those will be taken as hints for the parameter names of the generated - # methods. If empty, no name methods are generated. - # The entity_name is the name to be used as a basis for generated methods and - # classes. - collections: - - name_pattern: projects/{project}/locations/global - entity_name: project_locations - - name_pattern: projects/{project}/locations/global/domains/{domain} - entity_name: domain - # Definition for retryable codes. - retry_codes_def: - - name: idempotent - retry_codes: - - DEADLINE_EXCEEDED - - UNAVAILABLE - - name: non_idempotent - retry_codes: [] - # Definition for retry/backoff parameters. - retry_params_def: - - name: default - initial_retry_delay_millis: 100 - retry_delay_multiplier: 1.3 - max_retry_delay_millis: 60000 - initial_rpc_timeout_millis: 20000 - rpc_timeout_multiplier: 1 - max_rpc_timeout_millis: 20000 - total_timeout_millis: 600000 - # A list of method configurations. - # Common properties: - # - # name - The simple name of the method. - # - # flattening - Specifies the configuration for parameter flattening. - # Describes the parameter groups for which a generator should produce method - # overloads which allow a client to directly pass request message fields as - # method parameters. This information may or may not be used, depending on - # the target language. - # Consists of groups, which each represent a list of parameters to be - # flattened. Each parameter listed must be a field of the request message. - # - # required_fields - Fields that are always required for a request to be - # valid. - # - # page_streaming - Specifies the configuration for paging. - # Describes information for generating a method which transforms a paging - # list RPC into a stream of resources. - # Consists of a request and a response. - # The request specifies request information of the list method. It defines - # which fields match the paging pattern in the request. The request consists - # of a page_size_field and a token_field. The page_size_field is the name of - # the optional field specifying the maximum number of elements to be - # returned in the response. The token_field is the name of the field in the - # request containing the page token. - # The response specifies response information of the list method. It defines - # which fields match the paging pattern in the response. The response - # consists of a token_field and a resources_field. The token_field is the - # name of the field in the response containing the next page token. The - # resources_field is the name of the field in the response containing the - # list of resources belonging to the page. - # - # retry_codes_name - Specifies the configuration for retryable codes. The - # name must be defined in interfaces.retry_codes_def. - # - # retry_params_name - Specifies the configuration for retry/backoff - # parameters. The name must be defined in interfaces.retry_params_def. - # - # field_name_patterns - Maps the field name of the request type to - # entity_name of interfaces.collections. - # Specifies the string pattern that the field must follow. - # - # timeout_millis - Specifies the default timeout for a non-retrying call. If - # the call is retrying, refer to retry_params_name instead. - methods: - - name: CreateMicrosoftAdDomain - flattening: - groups: - - parameters: - - parent - - domain_name - - domain - required_fields: - - parent - - domain_name - - domain - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - parent: project_locations - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 60000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 360000 - total_poll_timeout_millis: 54000000 - timeout_millis: 60000 - - name: ResetAdminPassword - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: domain - timeout_millis: 60000 - - name: ListDomains - flattening: - groups: - - parameters: - - parent - - filter - - order_by - required_fields: - - parent - page_streaming: - request: - page_size_field: page_size - token_field: page_token - response: - token_field: next_page_token - resources_field: domains - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - parent: project_locations - timeout_millis: 60000 - - name: GetDomain - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: domain - timeout_millis: 60000 - - name: UpdateDomain - flattening: - groups: - - parameters: - - domain - - update_mask - required_fields: - - domain - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - domain.name: domain - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 60000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 360000 - total_poll_timeout_millis: 54000000 - timeout_millis: 60000 - - name: DeleteDomain - flattening: - groups: - - parameters: - - name - required_fields: - - name - retry_codes_name: idempotent - retry_params_name: default - field_name_patterns: - name: domain - long_running: - return_type: google.protobuf.Empty - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 10000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 60000 - total_poll_timeout_millis: 900000 - timeout_millis: 60000 - - name: AttachTrust - flattening: - groups: - - parameters: - - name - - trust - required_fields: - - name - - trust - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: domain - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 10000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 60000 - total_poll_timeout_millis: 600000 - timeout_millis: 60000 - - name: ReconfigureTrust - flattening: - groups: - - parameters: - - name - - target_domain_name - - target_dns_ip_addresses - required_fields: - - name - - target_domain_name - - target_dns_ip_addresses - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: domain - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 10000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 60000 - total_poll_timeout_millis: 600000 - timeout_millis: 60000 - - name: DetachTrust - flattening: - groups: - - parameters: - - name - - trust - required_fields: - - name - - trust - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: domain - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 10000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 60000 - total_poll_timeout_millis: 600000 - timeout_millis: 60000 - - name: ValidateTrust - flattening: - groups: - - parameters: - - name - - trust - required_fields: - - name - - trust - retry_codes_name: non_idempotent - retry_params_name: default - field_name_patterns: - name: domain - long_running: - return_type: google.cloud.managedidentities.v1.Domain - metadata_type: google.cloud.managedidentities.v1.OpMetadata - initial_poll_delay_millis: 10000 - poll_delay_multiplier: 1.5 - max_poll_delay_millis: 60000 - total_poll_timeout_millis: 600000 - timeout_millis: 60000 diff --git a/google/cloud/managedidentities/v1/managedidentities_grpc_service_config.json b/google/cloud/managedidentities/v1/managedidentities_grpc_service_config.json new file mode 100644 index 00000000..53a941b0 --- /dev/null +++ b/google/cloud/managedidentities/v1/managedidentities_grpc_service_config.json @@ -0,0 +1,49 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "CreateMicrosoftAdDomain" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "ResetAdminPassword" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "ListDomains" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "GetDomain" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "UpdateDomain" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "DeleteDomain" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "AttachTrust" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "ReconfigureTrust" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "DetachTrust" + }, + { + "service": "google.cloud.managedidentities.v1.ManagedIdentitiesService", + "method": "ValidateTrust" + } + ], + "timeout": "60s" + } + ] +} diff --git a/google/cloud/managedidentities/v1/resource.proto b/google/cloud/managedidentities/v1/resource.proto index 86af276b..8fc5f938 100644 --- a/google/cloud/managedidentities/v1/resource.proto +++ b/google/cloud/managedidentities/v1/resource.proto @@ -18,6 +18,7 @@ syntax = "proto3"; package google.cloud.managedidentities.v1; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; @@ -29,6 +30,11 @@ option java_package = "com.google.cloud.managedidentities.v1"; // Represents a managed Microsoft Active Directory domain. message Domain { + option (google.api.resource) = { + type: "managedidentities.googleapis.com/Domain" + pattern: "projects/{project}/locations/{location}/domains/{domain}" + }; + // Represents the different states of a managed domain. enum State { // Not set.