xref: /aosp_15_r20/external/sdk-platform-java/test/integration/apis/kms/v1/cloudkms_test_mixins_v1.yaml (revision 882aa7c72c3cd3b66e72a261bdd69b93f7de7670)
1type: google.api.Service
2config_version: 3
3name: cloudkms.googleapis.com
4title: Cloud Key Management Service (KMS) API
5
6apis:
7- name: google.cloud.kms.v1.KeyManagementService
8- name: google.cloud.location.Locations
9- name: google.iam.v1.IAMPolicy
10
11types:
12- name: google.cloud.kms.v1.LocationMetadata
13
14documentation:
15  summary: |-
16    Manages keys and performs cryptographic operations in a central cloud
17    service, for direct use by other cloud resources and applications.
18  rules:
19  # This RPC shouldn't appear in the proto, since it's been clobered by KMS's definition in the proto.
20  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
21    description: |-
22      Gets the access control policy for a resource. Returns an empty policy
23      if the resource exists and does not have a policy set.
24
25  # This RPC shouldn't appear in the proto, since it's not in the HTTP rules list below,
26  # even though the documentation field is set.
27  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
28    description: |-
29      Sets the access control policy on the specified resource. Replaces
30      any existing policy.
31
32      Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
33      errors.
34
35  # Test the overriding of comments.
36  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
37    description: |-
38      This is a different comment for TestIamPermissions in the yaml file that should clobber the documentation in iam_policy.proto.
39
40http:
41  rules:
42  - selector: google.cloud.location.Locations.GetLocation
43    get: "/v1/{name=locations/*}"
44    body: '*'
45  # Test different HTTP verbs.
46  - selector: google.cloud.location.Locations.ListLocations
47    get: "/v1/{filter=*/*}/locations"
48    body: '*'
49    additional_bindings:
50      - post: '/v1/{page_size=*}'
51        body: '*'
52  - selector: google.iam.v1.IAMPolicy.GetIamPolicy
53    get: '/v1/{resource=projects/*/locations/*/keyRings/*}:getIamPolicy'
54    additional_bindings:
55    - get: '/v1/{resource=projects/*/locations/*/keyRings/*/cryptoKeys/*}:getIamPolicy'
56    - get: '/v1/{resource=projects/*/locations/*/keyRings/*/importJobs/*}:getIamPolicy'
57  # Test the omission of SetIamPolicy - this should no longer appear in the generated client.
58#  - selector: google.iam.v1.IAMPolicy.SetIamPolicy
59#    post: '/v1/{resource=projects/*/locations/*/keyRings/*}:setIamPolicy'
60#    body: '*'
61#    additional_bindings:
62#    - post: '/v1/{resource=projects/*/locations/*/keyRings/*/cryptoKeys/*}:setIamPolicy'
63#      body: '*'
64#    - post: '/v1/{resource=projects/*/locations/*/keyRings/*/importJobs/*}:setIamPolicy'
65#      body: '*'
66  - selector: google.iam.v1.IAMPolicy.TestIamPermissions
67    post: '/v1/{resource=projects/*/locations/*/keyRings/*}:testIamPermissions'
68    body: '*'
69    additional_bindings:
70    - post: '/v1/{resource=projects/*/locations/*/keyRings/*/cryptoKeys/*}:testIamPermissions'
71      body: '*'
72    - post: '/v1/{resource=projects/*/locations/*/keyRings/*/importJobs/*}:testIamPermissions'
73      body: '*'
74
75authentication:
76  rules:
77  - selector: 'google.cloud.kms.v1.KeyManagementService.*'
78    oauth:
79      canonical_scopes: |-
80        https://www.googleapis.com/auth/cloud-platform,
81        https://www.googleapis.com/auth/cloudkms
82  - selector: 'google.iam.v1.IAMPolicy.*'
83    oauth:
84      canonical_scopes: |-
85        https://www.googleapis.com/auth/cloud-platform,
86        https://www.googleapis.com/auth/cloudkms
87