123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- type: google.api.Service
- config_version: 3
- name: servicemanagement.googleapis.com
- title: Service Management API
- apis:
- - name: google.api.servicemanagement.v1.ServiceManager
- types:
- - name: google.api.servicemanagement.v1.ConfigRef
- - name: google.api.servicemanagement.v1.ConfigSource
- - 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)](https://cloud.google.com/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}` <br
- /> REST schema is defined
- [here](https://cloud.google.com/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](https://cloud.google.com/service-management/reference/rest/v1/services/create), [services.delete](https://cloud.google.com/service-management/reference/rest/v1/services/delete), [services.undelete](https://cloud.google.com/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}`
- <br /> REST schema is defined
- [here](https://cloud.google.com/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](https://cloud.google.com/service-management/reference/rest/v1/services.configs/create) or
- [services.configs.submit](https://cloud.google.com/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}`
- <br /> REST schema is defined
- [here](https://cloud.google.com/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.iam.v1.IAMPolicy.GetIamPolicy
- description: |-
- Gets the access control policy for a resource. Returns an empty policy
- if the resource exists and does not have a policy set.
- - selector: google.iam.v1.IAMPolicy.SetIamPolicy
- description: |-
- Sets the access control policy on the specified resource. Replaces
- any existing policy.
- Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
- errors.
- - selector: google.iam.v1.IAMPolicy.TestIamPermissions
- description: |-
- Returns permissions that a caller has on the specified resource. If the
- resource does not exist, this will return an empty set of
- permissions, not a `NOT_FOUND` error.
- Note: This operation is designed to be used for building
- permission-aware UIs and command-line tools, not for authorization
- checking. This operation may "fail open" without warning.
- - selector: google.longrunning.Operations.ListOperations
- description: Lists service operations that match the specified filter in the request.
- backend:
- rules:
- - selector: 'google.api.servicemanagement.v1.ServiceManager.*'
- deadline: 10.0
- - selector: google.api.servicemanagement.v1.ServiceManager.CreateServiceConfig
- deadline: 20.0
- - selector: 'google.iam.v1.IAMPolicy.*'
- deadline: 10.0
- - selector: 'google.longrunning.Operations.*'
- deadline: 10.0
- http:
- rules:
- - 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.SetIamPolicy
- post: '/v1/{resource=services/*}:setIamPolicy'
- body: '*'
- additional_bindings:
- - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy'
- body: '*'
- - selector: google.iam.v1.IAMPolicy.TestIamPermissions
- post: '/v1/{resource=services/*}:testIamPermissions'
- body: '*'
- additional_bindings:
- - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions'
- body: '*'
- - selector: google.longrunning.Operations.ListOperations
- get: /v1/operations
- authentication:
- rules:
- - selector: 'google.api.servicemanagement.v1.ServiceManager.*'
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform,
- https://www.googleapis.com/auth/service.management
- - selector: google.api.servicemanagement.v1.ServiceManager.GetService
- 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.api.servicemanagement.v1.ServiceManager.GetServiceConfig
- 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.api.servicemanagement.v1.ServiceManager.GetServiceRollout
- 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.api.servicemanagement.v1.ServiceManager.ListServiceConfigs
- 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.api.servicemanagement.v1.ServiceManager.ListServiceRollouts
- 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.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
- 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.SetIamPolicy
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform,
- https://www.googleapis.com/auth/service.management
- - selector: 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
- - selector: 'google.longrunning.Operations.*'
- oauth:
- canonical_scopes: |-
- https://www.googleapis.com/auth/cloud-platform,
- https://www.googleapis.com/auth/service.management
|