blob: d32afa39c681b480575b3355d4b374b151b03bb8 [file] [log] [blame]
type: google.api.Service
config_version: 3
name: pubsub.googleapis.com
title: Cloud Pub/Sub API
apis:
- name: google.pubsub.v1.Publisher
- name: google.pubsub.v1.SchemaService
- name: google.pubsub.v1.Subscriber
- name: google.iam.v1.IAMPolicy
documentation:
summary: |-
Provides reliable, many-to-many, asynchronous messaging between
applications.
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.
backend:
rules:
- selector: 'google.pubsub.v1.Publisher.*'
deadline: 120.0
- selector: google.pubsub.v1.Publisher.Publish
deadline: 20.0
- selector: 'google.pubsub.v1.Subscriber.*'
deadline: 120.0
http:
rules:
- selector: google.iam.v1.IAMPolicy.GetIamPolicy
get: '/v1/{resource=projects/*/topics/*}:getIamPolicy'
additional_bindings:
- get: '/v1/{resource=projects/*/subscriptions/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/snapshots/*}:getIamPolicy'
- selector: google.iam.v1.IAMPolicy.SetIamPolicy
post: '/v1/{resource=projects/*/topics/*}:setIamPolicy'
body: '*'
additional_bindings:
- post: '/v1/{resource=projects/*/subscriptions/*}:setIamPolicy'
body: '*'
- post: '/v1/{resource=projects/*/snapshots/*}:setIamPolicy'
body: '*'
- selector: google.iam.v1.IAMPolicy.TestIamPermissions
post: '/v1/{resource=projects/*/subscriptions/*}:testIamPermissions'
body: '*'
additional_bindings:
- post: '/v1/{resource=projects/*/topics/*}:testIamPermissions'
body: '*'
- post: '/v1/{resource=projects/*/snapshots/*}:testIamPermissions'
body: '*'
authentication:
rules:
- selector: 'google.iam.v1.IAMPolicy.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/pubsub
- selector: 'google.pubsub.v1.Publisher.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/pubsub
- selector: 'google.pubsub.v1.SchemaService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/pubsub
- selector: 'google.pubsub.v1.Subscriber.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform,
https://www.googleapis.com/auth/pubsub