• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15type: google.api.Service
16config_version: 3
17name: showcase.googleapis.com
18title: Client Libraries Showcase API
19
20apis:
21  - name: google.showcase.v1beta1.Compliance
22  - name: google.showcase.v1beta1.Echo
23  - name: google.showcase.v1beta1.Identity
24  - name: google.showcase.v1beta1.Messaging
25  - name: google.showcase.v1beta1.SequenceService
26  - name: google.showcase.v1beta1.Testing
27  # Mix-in services
28  - name: 'google.cloud.location.Locations'
29  - name: 'google.iam.v1.IAMPolicy'
30  - name: 'google.longrunning.Operations'
31
32documentation:
33  summary: |-
34    Showcase represents both a model API and an integration testing surface for
35    client library generator consumption.
36
37backend:
38  rules:
39    - selector: 'google.cloud.location.Locations.*'
40      deadline: 60.0
41    - selector: 'google.iam.v1.IAMPolicy.*'
42      deadline: 60.0
43    - selector: 'google.longrunning.Operations.*'
44      deadline: 60.0
45
46http:
47  rules:
48    - selector: google.cloud.location.Locations.ListLocations
49      get:  '/v1beta1/{name=projects/*}/locations'
50    - selector: google.cloud.location.Locations.GetLocation
51      get:  '/v1beta1/{name=projects/*/locations/*}'
52    - selector: google.iam.v1.IAMPolicy.SetIamPolicy
53      post: '/v1beta1/{resource=users/*}:setIamPolicy'
54      body: '*'
55      additional_bindings:
56        - post: '/v1beta1/{resource=rooms/*}:setIamPolicy'
57          body: '*'
58        - post: '/v1beta1/{resource=rooms/*/blurbs/*}:setIamPolicy'
59          body: '*'
60        - post: '/v1beta1/{resource=sequences/*}:setIamPolicy'
61          body: '*'
62    - selector: google.iam.v1.IAMPolicy.GetIamPolicy
63      get: '/v1beta1/{resource=users/*}:getIamPolicy'
64      additional_bindings:
65        - get: '/v1beta1/{resource=rooms/*}:getIamPolicy'
66        - get: '/v1beta1/{resource=rooms/*/blurbs/*}:getIamPolicy'
67        - get: '/v1beta1/{resource=sequences/*}:getIamPolicy'
68    - selector: google.iam.v1.IAMPolicy.TestIamPermissions
69      post: '/v1beta1/{resource=users/*}:testIamPermissions'
70      body: '*'
71      additional_bindings:
72        - post: '/v1beta1/{resource=rooms/*}:testIamPermissions'
73          body: '*'
74        - post: '/v1beta1/{resource=rooms/*/blurbs/*}:testIamPermissions'
75          body: '*'
76        - post: '/v1beta1/{resource=sequences/*}:testIamPermissions'
77          body: '*'
78    - selector: google.longrunning.Operations.ListOperations
79      get: '/v1beta1/operations'
80      additional_bindings:
81        - get: '/v1beta2/operations'
82        - get: '/v1beta3/operations'
83    - selector: google.longrunning.Operations.GetOperation
84      get: '/v1beta1/{name=operations/**}'
85      additional_bindings:
86        - get: '/v1beta2/{name=operations/**}'
87        - get: '/v1beta3/{name=operations/**}'
88    - selector: google.longrunning.Operations.DeleteOperation
89      delete: '/v1beta1/{name=operations/**}'
90      additional_bindings:
91        - delete: '/v1beta2/{name=operations/**}'
92        - delete: '/v1beta3/{name=operations/**}'
93    - selector: google.longrunning.Operations.CancelOperation
94      post: '/v1beta1/{name=operations/**}:cancel'
95      additional_bindings:
96        - post: '/v1beta2/{name=operations/**}:cancel'
97        - post: '/v1beta3/{name=operations/**}:cancel'