servicemanagement_v1.yaml 12 KB

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