From 944ae9dce5cbe901cbb01d6ce23d08e767b629d3 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Wed, 14 Mar 2018 14:52:51 -0700 Subject: [PATCH] Synchronize new proto/yaml changes. PiperOrigin-RevId: 189090499 --- .../artman_servicemanagement_v1.yaml | 55 +++ .../servicemanagement_v1.yaml | 233 +++++++++++++ .../api/servicemanagement/v1/resources.proto | 36 +- .../v1/servicemanagement_gapic.yaml | 322 ++++++++++++++++++ .../servicemanagement/v1/servicemanager.proto | 73 +++- 5 files changed, 691 insertions(+), 28 deletions(-) create mode 100644 google/api/servicemanagement/artman_servicemanagement_v1.yaml create mode 100644 google/api/servicemanagement/servicemanagement_v1.yaml create mode 100644 google/api/servicemanagement/v1/servicemanagement_gapic.yaml diff --git a/google/api/servicemanagement/artman_servicemanagement_v1.yaml b/google/api/servicemanagement/artman_servicemanagement_v1.yaml new file mode 100644 index 00000000..f858f53a --- /dev/null +++ b/google/api/servicemanagement/artman_servicemanagement_v1.yaml @@ -0,0 +1,55 @@ +common: + api_name: servicemanagement + api_version: v1 + organization_name: google-cloud + proto_deps: + - name: google-common-protos + src_proto_paths: + - v1 + service_yaml: servicemanagement_v1.yaml + gapic_yaml: v1/servicemanagement_gapic.yaml +artifacts: +- name: gapic_config + type: GAPIC_CONFIG +- name: java_gapic + type: GAPIC_ONLY + language: JAVA + publish_targets: + - name: staging + type: GITHUB + location: git@github.com:googleapis/api-client-staging.git + directory_mappings: + - dest: generated/java/gapic-google-cloud-servicemanagement-v1 + - name: grpc + dest: generated/java/grpc-google-cloud-servicemanagement-v1 + - name: proto + dest: generated/java/proto-google-cloud-servicemanagement-v1 + - name: java + type: GITHUB + location: git@github.com:GoogleCloudPlatform/google-cloud-java.git + directory_mappings: + - dest: google-cloud-servicemanagement +- name: python_gapic + type: GAPIC + language: PYTHON +- name: nodejs_gapic + type: GAPIC + language: NODEJS +- name: php_gapic + type: GAPIC + language: PHP + publish_targets: + - name: staging + type: GITHUB + location: git@github.com:googleapis/api-client-staging.git + directory_mappings: + - dest: generated/php/google-cloud-servicemanagement-v1 +- name: go_gapic + type: GAPIC + language: GO +- name: ruby_gapic + type: GAPIC + language: RUBY +- name: csharp_gapic + type: GAPIC + language: CSHARP diff --git a/google/api/servicemanagement/servicemanagement_v1.yaml b/google/api/servicemanagement/servicemanagement_v1.yaml new file mode 100644 index 00000000..b23a788f --- /dev/null +++ b/google/api/servicemanagement/servicemanagement_v1.yaml @@ -0,0 +1,233 @@ +type: google.api.Service +config_version: 2 +name: servicemanagement.googleapis.com +title: Google Service Management API + +apis: +- name: google.api.servicemanagement.v1.ServiceManager + +types: +- name: google.api.servicemanagement.v1.ConfigSource +- name: google.api.servicemanagement.v1.ConfigRef +- name: google.api.servicemanagement.v1.OperationMetadata +- name: google.api.servicemanagement.v1.Rollout +- name: google.api.servicemanagement.v1.SubmitConfigSourceResponse +- name: google.api.servicemanagement.v1.UndeleteServiceResponse + +documentation: + summary: |- + Google Service Management allows service producers to publish their services + on Google Cloud Platform so that they can be discovered and used by service + consumers. + overview: |- + Google Service Management manages a set of *services*. Service Management + allows *service producers* to publish their services on Google Cloud + Platform so that they can be discovered and used by *service consumers*. It + also handles the tasks of tracking service lifecycle and programming various + backend systems -- such as [Stackdriver + Logging](https://cloud.google.com/stackdriver), [Stackdriver + Monitoring](https://cloud.google.com/stackdriver) -- to support the managed + services. + + If you are a service producer, you can use the Google Service Management API + and [Google Cloud SDK (gcloud)](/sdk) to publish and manage your services. + Each managed service has a service configuration which declares various + aspects of the service such as its API surface, along with parameters to + configure the supporting backend systems, such as logging and monitoring. If + you build your service using [Google Cloud + Endpoints](https://cloud.google.com/endpoints/), the service configuration + will be handled automatically. + + If you are a service consumer and want to use a managed service, you can use + the Google Service Management API or [Google Cloud + Console](https://console.cloud.google.com) to activate the service for your + [Google developer project](https://developers.google.com/console/help/new/), + then start using its APIs and functions. + + ## Managed services + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}`
+ REST schema is defined + [here](/service-management/reference/rest/v1/services). + + A managed service refers to a network service managed by Service Management. + Each managed service has a unique name, such as `example.googleapis.com`, + which must be a valid fully-qualified DNS name, as per RFC 1035. + + A managed service typically provides some REST APIs and/or other functions + to their service consumers, such as mobile apps or cloud services. + + Service producers can use methods, such as + [services.create](/service-management/reference/rest/v1/services/create), + [services.delete](/service-management/reference/rest/v1/services/delete), + [services.undelete](/service-management/reference/rest/v1/services/undelete), + to manipulate their managed services. + + ## Service producers + + A service producer is the Google developer project responsible for + publishing and maintaining a managed service. Each managed service is owned + by exactly one service producer. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a managed service. A managed service can have many service + consumers. + + ## Service configuration + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}` +
REST schema is defined + [here](/service-management/reference/rest/v1/services.configs). + + Each managed service is described by a service configuration which covers a + wide range of features, including its name, title, RPC API definitions, REST + API definitions, documentation, authentication, and more. + + To change the configuration of a managed service, the service producer needs + to publish an updated service configuration to Service Management. Service + Management keeps a history of published service configurations, making it + possible to easily retrace how a service's configuration evolved over time. + Service configurations can be published using the + [services.configs.create](/service-management/reference/rest/v1/services.configs/create) + or + [services.configs.submit](/service-management/reference/rest/v1/services.configs/submit) + methods. + + Alternatively, `services.configs.submit` allows publishing an + [OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification, + formerly known as the Swagger Specification, which is automatically + converted to a corresponding service configuration. + + ## Service rollout + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}` +
REST schema is defined + [here](/service-management/reference/rest/v1/services.rollouts). + + A `Rollout` defines how Google Service Management should deploy service + configurations to backend systems and how the configurations take effect at + runtime. It lets service producers specify multiple service configuration + versions to be deployed together, and a strategy that indicates how they + should be used. + + Updating a managed service's configuration can be dangerous, as a + configuration error can lead to a service outage. To mitigate risks, Service + Management supports gradual rollout of service configuration changes. This + feature gives service producers time to identity potential issues and + rollback service configuration changes in case of errors, thus minimizing + the customer impact of bad configurations. For example, you could specify + that 5% of traffic uses configuration 1, while the remaining 95% uses + configuration 2. + + Service Management keeps a history of rollouts so that service producers can + undo to previous configuration versions. You can rollback a configuration by + initiating a new `Rollout` that clones a previously submitted rollout + record. + rules: + - selector: google.longrunning.Operations.ListOperations + description: Lists service operations that match the specified filter in the request. + +backend: + rules: + - selector: google.longrunning.Operations.ListOperations + deadline: 10.0 + - selector: google.longrunning.Operations.GetOperation + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.ListServices + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.GetService + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.CreateService + deadline: 20.0 + - selector: google.api.servicemanagement.v1.ServiceManager.DeleteService + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.UndeleteService + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig + deadline: 20.0 + - selector: google.api.servicemanagement.v1.ServiceManager.SubmitConfigSource + deadline: 20.0 + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.GenerateConfigReport + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.EnableService + deadline: 10.0 + - selector: google.api.servicemanagement.v1.ServiceManager.DisableService + deadline: 10.0 + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + deadline: 10.0 + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + deadline: 10.0 + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + deadline: 10.0 + +http: + rules: + - selector: google.longrunning.Operations.ListOperations + get: /v1/operations + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=services/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy' + body: '*' + + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + post: '/v1/{resource=services/*}:getIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:getIamPolicy' + body: '*' + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=services/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions' + body: '*' + + +authentication: + rules: + - selector: '*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: |- + google.api.servicemanagement.v1.ServiceManager.GetService, + google.api.servicemanagement.v1.ServiceManager.GetServiceConfig, + google.api.servicemanagement.v1.ServiceManager.GetServiceRollout, + google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs, + google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts, + google.api.servicemanagement.v1.ServiceManager.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: |- + google.iam.v1.IAMPolicy.GetIamPolicy, + google.iam.v1.IAMPolicy.TestIamPermissions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly diff --git a/google/api/servicemanagement/v1/resources.proto b/google/api/servicemanagement/v1/resources.proto index 0d0f34d6..e4c3b34b 100644 --- a/google/api/servicemanagement/v1/resources.proto +++ b/google/api/servicemanagement/v1/resources.proto @@ -1,4 +1,4 @@ -// Copyright 2016 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package google.api.servicemanagement.v1; import "google/api/annotations.proto"; import "google/api/config_change.proto"; +import "google/api/metric.proto"; import "google/api/service.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/any.proto"; @@ -55,24 +56,25 @@ message OperationMetadata { Status status = 4; } - // Code describes the status of one operation step. + // Code describes the status of the operation (or one of its steps). enum Status { // Unspecifed code. STATUS_UNSPECIFIED = 0; - // The step has completed without errors. + // The operation or step has completed without errors. DONE = 1; - // The step has not started yet. + // The operation or step has not started yet. NOT_STARTED = 2; - // The step is in progress. + // The operation or step is in progress. IN_PROGRESS = 3; - // The step has completed with errors. + // The operation or step has completed with errors. If the operation is + // rollbackable, the rollback completed with errors too. FAILED = 4; - // The step has completed with cancellation. + // The operation or step has completed with cancellation. CANCELLED = 5; } @@ -147,6 +149,13 @@ message ConfigFile { // // $protoc --include_imports --include_source_info test.proto -o out.pb FILE_DESCRIPTOR_SET_PROTO = 4; + + // Uncompiled Proto file. Used for storage and display purposes only, + // currently server-side compilation is not supported. Should match the + // inputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A + // file of this type can only be included if at least one file of type + // FILE_DESCRIPTOR_SET_PROTO is included. + PROTO_FILE = 6; } // The file name of the configuration file (full or relative path). @@ -183,9 +192,10 @@ message ChangeReport { // to control plane systems. Typically, you create a new version of the // service config, and then create a Rollout to push the service config. message Rollout { - // Strategy that specifies how Google Service Control should select - // different - // versions of service configurations based on traffic percentage. + // Strategy that specifies how clients of Google Service Controller want to + // send traffic to use different config versions. This is generally + // used by API proxy to split traffic based on your configured precentage for + // each config version. // // One example of how to gradually rollout a new service configuration using // this @@ -240,11 +250,15 @@ message Rollout { // Rollout pushes, and the previous ones will be cancelled. CANCELLED = 3; - // The Rollout has failed. It is typically caused by configuration errors. + // The Rollout has failed and the rollback attempt has failed too. FAILED = 4; // The Rollout has not started yet and is pending for execution. PENDING = 5; + + // The Rollout has failed and rolled back to the previous successful + // Rollout. + FAILED_ROLLED_BACK = 6; } // Optional unique identifier of this Rollout. Only lower case letters, digits diff --git a/google/api/servicemanagement/v1/servicemanagement_gapic.yaml b/google/api/servicemanagement/v1/servicemanagement_gapic.yaml new file mode 100644 index 00000000..d1b2d899 --- /dev/null +++ b/google/api/servicemanagement/v1/servicemanagement_gapic.yaml @@ -0,0 +1,322 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 1.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.api.servicemanagement.v1 + python: + package_name: google.cloud.api.servicemanagement_v1.gapic + go: + package_name: cloud.google.com/go/api/servicemanagement/apiv1 + csharp: + package_name: Google.Api.Servicemanagement.V1 + ruby: + package_name: Google::Cloud::Api::Servicemanagement::V1 + php: + package_name: Google\Cloud\Api\Servicemanagement\V1 + nodejs: + package_name: servicemanagement.v1 +# The configuration for the license header to put on generated files. +license_header: + # The file containing the copyright line(s). + copyright_file: copyright-google.txt + # The file containing the raw license header without any copyright line(s). + license_file: license-header-apache-2.0.txt +# A list of API interface configurations. +interfaces: + # The fully qualified name of the API interface. +- name: google.api.servicemanagement.v1.ServiceManager + # A list of resource collection configurations. + # Consists of a name_pattern and an entity_name. + # The name_pattern is a pattern to describe the names of the resources of this + # collection, using the platform's conventions for URI patterns. A generator + # may use this to generate methods to compose and decompose such names. The + # pattern should use named placeholders as in `shelves/{shelf}/books/{book}`; + # those will be taken as hints for the parameter names of the generated + # methods. If empty, no name methods are generated. + # The entity_name is the name to be used as a basis for generated methods and + # classes. + collections: [] + # Definition for retryable codes. + retry_codes_def: + - name: idempotent + retry_codes: + - UNAVAILABLE + - DEADLINE_EXCEEDED + - name: non_idempotent + retry_codes: [] + # Definition for retry/backoff parameters. + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 20000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 20000 + total_timeout_millis: 600000 + # A list of method configurations. + # Common properties: + # + # name - The simple name of the method. + # + # flattening - Specifies the configuration for parameter flattening. + # Describes the parameter groups for which a generator should produce method + # overloads which allow a client to directly pass request message fields as + # method parameters. This information may or may not be used, depending on + # the target language. + # Consists of groups, which each represent a list of parameters to be + # flattened. Each parameter listed must be a field of the request message. + # + # required_fields - Fields that are always required for a request to be + # valid. + # + # request_object_method - Turns on or off the generation of a method whose + # sole parameter is a request object. Not all languages will generate this + # method. + # + # resource_name_treatment - An enum that specifies how to treat the resource + # name formats defined in the field_name_patterns and + # response_field_name_patterns fields. + # UNSET: default value + # NONE: the collection configs will not be used by the generated code. + # VALIDATE: string fields will be validated by the client against the + # specified resource name formats. + # STATIC_TYPES: the client will use generated types for resource names. + # + # page_streaming - Specifies the configuration for paging. + # Describes information for generating a method which transforms a paging + # list RPC into a stream of resources. + # Consists of a request and a response. + # The request specifies request information of the list method. It defines + # which fields match the paging pattern in the request. The request consists + # of a page_size_field and a token_field. The page_size_field is the name of + # the optional field specifying the maximum number of elements to be + # returned in the response. The token_field is the name of the field in the + # request containing the page token. + # The response specifies response information of the list method. It defines + # which fields match the paging pattern in the response. The response + # consists of a token_field and a resources_field. The token_field is the + # name of the field in the response containing the next page token. The + # resources_field is the name of the field in the response containing the + # list of resources belonging to the page. + # + # retry_codes_name - Specifies the configuration for retryable codes. The + # name must be defined in interfaces.retry_codes_def. + # + # retry_params_name - Specifies the configuration for retry/backoff + # parameters. The name must be defined in interfaces.retry_params_def. + # + # field_name_patterns - Maps the field name of the request type to + # entity_name of interfaces.collections. + # Specifies the string pattern that the field must follow. + # + # timeout_millis - Specifies the default timeout for a non-retrying call. If + # the call is retrying, refer to retry_params_name instead. + methods: + - name: ListServices + flattening: + groups: + - parameters: + - producer_project_id + - consumer_id + required_fields: + request_object_method: false + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: services + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: GetService + flattening: + groups: + - parameters: + - service_name + required_fields: + - service_name + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: CreateService + flattening: + groups: + - parameters: + - service + required_fields: + - service + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: DeleteService + flattening: + groups: + - parameters: + - service_name + required_fields: + - service_name + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 60000 + - name: UndeleteService + flattening: + groups: + - parameters: + - service_name + required_fields: + - service_name + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + # REVIEW: Could this operation take a long time? + timeout_millis: 60000 + - name: ListServiceConfigs + flattening: + groups: + - parameters: + - service_name + required_fields: + - service_name + request_object_method: false + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: service_configs + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: GetServiceConfig + flattening: + groups: + - parameters: + - service_name + - config_id + - view + required_fields: + - service_name + - config_id + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: CreateServiceConfig + flattening: + groups: + - parameters: + - service_name + - service_config + required_fields: + - service_name + - service_config + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 20000 + - name: SubmitConfigSource + flattening: + groups: + - parameters: + - service_name + - config_source + - validate_only + required_fields: + - service_name + - config_source + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 10000 + - name: ListServiceRollouts + flattening: + groups: + - parameters: + - service_name + - filter + required_fields: + - service_name + request_object_method: false + page_streaming: + request: + page_size_field: page_size + token_field: page_token + response: + token_field: next_page_token + resources_field: rollouts + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: GetServiceRollout + flattening: + groups: + - parameters: + - service_name + - rollout_id + required_fields: + - service_name + - rollout_id + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: CreateServiceRollout + flattening: + groups: + - parameters: + - service_name + - rollout + required_fields: + - service_name + - rollout + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 10000 + - name: GenerateConfigReport + flattening: + groups: + - parameters: + - new_config + - old_config + required_fields: + - new_config + - old_config + request_object_method: false + retry_codes_name: non_idempotent + retry_params_name: default + timeout_millis: 10000 + - name: EnableService + flattening: + groups: + - parameters: + - service_name + - consumer_id + required_fields: + - service_name + - consumer_id + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 + - name: DisableService + flattening: + groups: + - parameters: + - service_name + - consumer_id + required_fields: + - service_name + - consumer_id + request_object_method: false + retry_codes_name: idempotent + retry_params_name: default + timeout_millis: 10000 diff --git a/google/api/servicemanagement/v1/servicemanager.proto b/google/api/servicemanagement/v1/servicemanager.proto index b767a6a0..ef025ed9 100644 --- a/google/api/servicemanagement/v1/servicemanager.proto +++ b/google/api/servicemanagement/v1/servicemanager.proto @@ -1,4 +1,4 @@ -// Copyright 2017 Google Inc. +// Copyright 2018 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,7 +17,6 @@ syntax = "proto3"; package google.api.servicemanagement.v1; import "google/api/annotations.proto"; -import "google/api/auth.proto"; import "google/api/service.proto"; import "google/api/servicemanagement/v1/resources.proto"; import "google/longrunning/operations.proto"; @@ -45,13 +44,17 @@ service ServiceManager { // services enabled on the consumer. The `consumer_id` must have the format // of "project:{PROJECT-ID}". rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { - option (google.api.http) = { get: "/v1/services" }; + option (google.api.http) = { + get: "/v1/services" + }; } // Gets a managed service. Authentication is required unless the service is // public. rpc GetService(GetServiceRequest) returns (ManagedService) { - option (google.api.http) = { get: "/v1/services/{service_name}" }; + option (google.api.http) = { + get: "/v1/services/{service_name}" + }; } // Creates a new managed service. @@ -59,7 +62,10 @@ service ServiceManager { // // Operation rpc CreateService(CreateServiceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services" body: "service" }; + option (google.api.http) = { + post: "/v1/services" + body: "service" + }; } // Deletes a managed service. This method will change the service to the @@ -69,7 +75,9 @@ service ServiceManager { // // Operation rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { delete: "/v1/services/{service_name}" }; + option (google.api.http) = { + delete: "/v1/services/{service_name}" + }; } // Revives a previously deleted managed service. The method restores the @@ -79,18 +87,27 @@ service ServiceManager { // // Operation rpc UndeleteService(UndeleteServiceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services/{service_name}:undelete" body: "" }; + option (google.api.http) = { + post: "/v1/services/{service_name}:undelete" + }; } // Lists the history of the service configuration for a managed service, // from the newest to the oldest. rpc ListServiceConfigs(ListServiceConfigsRequest) returns (ListServiceConfigsResponse) { - option (google.api.http) = { get: "/v1/services/{service_name}/configs" }; + option (google.api.http) = { + get: "/v1/services/{service_name}/configs" + }; } // Gets a service configuration (version) for a managed service. rpc GetServiceConfig(GetServiceConfigRequest) returns (google.api.Service) { - option (google.api.http) = { get: "/v1/services/{service_name}/configs/{config_id}" }; + option (google.api.http) = { + get: "/v1/services/{service_name}/configs/{config_id}" + additional_bindings { + get: "/v1/services/{service_name}/config" + } + }; } // Creates a new service configuration (version) for a managed service. @@ -98,7 +115,10 @@ service ServiceManager { // configuration to backend systems please call // [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout]. rpc CreateServiceConfig(CreateServiceConfigRequest) returns (google.api.Service) { - option (google.api.http) = { post: "/v1/services/{service_name}/configs" body: "service_config" }; + option (google.api.http) = { + post: "/v1/services/{service_name}/configs" + body: "service_config" + }; } // Creates a new service configuration (version) for a managed service based @@ -111,18 +131,25 @@ service ServiceManager { // // Operation rpc SubmitConfigSource(SubmitConfigSourceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services/{service_name}/configs:submit" body: "*" }; + option (google.api.http) = { + post: "/v1/services/{service_name}/configs:submit" + body: "*" + }; } // Lists the history of the service configuration rollouts for a managed // service, from the newest to the oldest. rpc ListServiceRollouts(ListServiceRolloutsRequest) returns (ListServiceRolloutsResponse) { - option (google.api.http) = { get: "/v1/services/{service_name}/rollouts" }; + option (google.api.http) = { + get: "/v1/services/{service_name}/rollouts" + }; } // Gets a service configuration [rollout][google.api.servicemanagement.v1.Rollout]. rpc GetServiceRollout(GetServiceRolloutRequest) returns (Rollout) { - option (google.api.http) = { get: "/v1/services/{service_name}/rollouts/{rollout_id}" }; + option (google.api.http) = { + get: "/v1/services/{service_name}/rollouts/{rollout_id}" + }; } // Creates a new service configuration rollout. Based on rollout, the @@ -136,7 +163,10 @@ service ServiceManager { // // Operation rpc CreateServiceRollout(CreateServiceRolloutRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services/{service_name}/rollouts" body: "rollout" }; + option (google.api.http) = { + post: "/v1/services/{service_name}/rollouts" + body: "rollout" + }; } // Generates and returns a report (errors, warnings and changes from @@ -151,7 +181,10 @@ service ServiceManager { // will compare GenerateConfigReportRequest.new_value with the last pushed // service configuration. rpc GenerateConfigReport(GenerateConfigReportRequest) returns (GenerateConfigReportResponse) { - option (google.api.http) = { post: "/v1/services:generateConfigReport" body: "*" }; + option (google.api.http) = { + post: "/v1/services:generateConfigReport" + body: "*" + }; } // Enables a [service][google.api.servicemanagement.v1.ManagedService] for a project, so it can be used @@ -161,7 +194,10 @@ service ServiceManager { // // Operation rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services/{service_name}:enable" body: "*" }; + option (google.api.http) = { + post: "/v1/services/{service_name}:enable" + body: "*" + }; } // Disables a [service][google.api.servicemanagement.v1.ManagedService] for a project, so it can no longer be @@ -170,7 +206,10 @@ service ServiceManager { // // Operation rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) { - option (google.api.http) = { post: "/v1/services/{service_name}:disable" body: "*" }; + option (google.api.http) = { + post: "/v1/services/{service_name}:disable" + body: "*" + }; } }