openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 140 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"name":"Google","url":"https://google.com"},"description":"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.","title":"Service Management","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["cloud"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.18"},"format":"google","url":"https://servicemanagement.googleapis.com/$discovery/rest?version=v1","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"servicemanagement"},"externalDocs":{"url":"https://cloud.google.com/service-management/"},"tags":[{"name":"operations"},{"name":"services"}],"paths":{"/v1/operations":{"get":{"description":"Lists service operations that match the specified filter in the request.","operationId":"servicemanagement.operations.list","parameters":[{"description":"A string for filtering Operations.\n The following filter fields are supported:\n\n * serviceName: Required. Only `=` operator is allowed.\n * startTime: The time this job was started, in ISO 8601 format.\n Allowed operators are `>=`, `>`, `<=`, and `<`.\n * status: Can be `done`, `in_progress`, or `failed`. Allowed\n operators are `=`, and `!=`.\n\n Filter expression supports conjunction (AND) and disjunction (OR)\n logical operators. However, the serviceName restriction must be at the\n top-level and can only be combined with other restrictions via the AND\n logical operator.\n\n Examples:\n\n * `serviceName={some-service}.googleapis.com`\n * `serviceName={some-service}.googleapis.com AND startTime>=\"2017-02-01\"`\n * `serviceName={some-service}.googleapis.com AND status=done`\n * `serviceName={some-service}.googleapis.com AND (status=done OR startTime>=\"2017-02-01\")`","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Not used.","in":"query","name":"name","schema":{"type":"string"}},{"description":"The maximum number of operations to return. If unspecified, defaults to\n50. The maximum value is 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The standard list page token.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListOperationsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["operations"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/services":{"get":{"description":"Lists managed services.\n\nReturns all public services. For authenticated users, also returns all\nservices the calling user has \"servicemanagement.services.get\" permission\nfor.\n\n**BETA:** If the caller specifies the `consumer_id`, it returns only the\nservices enabled on the consumer. The `consumer_id` must have the format\nof \"project:{PROJECT-ID}\".","operationId":"servicemanagement.services.list","parameters":[{"description":"Include services consumed by the specified consumer.\n\nThe Google Service Management implementation accepts the following\nforms:\n- project:<project_id>","in":"query","name":"consumerId","schema":{"type":"string"}},{"description":"The max number of items to include in the response list. Page size is 50\nif not specified. Maximum value is 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"Token identifying which result to start with; returned by a previous list\ncall.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Include services produced by the specified project.","in":"query","name":"producerProjectId","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListServicesResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a new managed service.\nPlease note one producer project can own no more than 20 services.\n\nOperation<response: ManagedService>","operationId":"servicemanagement.services.create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedService"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}":{"delete":{"description":"Deletes a managed service. This method will change the service to the\n`Soft-Delete` state for 30 days. Within this period, service producers may\ncall UndeleteService to restore the service.\nAfter 30 days, the service will be permanently deleted.\n\nOperation<response: google.protobuf.Empty>","operationId":"servicemanagement.services.delete","parameters":[{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]},"get":{"description":"Gets a managed service. Authentication is required unless the service is\npublic.","operationId":"servicemanagement.services.get","parameters":[{"description":"The name of the service. See the `ServiceManager` overview for naming\nrequirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ManagedService"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/services/{serviceName}/config":{"get":{"description":"Gets a service configuration (version) for a managed service.","operationId":"servicemanagement.services.getConfig","parameters":[{"description":"The id of the service configuration resource.\n\nThis field must be specified for the server to return all fields, including\n`SourceInfo`.","in":"query","name":"configId","schema":{"type":"string"}},{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}},{"description":"Specifies which parts of the Service Config should be returned in the\nresponse.","in":"query","name":"view","schema":{"type":"string","enum":["BASIC","FULL"]}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Service"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/services/{serviceName}/configs":{"get":{"description":"Lists the history of the service configuration for a managed service,\nfrom the newest to the oldest.","operationId":"servicemanagement.services.configs.list","parameters":[{"description":"The max number of items to include in the response list. Page size is 50\nif not specified. Maximum value is 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The token of the page to retrieve.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListServiceConfigsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a new service configuration (version) for a managed service.\nThis method only stores the service configuration. To roll out the service\nconfiguration to backend systems please call\nCreateServiceRollout.\n\nOnly the 100 most recent service configurations and ones referenced by\nexisting rollouts are kept for each service. The rest will be deleted\neventually.","operationId":"servicemanagement.services.configs.create","parameters":[{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Service"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Service"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}/configs/{configId}":{"get":{"description":"Gets a service configuration (version) for a managed service.","operationId":"servicemanagement.services.configs.get","parameters":[{"description":"The id of the service configuration resource.\n\nThis field must be specified for the server to return all fields, including\n`SourceInfo`.","in":"path","name":"configId","required":true,"schema":{"type":"string"}},{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}},{"description":"Specifies which parts of the Service Config should be returned in the\nresponse.","in":"query","name":"view","schema":{"type":"string","enum":["BASIC","FULL"]}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Service"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/services/{serviceName}/configs:submit":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a new service configuration (version) for a managed service based\non\nuser-supplied configuration source files (for example: OpenAPI\nSpecification). This method stores the source configurations as well as the\ngenerated service configuration. To rollout the service configuration to\nother services,\nplease call CreateServiceRollout.\n\nOnly the 100 most recent configuration sources and ones referenced by\nexisting service configurtions are kept for each service. The rest will be\ndeleted eventually.\n\nOperation<response: SubmitConfigSourceResponse>","operationId":"servicemanagement.services.configs.submit","parameters":[{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitConfigSourceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}/rollouts":{"get":{"description":"Lists the history of the service configuration rollouts for a managed\nservice, from the newest to the oldest.","operationId":"servicemanagement.services.rollouts.list","parameters":[{"description":"Use `filter` to return subset of rollouts.\nThe following filters are supported:\n -- To limit the results to only those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS',\n use filter='status=SUCCESS'\n -- To limit the results to those in\n [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'\n or 'FAILED', use filter='status=CANCELLED OR status=FAILED'","in":"query","name":"filter","schema":{"type":"string"}},{"description":"The max number of items to include in the response list. Page size is 50\nif not specified. Maximum value is 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The token of the page to retrieve.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListServiceRolloutsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates a new service configuration rollout. Based on rollout, the\nGoogle Service Management will roll out the service configurations to\ndifferent backend services. For example, the logging configuration will be\npushed to Google Cloud Logging.\n\nPlease note that any previous pending and running Rollouts and associated\nOperations will be automatically cancelled so that the latest Rollout will\nnot be blocked by previous Rollouts.\n\nOnly the 100 most recent (in any state) and the last 10 successful (if not\nalready part of the set of 100 most recent) rollouts are kept for each\nservice. The rest will be deleted eventually.\n\nOperation<response: Rollout>","operationId":"servicemanagement.services.rollouts.create","parameters":[{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rollout"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}/rollouts/{rolloutId}":{"get":{"description":"Gets a service configuration rollout.","operationId":"servicemanagement.services.rollouts.get","parameters":[{"description":"The id of the rollout resource.","in":"path","name":"rolloutId","required":true,"schema":{"type":"string"}},{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Rollout"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/services/{serviceName}:disable":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Disables a service for a project, so it can no longer be\nbe used for the project. It prevents accidental usage that may cause\nunexpected billing charges or security leaks.\n\nOperation<response: DisableServiceResponse>","operationId":"servicemanagement.services.disable","parameters":[{"description":"Name of the service to disable. Specifying an unknown service name\nwill cause the request to fail.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableServiceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}:enable":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Enables a service for a project, so it can be used\nfor the project. See\n[Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation<response: EnableServiceResponse>","operationId":"servicemanagement.services.enable","parameters":[{"description":"Name of the service to enable. Specifying an unknown service name will\ncause the request to fail.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableServiceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services/{serviceName}:undelete":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Revives a previously deleted managed service. The method restores the\nservice using the configuration at the time the service was deleted.\nThe target service must exist and must have been deleted within the\nlast 30 days.\n\nOperation<response: UndeleteServiceResponse>","operationId":"servicemanagement.services.undelete","parameters":[{"description":"The name of the service. See the [overview](/service-management/overview)\nfor naming requirements. For example: `example.googleapis.com`.","in":"path","name":"serviceName","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/services:generateConfigReport":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Generates and returns a report (errors, warnings and changes from\nexisting configurations) associated with\nGenerateConfigReportRequest.new_value\n\nIf GenerateConfigReportRequest.old_value is specified,\nGenerateConfigReportRequest will contain a single ChangeReport based on the\ncomparison between GenerateConfigReportRequest.new_value and\nGenerateConfigReportRequest.old_value.\nIf GenerateConfigReportRequest.old_value is not specified, this method\nwill compare GenerateConfigReportRequest.new_value with the last pushed\nservice configuration.","operationId":"servicemanagement.services.generateConfigReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateConfigReportRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateConfigReportResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/{name}":{"get":{"description":"Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.","operationId":"servicemanagement.operations.get","parameters":[{"description":"The name of the operation resource.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["operations"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/{resource}:getIamPolicy":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.","operationId":"servicemanagement.services.consumers.getIamPolicy","parameters":[{"description":"REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.","in":"path","name":"resource","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIamPolicyRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Policy"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]}},"/v1/{resource}:setIamPolicy":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Sets the access control policy on the specified resource. Replaces any\nexisting policy.","operationId":"servicemanagement.services.consumers.setIamPolicy","parameters":[{"description":"REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.","in":"path","name":"resource","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetIamPolicyRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Policy"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]}],"tags":["services"]}},"/v1/{resource}:testIamPermissions":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.","operationId":"servicemanagement.services.consumers.testIamPermissions","parameters":[{"description":"REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.","in":"path","name":"resource","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestIamPermissionsRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestIamPermissionsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-platform.read-only"]},{"Oauth2":["https://www.googleapis.com/auth/service.management"]},{"Oauth2":["https://www.googleapis.com/auth/service.management.readonly"]}],"tags":["services"]}}},"servers":[{"url":"https://servicemanagement.googleapis.com/"}],"components":{"parameters":{"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"type":"string","enum":["json","media","proto"],"default":"json"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"type":"string"}},"key":{"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean","default":true}},"quotaUser":{"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}},"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"type":"string","enum":["1","2"]}}},"securitySchemes":{"Oauth2":{"description":"Oauth 2.0 authentication","type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://accounts.google.com/o/oauth2/auth","scopes":{"https://www.googleapis.com/auth/cloud-platform":"View and manage your data across Google Cloud Platform services","https://www.googleapis.com/auth/cloud-platform.read-only":"View your data across Google Cloud Platform services","https://www.googleapis.com/auth/service.management":"Manage your Google API service configuration","https://www.googleapis.com/auth/service.management.readonly":"View your Google API service configuration"}}}}},"schemas":{"Advice":{"description":"Generated advice about this change, used for providing more\ninformation about how a change will affect the existing service.","properties":{"description":{"description":"Useful description for why this advice was applied and what actions should\nbe taken to mitigate any implied risks.","type":"string"}},"type":"object"},"Api":{"description":"Api is a light-weight descriptor for an API Interface.\n\nInterfaces are also described as \"protocol buffer services\" in some contexts,\nsuch as by the \"service\" keyword in a .proto file, but they are different\nfrom API Services, which represent a concrete implementation of an interface\nas opposed to simply a description of methods and bindings. They are also\nsometimes simply referred to as \"APIs\" in other contexts, such as the name of\nthis message itself. See https://cloud.google.com/apis/design/glossary for\ndetailed terminology.","properties":{"methods":{"description":"The methods of this interface, in unspecified order.","items":{"$ref":"#/components/schemas/Method"},"type":"array"},"mixins":{"description":"Included interfaces. See Mixin.","items":{"$ref":"#/components/schemas/Mixin"},"type":"array"},"name":{"description":"The fully qualified name of this interface, including package name\nfollowed by the interface's simple name.","type":"string"},"options":{"description":"Any metadata attached to the interface.","items":{"$ref":"#/components/schemas/Option"},"type":"array"},"sourceContext":{"$ref":"#/components/schemas/SourceContext"},"syntax":{"description":"The source syntax of the service.","enum":["SYNTAX_PROTO2","SYNTAX_PROTO3"],"type":"string"},"version":{"description":"A version string for this interface. If specified, must have the form\n`major-version.minor-version`, as in `1.10`. If the minor version is\nomitted, it defaults to zero. If the entire version field is empty, the\nmajor version is derived from the package name, as outlined below. If the\nfield is not empty, the version in the package name will be verified to be\nconsistent with what is provided here.\n\nThe versioning schema uses [semantic\nversioning](http://semver.org) where the major version number\nindicates a breaking change and the minor version an additive,\nnon-breaking change. Both version numbers are signals to users\nwhat to expect from different versions, and should be carefully\nchosen based on the product plan.\n\nThe major version is also reflected in the package name of the\ninterface, which must end in `v<major-version>`, as in\n`google.feature.v1`. For major versions 0 and 1, the suffix can\nbe omitted. Zero major versions must only be used for\nexperimental, non-GA interfaces.\n","type":"string"}},"type":"object"},"AuditConfig":{"description":"Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"fooservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:bar@gmail.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@gmail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.","properties":{"auditLogConfigs":{"description":"The configuration for logging of each type of permission.","items":{"$ref":"#/components/schemas/AuditLogConfig"},"type":"array"},"service":{"description":"Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.","type":"string"}},"type":"object"},"AuditLogConfig":{"description":"Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:foo@gmail.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\nfoo@gmail.com from DATA_READ logging.","properties":{"exemptedMembers":{"description":"Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.","items":{"type":"string"},"type":"array"},"logType":{"description":"The log type that this config enables.","enum":["LOG_TYPE_UNSPECIFIED","ADMIN_READ","DATA_WRITE","DATA_READ"],"type":"string"}},"type":"object"},"AuthProvider":{"description":"Configuration for an anthentication provider, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).","properties":{"audiences":{"description":"The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com","type":"string"},"authorizationUrl":{"description":"Redirect URL if JWT token is required but not present or is expired.\nImplement authorizationUrl of securityDefinitions in OpenAPI spec.","type":"string"},"id":{"description":"The unique identifier of the auth provider. It will be referred to by\n`AuthRequirement.provider_id`.\n\nExample: \"bookstore_auth\".","type":"string"},"issuer":{"description":"Identifies the principal that issued the JWT. See\nhttps://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1\nUsually a URL or an email address.\n\nExample: https://securetoken.google.com\nExample: 1234567-compute@developer.gserviceaccount.com","type":"string"},"jwksUri":{"description":"URL of the provider's public key set to validate signature of the JWT. See\n[OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html\n of the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs","type":"string"}},"type":"object"},"AuthRequirement":{"description":"User-defined authentication requirements, including support for\n[JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).","properties":{"audiences":{"description":"NOTE: This will be deprecated soon, once AuthProvider.audiences is\nimplemented and accepted in all the runtime components.\n\nThe list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com","type":"string"},"providerId":{"description":"id from authentication provider.\n\nExample:\n\n provider_id: bookstore_auth","type":"string"}},"type":"object"},"Authentication":{"description":"`Authentication` defines the authentication configuration for an API.\n\nExample for an API targeted for external use:\n\n name: calendar.googleapis.com\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth","properties":{"providers":{"description":"Defines a set of authentication providers that a service supports.","items":{"$ref":"#/components/schemas/AuthProvider"},"type":"array"},"rules":{"description":"A list of authentication rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.","items":{"$ref":"#/components/schemas/AuthenticationRule"},"type":"array"}},"type":"object"},"AuthenticationRule":{"description":"Authentication rules for the service.\n\nBy default, if a method has any authentication requirements, every request\nmust include a valid credential matching one of the requirements.\nIt's an error to include more than one kind of credential in a single\nrequest.\n\nIf a method doesn't have any auth requirements, request credentials will be\nignored.","properties":{"allowWithoutCredential":{"description":"If true, the service accepts API keys without any other credential.","type":"boolean"},"oauth":{"$ref":"#/components/schemas/OAuthRequirements"},"requirements":{"description":"Requirements for additional authentication providers.","items":{"$ref":"#/components/schemas/AuthRequirement"},"type":"array"},"selector":{"description":"Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.","type":"string"}},"type":"object"},"AuthorizationConfig":{"description":"Configuration of authorization.\n\nThis section determines the authorization provider, if unspecified, then no\nauthorization check will be done.\n\nExample:\n\n experimental:\n authorization:\n provider: firebaserules.googleapis.com","properties":{"provider":{"description":"The name of the authorization provider, such as\nfirebaserules.googleapis.com.","type":"string"}},"type":"object"},"Backend":{"description":"`Backend` defines the backend configuration for a service.","properties":{"rules":{"description":"A list of API backend rules that apply to individual API methods.\n\n**NOTE:** All service configuration rules follow \"last one wins\" order.","items":{"$ref":"#/components/schemas/BackendRule"},"type":"array"}},"type":"object"},"BackendRule":{"description":"A backend rule provides configuration for an individual API element.","properties":{"address":{"description":"The address of the API backend.","type":"string"},"deadline":{"description":"The number of seconds to wait for a response from a request. The default\ndeadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.","format":"double","type":"number"},"jwtAudience":{"description":"The JWT audience is used when generating a JWT id token for the backend.","type":"string"},"minDeadline":{"description":"Minimum deadline in seconds needed for this method. Calls having deadline\nvalue lower than this will be rejected.","format":"double","type":"number"},"operationDeadline":{"description":"The number of seconds to wait for the completion of a long running\noperation. The default is no deadline.","format":"double","type":"number"},"pathTranslation":{"enum":["PATH_TRANSLATION_UNSPECIFIED","CONSTANT_ADDRESS","APPEND_PATH_TO_ADDRESS"],"type":"string"},"selector":{"description":"Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.","type":"string"}},"type":"object"},"Billing":{"description":"Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count","properties":{"consumerDestinations":{"description":"Billing configurations for sending metrics to the consumer project.\nThere can be multiple consumer destinations per service, each one must have\na different monitored resource type. A metric can be used in at most\none consumer destination.","items":{"$ref":"#/components/schemas/BillingDestination"},"type":"array"}},"type":"object"},"BillingDestination":{"description":"Configuration of a specific billing destination (Currently only support\nbill against consumer project).","properties":{"metrics":{"description":"N