From e3f20cd1141dd5ca47b2323eb0fa029e255c78ec Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 6 Dec 2022 07:07:43 +0000 Subject: [PATCH] feat(servicemanagement): update the api #### servicemanagement:v1 The following keys were added: - schemas.BackendRule.properties.minDeadline (Total Keys: 2) - schemas.ClientLibrarySettings (Total Keys: 12) - schemas.CommonLanguageSettings (Total Keys: 5) - schemas.CppSettings (Total Keys: 3) - schemas.DotnetSettings (Total Keys: 3) - schemas.Endpoint.properties.aliases (Total Keys: 2) - schemas.GoSettings (Total Keys: 3) - schemas.JavaSettings (Total Keys: 6) - schemas.LongRunning (Total Keys: 10) - schemas.MethodSettings (Total Keys: 4) - schemas.NodeSettings (Total Keys: 3) - schemas.PhpSettings (Total Keys: 3) - schemas.Publishing (Total Keys: 13) - schemas.PythonSettings (Total Keys: 3) - schemas.RubySettings (Total Keys: 3) - schemas.Service.properties.publishing.$ref (Total Keys: 1) --- ...servicemanagement_v1.services.configs.html | 412 +++++++++++++++++- docs/dyn/servicemanagement_v1.services.html | 103 ++++- .../documents/servicemanagement.v1.json | 326 +++++++++++++- 3 files changed, 834 insertions(+), 7 deletions(-) diff --git a/docs/dyn/servicemanagement_v1.services.configs.html b/docs/dyn/servicemanagement_v1.services.configs.html index de85a2b82bb..f78b0019b7f 100644 --- a/docs/dyn/servicemanagement_v1.services.configs.html +++ b/docs/dyn/servicemanagement_v1.services.configs.html @@ -191,6 +191,7 @@

Method Details

"deadline": 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. "disableAuth": True or False, # When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. "jwtAudience": "A String", # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. + "minDeadline": 3.14, # Deprecated, do not use. "operationDeadline": 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline. "pathTranslation": "A String", "protocol": "A String", # The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -228,7 +229,7 @@

