servicemanagement_v1.yaml 12 KB

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