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