Method Details

}, ], }, - "control": { # Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. + "control": { # Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. "environment": "A String", # The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com }, "customError": { # Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError # Custom error configuration. @@ -266,6 +267,9 @@

Method Details

}, "endpoints": [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. { # `Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true + "aliases": [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on. + "A String", + ], "allowCors": True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed. "name": "A String", # The canonical name of this endpoint. "target": "A String", # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, "8.8.8.8" or "myservice.appspot.com". @@ -420,6 +424,103 @@

Method Details

}, "name": "A String", # The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name. "producerProjectId": "A String", # The Google project that owns this service. + "publishing": { # This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. # Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers. + "apiShortName": "A String", # Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: "speech". + "codeownerGithubTeams": [ # GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. + "A String", + ], + "docTagPrefix": "A String", # A prefix used in sample code when demarking regions to be included in documentation. + "documentationUri": "A String", # Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview + "githubLabel": "A String", # GitHub label to apply to issues and pull requests opened for this API. + "librarySettings": [ # Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. + { # Details about how and where to publish client libraries. + "cppSettings": { # Settings for C++ client libraries. # Settings for C++ client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "dotnetSettings": { # Settings for Dotnet client libraries. # Settings for .NET client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "goSettings": { # Settings for Go client libraries. # Settings for Go client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "javaSettings": { # Settings for Java client libraries. # Settings for legacy Java features, supported in the Service YAML. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + "libraryPackage": "A String", # The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 + "serviceClassNames": { # Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + "a_key": "A String", + }, + }, + "launchStage": "A String", # Launch stage of this version of the API. + "nodeSettings": { # Settings for Node client libraries. # Settings for Node client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "phpSettings": { # Settings for Php client libraries. # Settings for PHP client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "pythonSettings": { # Settings for Python client libraries. # Settings for Python client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "restNumericEnums": True or False, # When using transport=rest, the client request will encode enums as numbers rather than strings. + "rubySettings": { # Settings for Ruby client libraries. # Settings for Ruby client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "version": "A String", # Version of the API to apply these settings to. + }, + ], + "methodSettings": [ # A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. + { # Describes the generator configuration for a method. + "longRunning": { # Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). # Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes + "initialPollDelay": "A String", # Initial delay after which the first poll request will be made. Default value: 5 seconds. + "maxPollDelay": "A String", # Maximum time between two subsequent poll requests. Default value: 45 seconds. + "pollDelayMultiplier": 3.14, # Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. + "totalPollTimeout": "A String", # Total polling timeout. Default value: 5 minutes. + }, + "selector": "A String", # The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. + }, + ], + "newIssueUri": "A String", # Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + "organization": "A String", # For whom the client library is being published. + }, "quota": { # Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 # Quota configuration. "limits": [ # List of QuotaLimit definitions for the service. { # `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`. @@ -657,6 +758,7 @@

Method Details

"deadline": 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. "disableAuth": True or False, # When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. "jwtAudience": "A String", # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. + "minDeadline": 3.14, # Deprecated, do not use. "operationDeadline": 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline. "pathTranslation": "A String", "protocol": "A String", # The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -694,7 +796,7 @@

Method Details

}, ], }, - "control": { # Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. + "control": { # Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. "environment": "A String", # The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com }, "customError": { # Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError # Custom error configuration. @@ -732,6 +834,9 @@

Method Details

}, "endpoints": [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. { # `Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true + "aliases": [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on. + "A String", + ], "allowCors": True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed. "name": "A String", # The canonical name of this endpoint. "target": "A String", # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, "8.8.8.8" or "myservice.appspot.com". @@ -886,6 +991,103 @@

Method Details

}, "name": "A String", # The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name. "producerProjectId": "A String", # The Google project that owns this service. + "publishing": { # This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. # Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers. + "apiShortName": "A String", # Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: "speech". + "codeownerGithubTeams": [ # GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. + "A String", + ], + "docTagPrefix": "A String", # A prefix used in sample code when demarking regions to be included in documentation. + "documentationUri": "A String", # Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview + "githubLabel": "A String", # GitHub label to apply to issues and pull requests opened for this API. + "librarySettings": [ # Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. + { # Details about how and where to publish client libraries. + "cppSettings": { # Settings for C++ client libraries. # Settings for C++ client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "dotnetSettings": { # Settings for Dotnet client libraries. # Settings for .NET client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "goSettings": { # Settings for Go client libraries. # Settings for Go client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "javaSettings": { # Settings for Java client libraries. # Settings for legacy Java features, supported in the Service YAML. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + "libraryPackage": "A String", # The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 + "serviceClassNames": { # Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + "a_key": "A String", + }, + }, + "launchStage": "A String", # Launch stage of this version of the API. + "nodeSettings": { # Settings for Node client libraries. # Settings for Node client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "phpSettings": { # Settings for Php client libraries. # Settings for PHP client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "pythonSettings": { # Settings for Python client libraries. # Settings for Python client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "restNumericEnums": True or False, # When using transport=rest, the client request will encode enums as numbers rather than strings. + "rubySettings": { # Settings for Ruby client libraries. # Settings for Ruby client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "version": "A String", # Version of the API to apply these settings to. + }, + ], + "methodSettings": [ # A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. + { # Describes the generator configuration for a method. + "longRunning": { # Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). # Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes + "initialPollDelay": "A String", # Initial delay after which the first poll request will be made. Default value: 5 seconds. + "maxPollDelay": "A String", # Maximum time between two subsequent poll requests. Default value: 45 seconds. + "pollDelayMultiplier": 3.14, # Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. + "totalPollTimeout": "A String", # Total polling timeout. Default value: 5 minutes. + }, + "selector": "A String", # The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. + }, + ], + "newIssueUri": "A String", # Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + "organization": "A String", # For whom the client library is being published. + }, "quota": { # Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 # Quota configuration. "limits": [ # List of QuotaLimit definitions for the service. { # `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`. @@ -1135,6 +1337,7 @@

Method Details

"deadline": 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. "disableAuth": True or False, # When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. "jwtAudience": "A String", # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. + "minDeadline": 3.14, # Deprecated, do not use. "operationDeadline": 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline. "pathTranslation": "A String", "protocol": "A String", # The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -1172,7 +1375,7 @@

Method Details

}, ], }, - "control": { # Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. + "control": { # Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. "environment": "A String", # The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com }, "customError": { # Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError # Custom error configuration. @@ -1210,6 +1413,9 @@

Method Details

}, "endpoints": [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. { # `Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true + "aliases": [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on. + "A String", + ], "allowCors": True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed. "name": "A String", # The canonical name of this endpoint. "target": "A String", # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, "8.8.8.8" or "myservice.appspot.com". @@ -1364,6 +1570,103 @@

Method Details

}, "name": "A String", # The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name. "producerProjectId": "A String", # The Google project that owns this service. + "publishing": { # This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. # Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers. + "apiShortName": "A String", # Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: "speech". + "codeownerGithubTeams": [ # GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. + "A String", + ], + "docTagPrefix": "A String", # A prefix used in sample code when demarking regions to be included in documentation. + "documentationUri": "A String", # Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview + "githubLabel": "A String", # GitHub label to apply to issues and pull requests opened for this API. + "librarySettings": [ # Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. + { # Details about how and where to publish client libraries. + "cppSettings": { # Settings for C++ client libraries. # Settings for C++ client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "dotnetSettings": { # Settings for Dotnet client libraries. # Settings for .NET client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "goSettings": { # Settings for Go client libraries. # Settings for Go client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "javaSettings": { # Settings for Java client libraries. # Settings for legacy Java features, supported in the Service YAML. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + "libraryPackage": "A String", # The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 + "serviceClassNames": { # Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + "a_key": "A String", + }, + }, + "launchStage": "A String", # Launch stage of this version of the API. + "nodeSettings": { # Settings for Node client libraries. # Settings for Node client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "phpSettings": { # Settings for Php client libraries. # Settings for PHP client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "pythonSettings": { # Settings for Python client libraries. # Settings for Python client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "restNumericEnums": True or False, # When using transport=rest, the client request will encode enums as numbers rather than strings. + "rubySettings": { # Settings for Ruby client libraries. # Settings for Ruby client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "version": "A String", # Version of the API to apply these settings to. + }, + ], + "methodSettings": [ # A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. + { # Describes the generator configuration for a method. + "longRunning": { # Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). # Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes + "initialPollDelay": "A String", # Initial delay after which the first poll request will be made. Default value: 5 seconds. + "maxPollDelay": "A String", # Maximum time between two subsequent poll requests. Default value: 45 seconds. + "pollDelayMultiplier": 3.14, # Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. + "totalPollTimeout": "A String", # Total polling timeout. Default value: 5 minutes. + }, + "selector": "A String", # The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. + }, + ], + "newIssueUri": "A String", # Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + "organization": "A String", # For whom the client library is being published. + }, "quota": { # Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 # Quota configuration. "limits": [ # List of QuotaLimit definitions for the service. { # `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`. @@ -1613,6 +1916,7 @@

Method Details

"deadline": 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. "disableAuth": True or False, # When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. "jwtAudience": "A String", # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. + "minDeadline": 3.14, # Deprecated, do not use. "operationDeadline": 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline. "pathTranslation": "A String", "protocol": "A String", # The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -1650,7 +1954,7 @@

Method Details

}, ], }, - "control": { # Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. + "control": { # Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. "environment": "A String", # The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com }, "customError": { # Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError # Custom error configuration. @@ -1688,6 +1992,9 @@

Method Details

}, "endpoints": [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. { # `Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true + "aliases": [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on. + "A String", + ], "allowCors": True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed. "name": "A String", # The canonical name of this endpoint. "target": "A String", # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, "8.8.8.8" or "myservice.appspot.com". @@ -1842,6 +2149,103 @@

Method Details

}, "name": "A String", # The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name. "producerProjectId": "A String", # The Google project that owns this service. + "publishing": { # This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. # Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers. + "apiShortName": "A String", # Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: "speech". + "codeownerGithubTeams": [ # GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. + "A String", + ], + "docTagPrefix": "A String", # A prefix used in sample code when demarking regions to be included in documentation. + "documentationUri": "A String", # Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview + "githubLabel": "A String", # GitHub label to apply to issues and pull requests opened for this API. + "librarySettings": [ # Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. + { # Details about how and where to publish client libraries. + "cppSettings": { # Settings for C++ client libraries. # Settings for C++ client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "dotnetSettings": { # Settings for Dotnet client libraries. # Settings for .NET client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "goSettings": { # Settings for Go client libraries. # Settings for Go client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "javaSettings": { # Settings for Java client libraries. # Settings for legacy Java features, supported in the Service YAML. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + "libraryPackage": "A String", # The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 + "serviceClassNames": { # Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + "a_key": "A String", + }, + }, + "launchStage": "A String", # Launch stage of this version of the API. + "nodeSettings": { # Settings for Node client libraries. # Settings for Node client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "phpSettings": { # Settings for Php client libraries. # Settings for PHP client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "pythonSettings": { # Settings for Python client libraries. # Settings for Python client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "restNumericEnums": True or False, # When using transport=rest, the client request will encode enums as numbers rather than strings. + "rubySettings": { # Settings for Ruby client libraries. # Settings for Ruby client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "version": "A String", # Version of the API to apply these settings to. + }, + ], + "methodSettings": [ # A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. + { # Describes the generator configuration for a method. + "longRunning": { # Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). # Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes + "initialPollDelay": "A String", # Initial delay after which the first poll request will be made. Default value: 5 seconds. + "maxPollDelay": "A String", # Maximum time between two subsequent poll requests. Default value: 45 seconds. + "pollDelayMultiplier": 3.14, # Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. + "totalPollTimeout": "A String", # Total polling timeout. Default value: 5 minutes. + }, + "selector": "A String", # The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. + }, + ], + "newIssueUri": "A String", # Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + "organization": "A String", # For whom the client library is being published. + }, "quota": { # Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 # Quota configuration. "limits": [ # List of QuotaLimit definitions for the service. { # `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`. diff --git a/docs/dyn/servicemanagement_v1.services.html b/docs/dyn/servicemanagement_v1.services.html index d744819087f..e2a41fa0e00 100644 --- a/docs/dyn/servicemanagement_v1.services.html +++ b/docs/dyn/servicemanagement_v1.services.html @@ -386,6 +386,7 @@

Method Details

"deadline": 3.14, # The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment. "disableAuth": True or False, # When disable_auth is true, a JWT ID token won't be generated and the original "Authorization" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header. "jwtAudience": "A String", # The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. + "minDeadline": 3.14, # Deprecated, do not use. "operationDeadline": 3.14, # The number of seconds to wait for the completion of a long running operation. The default is no deadline. "pathTranslation": "A String", "protocol": "A String", # The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -423,7 +424,7 @@

Method Details

}, ], }, - "control": { # Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. + "control": { # Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com # Configuration for the service control plane. "environment": "A String", # The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com }, "customError": { # Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError # Custom error configuration. @@ -461,6 +462,9 @@

Method Details

}, "endpoints": [ # Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs. { # `Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true + "aliases": [ # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on. + "A String", + ], "allowCors": True or False, # Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed. "name": "A String", # The canonical name of this endpoint. "target": "A String", # The specification of an Internet routable address of API frontend that will handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). It should be either a valid IPv4 address or a fully-qualified domain name. For example, "8.8.8.8" or "myservice.appspot.com". @@ -615,6 +619,103 @@

Method Details

}, "name": "A String", # The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name. "producerProjectId": "A String", # The Google project that owns this service. + "publishing": { # This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config. # Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers. + "apiShortName": "A String", # Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: "speech". + "codeownerGithubTeams": [ # GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API. + "A String", + ], + "docTagPrefix": "A String", # A prefix used in sample code when demarking regions to be included in documentation. + "documentationUri": "A String", # Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview + "githubLabel": "A String", # GitHub label to apply to issues and pull requests opened for this API. + "librarySettings": [ # Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded. + { # Details about how and where to publish client libraries. + "cppSettings": { # Settings for C++ client libraries. # Settings for C++ client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "dotnetSettings": { # Settings for Dotnet client libraries. # Settings for .NET client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "goSettings": { # Settings for Go client libraries. # Settings for Go client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "javaSettings": { # Settings for Java client libraries. # Settings for legacy Java features, supported in the Service YAML. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + "libraryPackage": "A String", # The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1 + "serviceClassNames": { # Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin + "a_key": "A String", + }, + }, + "launchStage": "A String", # Launch stage of this version of the API. + "nodeSettings": { # Settings for Node client libraries. # Settings for Node client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "phpSettings": { # Settings for Php client libraries. # Settings for PHP client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "pythonSettings": { # Settings for Python client libraries. # Settings for Python client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "restNumericEnums": True or False, # When using transport=rest, the client request will encode enums as numbers rather than strings. + "rubySettings": { # Settings for Ruby client libraries. # Settings for Ruby client libraries. + "common": { # Required information for every language. # Some settings. + "destinations": [ # The destination where API teams want this client library to be published. + "A String", + ], + "referenceDocsUri": "A String", # Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest + }, + }, + "version": "A String", # Version of the API to apply these settings to. + }, + ], + "methodSettings": [ # A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern. + { # Describes the generator configuration for a method. + "longRunning": { # Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). # Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes + "initialPollDelay": "A String", # Initial delay after which the first poll request will be made. Default value: 5 seconds. + "maxPollDelay": "A String", # Maximum time between two subsequent poll requests. Default value: 45 seconds. + "pollDelayMultiplier": 3.14, # Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5. + "totalPollTimeout": "A String", # Total polling timeout. Default value: 5 minutes. + }, + "selector": "A String", # The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. + }, + ], + "newIssueUri": "A String", # Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103 + "organization": "A String", # For whom the client library is being published. + }, "quota": { # Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 # Quota configuration. "limits": [ # List of QuotaLimit definitions for the service. { # `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type. There can be at most one limit for a duration and limit type combination defined within a `QuotaGroup`. diff --git a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json index 4e23c66ae2e..c7c2ebeed53 100644 --- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json @@ -829,7 +829,7 @@ } } }, - "revision": "20221111", + "revision": "20221125", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -1074,6 +1074,11 @@ "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend.", "type": "string" }, + "minDeadline": { + "description": "Deprecated, do not use.", + "format": "double", + "type": "number" + }, "operationDeadline": { "description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline.", "format": "double", @@ -1171,6 +1176,105 @@ }, "type": "object" }, + "ClientLibrarySettings": { + "description": "Details about how and where to publish client libraries.", + "id": "ClientLibrarySettings", + "properties": { + "cppSettings": { + "$ref": "CppSettings", + "description": "Settings for C++ client libraries." + }, + "dotnetSettings": { + "$ref": "DotnetSettings", + "description": "Settings for .NET client libraries." + }, + "goSettings": { + "$ref": "GoSettings", + "description": "Settings for Go client libraries." + }, + "javaSettings": { + "$ref": "JavaSettings", + "description": "Settings for legacy Java features, supported in the Service YAML." + }, + "launchStage": { + "description": "Launch stage of this version of the API.", + "enum": [ + "LAUNCH_STAGE_UNSPECIFIED", + "UNIMPLEMENTED", + "PRELAUNCH", + "EARLY_ACCESS", + "ALPHA", + "BETA", + "GA", + "DEPRECATED" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The feature is not yet implemented. Users can not use it.", + "Prelaunch features are hidden from users and are only visible internally.", + "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.", + "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don't have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.", + "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.", + "GA features are open to all developers and are considered stable and fully qualified for production use.", + "Deprecated features are scheduled to be shut down and removed. For more information, see the \"Deprecation Policy\" section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation." + ], + "type": "string" + }, + "nodeSettings": { + "$ref": "NodeSettings", + "description": "Settings for Node client libraries." + }, + "phpSettings": { + "$ref": "PhpSettings", + "description": "Settings for PHP client libraries." + }, + "pythonSettings": { + "$ref": "PythonSettings", + "description": "Settings for Python client libraries." + }, + "restNumericEnums": { + "description": "When using transport=rest, the client request will encode enums as numbers rather than strings.", + "type": "boolean" + }, + "rubySettings": { + "$ref": "RubySettings", + "description": "Settings for Ruby client libraries." + }, + "version": { + "description": "Version of the API to apply these settings to.", + "type": "string" + } + }, + "type": "object" + }, + "CommonLanguageSettings": { + "description": "Required information for every language.", + "id": "CommonLanguageSettings", + "properties": { + "destinations": { + "description": "The destination where API teams want this client library to be published.", + "items": { + "enum": [ + "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED", + "GITHUB", + "PACKAGE_MANAGER" + ], + "enumDescriptions": [ + "Client libraries will neither be generated nor published to package managers.", + "Generate the client library in a repo under github.com/googleapis, but don't publish it to package managers.", + "Publish the library to package managers like nuget.org and npmjs.com." + ], + "type": "string" + }, + "type": "array" + }, + "referenceDocsUri": { + "description": "Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest", + "type": "string" + } + }, + "type": "object" + }, "ConfigChange": { "description": "Output generated from semantically comparing two versions of a service configuration. Includes detailed information about a field that have changed with applicable advice about potential consequences for the change, such as backwards-incompatibility.", "id": "ConfigChange", @@ -1332,7 +1436,7 @@ "type": "object" }, "Control": { - "description": "Selects and configures the service controller used by the service. The service controller handles two things: - **What is allowed:** for each API request, Chemist checks the project status, activation status, abuse status, billing status, service status, location restrictions, VPC Service Controls, SuperQuota, and other policies. - **What has happened:** for each API response, Chemist reports the telemetry data to analytics, auditing, billing, eventing, logging, monitoring, sawmill, and tracing. Chemist also accepts telemetry data not associated with API traffic, such as billing metrics. Example: control: environment: servicecontrol.googleapis.com", + "description": "Selects and configures the service controller used by the service. Example: control: environment: servicecontrol.googleapis.com", "id": "Control", "properties": { "environment": { @@ -1342,6 +1446,17 @@ }, "type": "object" }, + "CppSettings": { + "description": "Settings for C++ client libraries.", + "id": "CppSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "CustomError": { "description": "Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError", "id": "CustomError", @@ -1482,6 +1597,17 @@ }, "type": "object" }, + "DotnetSettings": { + "description": "Settings for Dotnet client libraries.", + "id": "DotnetSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "EnableServiceResponse": { "description": "Operation payload for EnableService method.", "id": "EnableServiceResponse", @@ -1492,6 +1618,13 @@ "description": "`Endpoint` describes a network address of a service that serves a set of APIs. It is commonly known as a service endpoint. A service may expose any number of service endpoints, and all service endpoints share the same service definition, such as quota limits and monitoring metrics. Example: type: google.api.Service name: library-example.googleapis.com endpoints: # Declares network address `https://library-example.googleapis.com` # for service `library-example.googleapis.com`. The `https` scheme # is implicit for all service endpoints. Other schemes may be # supported in the future. - name: library-example.googleapis.com allow_cors: false - name: content-staging-library-example.googleapis.com # Allows HTTP OPTIONS calls to be passed to the API frontend, for it # to decide whether the subsequent cross-origin request is allowed # to proceed. allow_cors: true", "id": "Endpoint", "properties": { + "aliases": { + "description": "Unimplemented. Dot not use. DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.", + "items": { + "type": "string" + }, + "type": "array" + }, "allowCors": { "description": "Allowing [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.", "type": "boolean" @@ -1790,6 +1923,17 @@ }, "type": "object" }, + "GoSettings": { + "description": "Settings for Go client libraries.", + "id": "GoSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "Http": { "description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.", "id": "Http", @@ -1858,6 +2002,28 @@ }, "type": "object" }, + "JavaSettings": { + "description": "Settings for Java client libraries.", + "id": "JavaSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + }, + "libraryPackage": { + "description": "The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used **only** by APIs who have already set the language_settings.java.package_name\" field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: java_settings: library_package: com.google.cloud.pubsub.v1", + "type": "string" + }, + "serviceClassNames": { + "additionalProperties": { + "type": "string" + }, + "description": "Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names\" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin", + "type": "object" + } + }, + "type": "object" + }, "JwtLocation": { "description": "Specifies a location to extract JWT from an API request.", "id": "JwtLocation", @@ -2047,6 +2213,33 @@ }, "type": "object" }, + "LongRunning": { + "description": "Describes settings to use when generating API methods that use the long-running operation pattern. All default values below are from those used in the client library generators (e.g. [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).", + "id": "LongRunning", + "properties": { + "initialPollDelay": { + "description": "Initial delay after which the first poll request will be made. Default value: 5 seconds.", + "format": "google-duration", + "type": "string" + }, + "maxPollDelay": { + "description": "Maximum time between two subsequent poll requests. Default value: 45 seconds.", + "format": "google-duration", + "type": "string" + }, + "pollDelayMultiplier": { + "description": "Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5.", + "format": "float", + "type": "number" + }, + "totalPollTimeout": { + "description": "Total polling timeout. Default value: 5 minutes.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "ManagedService": { "description": "The full representation of a Service that is managed by Google Service Management.", "id": "ManagedService", @@ -2108,6 +2301,21 @@ }, "type": "object" }, + "MethodSettings": { + "description": "Describes the generator configuration for a method.", + "id": "MethodSettings", + "properties": { + "longRunning": { + "$ref": "LongRunning", + "description": "Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_behavior: - selector: CreateAdDomain long_running: initial_poll_delay: seconds: 60 # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: seconds: 360 # 6 minutes total_poll_timeout: seconds: 54000 # 90 minutes" + }, + "selector": { + "description": "The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options.", + "type": "string" + } + }, + "type": "object" + }, "MetricDescriptor": { "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. ", "id": "MetricDescriptor", @@ -2383,6 +2591,17 @@ }, "type": "object" }, + "NodeSettings": { + "description": "Settings for Node client libraries.", + "id": "NodeSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "OAuthRequirements": { "description": "OAuth scopes are a way to define data and permissions on data. For example, there are scopes defined for \"Read-only access to Google Calendar\" and \"Access to Cloud Platform\". Users can consent to a scope for an application, giving it permission to access that data on their behalf. OAuth scope specifications should be fairly coarse grained; a user will need to see and understand the text description of what your scope means. In most cases: use one or at most two OAuth scopes for an entire family of products. If your product has multiple APIs, you should probably be sharing the OAuth scope across all of those APIs. When you need finer grained OAuth consent screens: talk with your product management about how developers will use them in practice. Please note that even though each of the canonical scopes is enough for a request to be accepted and passed to the backend, a request can still fail due to the backend requiring additional scopes or permissions.", "id": "OAuthRequirements", @@ -2516,6 +2735,17 @@ }, "type": "object" }, + "PhpSettings": { + "description": "Settings for Php client libraries.", + "id": "PhpSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2547,6 +2777,83 @@ }, "type": "object" }, + "Publishing": { + "description": "This message configures the settings for publishing [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from the service config.", + "id": "Publishing", + "properties": { + "apiShortName": { + "description": "Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: \"speech\".", + "type": "string" + }, + "codeownerGithubTeams": { + "description": "GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API.", + "items": { + "type": "string" + }, + "type": "array" + }, + "docTagPrefix": { + "description": "A prefix used in sample code when demarking regions to be included in documentation.", + "type": "string" + }, + "documentationUri": { + "description": "Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview", + "type": "string" + }, + "githubLabel": { + "description": "GitHub label to apply to issues and pull requests opened for this API.", + "type": "string" + }, + "librarySettings": { + "description": "Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded.", + "items": { + "$ref": "ClientLibrarySettings" + }, + "type": "array" + }, + "methodSettings": { + "description": "A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern.", + "items": { + "$ref": "MethodSettings" + }, + "type": "array" + }, + "newIssueUri": { + "description": "Link to a place that API users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103", + "type": "string" + }, + "organization": { + "description": "For whom the client library is being published.", + "enum": [ + "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED", + "CLOUD", + "ADS", + "PHOTOS", + "STREET_VIEW" + ], + "enumDescriptions": [ + "Not useful.", + "Google Cloud Platform Org.", + "Ads (Advertising) Org.", + "Photos Org.", + "Street View Org." + ], + "type": "string" + } + }, + "type": "object" + }, + "PythonSettings": { + "description": "Settings for Python client libraries.", + "id": "PythonSettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "Quota": { "description": "Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: \"1/min/{project}\" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: \"*\" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64 ", "id": "Quota", @@ -2691,6 +2998,17 @@ }, "type": "object" }, + "RubySettings": { + "description": "Settings for Ruby client libraries.", + "id": "RubySettings", + "properties": { + "common": { + "$ref": "CommonLanguageSettings", + "description": "Some settings." + } + }, + "type": "object" + }, "Service": { "description": "`Service` is the root object of Google API service configuration (service config). It describes the basic information about a logical service, such as the service name and the user-facing title, and delegates other aspects to sub-sections. Each sub-section is either a proto message or a repeated proto message that configures a specific aspect, such as auth. For more information, see each proto message definition. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar visibility: rules: - selector: \"google.calendar.v3.*\" restriction: PREVIEW backend: rules: - selector: \"google.calendar.v3.*\" address: calendar.example.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth", "id": "Service", @@ -2794,6 +3112,10 @@ "description": "The Google project that owns this service.", "type": "string" }, + "publishing": { + "$ref": "Publishing", + "description": "Settings for [Google Cloud Client libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) generated from APIs defined as protocol buffers." + }, "quota": { "$ref": "Quota", "description": "Quota configuration."