xref: /aosp_15_r20/external/googleapis/google/pubsub/v1/pubsub_v1.yaml (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1type: google.api.Service
2config_version: 3
3name: pubsub.googleapis.com
4title: Cloud Pub/Sub API
5
6apis:
7- name: google.iam.v1.IAMPolicy
8- name: google.pubsub.v1.Publisher
9- name: google.pubsub.v1.SchemaService
10- name: google.pubsub.v1.Subscriber
11
12documentation:
13  summary: |-
14    Provides reliable, many-to-many, asynchronous messaging between
15    applications.
16  rules:
17  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
18    description: |-
19      Gets the access control policy for a resource. Returns an empty policy
20      if the resource exists and does not have a policy set.
21
22  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
23    description: |-
24      Sets the access control policy on the specified resource. Replaces
25      any existing policy.
26
27      Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
28      errors.
29
30  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
31    description: |-
32      Returns permissions that a caller has on the specified resource. If the
33      resource does not exist, this will return an empty set of
34      permissions, not a `NOT_FOUND` error.
35
36      Note: This operation is designed to be used for building
37      permission-aware UIs and command-line tools, not for authorization
38      checking. This operation may "fail open" without warning.
39
40http:
41  rules:
42  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
43    get: '/v1/{resource=projects/*/topics/*}:getIamPolicy'
44    additional_bindings:
45    - get: '/v1/{resource=projects/*/subscriptions/*}:getIamPolicy'
46    - get: '/v1/{resource=projects/*/snapshots/*}:getIamPolicy'
47    - get: '/v1/{resource=projects/*/schemas/*}:getIamPolicy'
48  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
49    post: '/v1/{resource=projects/*/topics/*}:setIamPolicy'
50    body: '*'
51    additional_bindings:
52    - post: '/v1/{resource=projects/*/subscriptions/*}:setIamPolicy'
53      body: '*'
54    - post: '/v1/{resource=projects/*/snapshots/*}:setIamPolicy'
55      body: '*'
56    - post: '/v1/{resource=projects/*/schemas/*}:setIamPolicy'
57      body: '*'
58  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
59    post: '/v1/{resource=projects/*/subscriptions/*}:testIamPermissions'
60    body: '*'
61    additional_bindings:
62    - post: '/v1/{resource=projects/*/topics/*}:testIamPermissions'
63      body: '*'
64    - post: '/v1/{resource=projects/*/snapshots/*}:testIamPermissions'
65      body: '*'
66    - post: '/v1/{resource=projects/*/schemas/*}:testIamPermissions'
67      body: '*'
68
69authentication:
70  rules:
71  - selector: 'google.iam.v1.IAMPolicy.*'
72    oauth:
73      canonical_scopes: |-
74        https://www.googleapis.com/auth/cloud-platform,
75        https://www.googleapis.com/auth/pubsub
76  - selector: 'google.pubsub.v1.Publisher.*'
77    oauth:
78      canonical_scopes: |-
79        https://www.googleapis.com/auth/cloud-platform,
80        https://www.googleapis.com/auth/pubsub
81  - selector: 'google.pubsub.v1.SchemaService.*'
82    oauth:
83      canonical_scopes: |-
84        https://www.googleapis.com/auth/cloud-platform,
85        https://www.googleapis.com/auth/pubsub
86  - selector: 'google.pubsub.v1.Subscriber.*'
87    oauth:
88      canonical_scopes: |-
89        https://www.googleapis.com/auth/cloud-platform,
90        https://www.googleapis.com/auth/pubsub
91
92publishing:
93  documentation_uri: https://cloud.google.com/pubsub/docs
94  github_label: 'api: pubsub'
95  organization: CLOUD
96  library_settings:
97  - version: google.pubsub.v1
98    dotnet_settings:
99      renamed_services:
100        Subscriber: SubscriberServiceApi
101        Publisher: PublisherServiceApi
102  proto_reference_documentation_uri: https://cloud.google.com/pubsub/docs/reference/rpc
103