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