• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1type: google.api.Service
2config_version: 3
3name: servicemanagement.googleapis.com
4title: Service Management API
5
6apis:
7- name: google.api.servicemanagement.v1.ServiceManager
8- name: google.iam.v1.IAMPolicy
9- name: google.longrunning.Operations
10
11types:
12- name: google.api.servicemanagement.v1.ConfigRef
13- name: google.api.servicemanagement.v1.ConfigSource
14- name: google.api.servicemanagement.v1.EnableServiceResponse
15- name: google.api.servicemanagement.v1.OperationMetadata
16- name: google.api.servicemanagement.v1.Rollout
17- name: google.api.servicemanagement.v1.SubmitConfigSourceResponse
18- name: google.api.servicemanagement.v1.UndeleteServiceResponse
19
20documentation:
21  summary: |-
22    Google Service Management allows service producers to publish their
23    services on Google Cloud Platform so that they can be discovered and used
24    by service consumers.
25  overview: |-
26    Google Service Management manages a set of *services*. Service Management
27    allows *service producers* to
28    publish their services on Google Cloud Platform so that they can be
29    discovered and used by *service consumers*. It also handles the tasks of
30    tracking
31    service lifecycle and programming various backend systems -- such as
32    [Stackdriver Logging](https://cloud.google.com/stackdriver),
33    [Stackdriver Monitoring](https://cloud.google.com/stackdriver) -- to
34    support the managed services.
35
36    If you are a service producer, you can use the Google Service Management
37    API and [Google Cloud SDK (gcloud)](https://cloud.google.com/sdk) to
38    publish and manage your services. Each managed service has a service
39    configuration which declares various aspects of the service such as its
40    API surface, along with parameters to configure the supporting
41    backend
42    systems, such as logging and monitoring. If you build your service using
43    [Google Cloud Endpoints](https://cloud.google.com/endpoints/), the service
44    configuration will be handled automatically.
45
46    If you are a service consumer and want to use a managed service, you can
47    use the Google Service Management API or [Google Cloud
48    Console](https://console.cloud.google.com) to activate the service for
49    your [Google developer
50    project](https://developers.google.com/console/help/new/), then start
51    using its APIs and functions.
52
53    ## Managed services
54
55    REST URL:
56    `https://servicemanagement.googleapis.com/v1/services/{service-name}` <br
57    /> REST schema is defined
58    [here](https://cloud.google.com/service-management/reference/rest/v1/services). A
59    managed service refers to a network service managed by
60    Service Management. Each managed service has a unique name, such as
61    `example.googleapis.com`, which must be a valid fully-qualified DNS name,
62    as per RFC 1035.
63
64    A managed service typically provides some REST APIs and/or other
65    functions to their service consumers, such as mobile apps or cloud
66    services.
67
68    Service producers can use methods, such as
69    [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
70    manipulate their managed services.
71
72    ## Service producers
73
74    A service producer is the Google developer project responsible for
75    publishing and maintaining a managed service. Each managed service is
76    owned by exactly one service producer.
77
78    ## Service consumers
79
80    A service consumer is a Google developer project that has enabled and can
81    invoke APIs on a managed service. A managed service can have many service
82    consumers.
83
84    ## Service configuration
85
86    REST URL:
87    `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}`
88    <br /> REST schema is defined
89    [here](https://cloud.google.com/service-management/reference/rest/v1/services.configs). Each
90    managed service is described by a service configuration which covers a
91    wide range of features, including its name, title, RPC API
92    definitions,
93    REST API definitions, documentation, authentication, and more.
94
95    To change the configuration of a managed service, the service producer
96    needs to publish an updated service configuration to Service
97    Management.
98    Service Management keeps a history of published
99    service configurations, making it possible to easily retrace how a
100    service's configuration evolved over time. Service configurations can be
101    published
102    using the [services.configs.create](https://cloud.google.com/service-management/reference/rest/v1/services.configs/create) or
103    [services.configs.submit](https://cloud.google.com/service-management/reference/rest/v1/services.configs/submit) methods. Alternatively,
104    `services.configs.submit` allows publishing an
105    [OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification,
106    formerly known as the Swagger Specification, which is automatically
107    converted to a corresponding service configuration.
108
109    ## Service rollout
110
111    REST URL:
112    `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}`
113    <br /> REST schema is defined
114    [here](https://cloud.google.com/service-management/reference/rest/v1/services.rollouts). A
115    `Rollout` defines how Google Service Management should deploy service
116    configurations to backend systems and how the configurations take effect
117    at runtime. It lets service producers specify multiple service
118    configuration
119    versions to be deployed together, and a strategy that indicates how they
120    should be used.
121
122    Updating a managed service's configuration can be dangerous, as a
123    configuration error can lead to a service outage. To mitigate risks,
124    Service Management
125    supports gradual rollout of service configuration changes. This feature
126    gives service producers time to identity potential issues and rollback
127    service
128    configuration changes in case of errors, thus minimizing the customer
129    impact of bad configurations. For example, you could specify that 5% of
130    traffic uses configuration 1, while the remaining 95% uses configuration
131    2.
132
133    Service Management keeps a history of rollouts so that service
134    producers can undo to previous configuration versions. You can rollback a
135    configuration by initiating a new `Rollout` that clones a previously
136    submitted rollout record.
137  rules:
138  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
139    description: |-
140      Gets the access control policy for a resource. Returns an empty policy
141      if the resource exists and does not have a policy set.
142
143  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
144    description: |-
145      Sets the access control policy on the specified resource. Replaces
146      any existing policy.
147
148      Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
149      errors.
150
151  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
152    description: |-
153      Returns permissions that a caller has on the specified resource. If the
154      resource does not exist, this will return an empty set of
155      permissions, not a `NOT_FOUND` error.
156
157      Note: This operation is designed to be used for building
158      permission-aware UIs and command-line tools, not for authorization
159      checking. This operation may "fail open" without warning.
160
161  - selector: google.longrunning.Operations.ListOperations
162    description: Lists service operations that match the specified filter in the request.
163
164http:
165  rules:
166  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
167    post: '/v1/{resource=services/*}:getIamPolicy'
168    body: '*'
169    additional_bindings:
170    - post: '/v1/{resource=services/*/consumers/*}:getIamPolicy'
171      body: '*'
172  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
173    post: '/v1/{resource=services/*}:setIamPolicy'
174    body: '*'
175    additional_bindings:
176    - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy'
177      body: '*'
178  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
179    post: '/v1/{resource=services/*}:testIamPermissions'
180    body: '*'
181    additional_bindings:
182    - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions'
183      body: '*'
184  - selector: google.longrunning.Operations.ListOperations
185    get: /v1/operations
186
187authentication:
188  rules:
189  - selector: 'google.api.servicemanagement.v1.ServiceManager.*'
190    oauth:
191      canonical_scopes: |-
192        https://www.googleapis.com/auth/cloud-platform,
193        https://www.googleapis.com/auth/service.management
194  - selector: google.api.servicemanagement.v1.ServiceManager.GetService
195    oauth:
196      canonical_scopes: |-
197        https://www.googleapis.com/auth/cloud-platform,
198        https://www.googleapis.com/auth/cloud-platform.read-only,
199        https://www.googleapis.com/auth/service.management,
200        https://www.googleapis.com/auth/service.management.readonly
201  - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig
202    oauth:
203      canonical_scopes: |-
204        https://www.googleapis.com/auth/cloud-platform,
205        https://www.googleapis.com/auth/cloud-platform.read-only,
206        https://www.googleapis.com/auth/service.management,
207        https://www.googleapis.com/auth/service.management.readonly
208  - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout
209    oauth:
210      canonical_scopes: |-
211        https://www.googleapis.com/auth/cloud-platform,
212        https://www.googleapis.com/auth/cloud-platform.read-only,
213        https://www.googleapis.com/auth/service.management,
214        https://www.googleapis.com/auth/service.management.readonly
215  - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs
216    oauth:
217      canonical_scopes: |-
218        https://www.googleapis.com/auth/cloud-platform,
219        https://www.googleapis.com/auth/cloud-platform.read-only,
220        https://www.googleapis.com/auth/service.management,
221        https://www.googleapis.com/auth/service.management.readonly
222  - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts
223    oauth:
224      canonical_scopes: |-
225        https://www.googleapis.com/auth/cloud-platform,
226        https://www.googleapis.com/auth/cloud-platform.read-only,
227        https://www.googleapis.com/auth/service.management,
228        https://www.googleapis.com/auth/service.management.readonly
229  - selector: google.api.servicemanagement.v1.ServiceManager.ListServices
230    oauth:
231      canonical_scopes: |-
232        https://www.googleapis.com/auth/cloud-platform,
233        https://www.googleapis.com/auth/cloud-platform.read-only,
234        https://www.googleapis.com/auth/service.management,
235        https://www.googleapis.com/auth/service.management.readonly
236  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
237    oauth:
238      canonical_scopes: |-
239        https://www.googleapis.com/auth/cloud-platform,
240        https://www.googleapis.com/auth/cloud-platform.read-only,
241        https://www.googleapis.com/auth/service.management,
242        https://www.googleapis.com/auth/service.management.readonly
243  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
244    oauth:
245      canonical_scopes: |-
246        https://www.googleapis.com/auth/cloud-platform,
247        https://www.googleapis.com/auth/service.management
248  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
249    oauth:
250      canonical_scopes: |-
251        https://www.googleapis.com/auth/cloud-platform,
252        https://www.googleapis.com/auth/cloud-platform.read-only,
253        https://www.googleapis.com/auth/service.management,
254        https://www.googleapis.com/auth/service.management.readonly
255  - selector: 'google.longrunning.Operations.*'
256    oauth:
257      canonical_scopes: |-
258        https://www.googleapis.com/auth/cloud-platform,
259        https://www.googleapis.com/auth/service.management
260