From bbc142ef5ecf356ef3d5c9fb937ea8ac599bc967 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 14 Apr 2020 15:16:09 -0700 Subject: [PATCH] feat: add support for external key manager (via synth) (#8) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2020-04-09 05:17:46,671 synthtool > Executing /tmpfs/src/git/autosynth/working_repo/synth.py. On branch autosynth nothing to commit, working tree clean 2020-04-09 05:17:46,744 synthtool > Ensuring dependencies. 2020-04-09 05:17:46,749 synthtool > Pulling artman image. latest: Pulling from googleapis/artman fe703b657a32: Pulling fs layer f9df1fafd224: Pulling fs layer a645a4b887f9: Pulling fs layer 57db7fe0b522: Pulling fs layer 21813e587ee0: Pulling fs layer c1a422e3936c: Pulling fs layer 7896fdb9a0c9: Pulling fs layer 0de4b0ae0d3f: Pulling fs layer 01bd40777c31: Pulling fs layer 56b5bb33902f: Pulling fs layer 1614ad0d8336: Pulling fs layer 1966fa070a3e: Pulling fs layer bdec75005236: Pulling fs layer 926959728054: Pulling fs layer 6336bbde4243: Pulling fs layer 528525f78682: Pulling fs layer e563a20cd63b: Pulling fs layer 5c8b90802b46: Pulling fs layer 1779990e45c7: Pulling fs layer b5fe0cb05c88: Pulling fs layer 09523ca76318: Pulling fs layer a097eb4cee97: Pulling fs layer 45a97578bd37: Pulling fs layer 1abced54aff8: Pulling fs layer 32448d22ea50: Pulling fs layer cca4a4de1600: Pulling fs layer bd1b621d3208: Pulling fs layer 690f3c005fd3: Pulling fs layer 7896fdb9a0c9: Waiting 0de4b0ae0d3f: Waiting 01bd40777c31: Waiting 56b5bb33902f: Waiting 1614ad0d8336: Waiting 1966fa070a3e: Waiting bdec75005236: Waiting 926959728054: Waiting 57db7fe0b522: Waiting 21813e587ee0: Waiting c1a422e3936c: Waiting 6336bbde4243: Waiting 528525f78682: Waiting e563a20cd63b: Waiting 5c8b90802b46: Waiting 1779990e45c7: Waiting b5fe0cb05c88: Waiting 09523ca76318: Waiting a097eb4cee97: Waiting 45a97578bd37: Waiting 1abced54aff8: Waiting 32448d22ea50: Waiting cca4a4de1600: Waiting bd1b621d3208: Waiting 690f3c005fd3: Waiting a645a4b887f9: Download complete f9df1fafd224: Verifying Checksum f9df1fafd224: Download complete 57db7fe0b522: Verifying Checksum 57db7fe0b522: Download complete fe703b657a32: Verifying Checksum fe703b657a32: Download complete 21813e587ee0: Verifying Checksum 21813e587ee0: Download complete 7896fdb9a0c9: Verifying Checksum 7896fdb9a0c9: Download complete 0de4b0ae0d3f: Verifying Checksum 0de4b0ae0d3f: Download complete 56b5bb33902f: Verifying Checksum 56b5bb33902f: Download complete 01bd40777c31: Verifying Checksum 01bd40777c31: Download complete 1966fa070a3e: Verifying Checksum 1966fa070a3e: Download complete 1614ad0d8336: Verifying Checksum 1614ad0d8336: Download complete 926959728054: Verifying Checksum 926959728054: Download complete c1a422e3936c: Verifying Checksum c1a422e3936c: Download complete 6336bbde4243: Verifying Checksum 6336bbde4243: Download complete fe703b657a32: Pull complete 528525f78682: Verifying Checksum 528525f78682: Download complete e563a20cd63b: Verifying Checksum e563a20cd63b: Download complete f9df1fafd224: Pull complete a645a4b887f9: Pull complete bdec75005236: Verifying Checksum bdec75005236: Download complete 57db7fe0b522: Pull complete 5c8b90802b46: Verifying Checksum 5c8b90802b46: Download complete 1779990e45c7: Verifying Checksum 1779990e45c7: Download complete 09523ca76318: Verifying Checksum 09523ca76318: Download complete 45a97578bd37: Verifying Checksum 45a97578bd37: Download complete 1abced54aff8: Verifying Checksum 1abced54aff8: Download complete 32448d22ea50: Verifying Checksum 32448d22ea50: Download complete 21813e587ee0: Pull complete b5fe0cb05c88: Verifying Checksum b5fe0cb05c88: Download complete cca4a4de1600: Download complete bd1b621d3208: Download complete 690f3c005fd3: Verifying Checksum 690f3c005fd3: Download complete c1a422e3936c: Pull complete 7896fdb9a0c9: Pull complete 0de4b0ae0d3f: Pull complete 01bd40777c31: Pull complete 56b5bb33902f: Pull complete a097eb4cee97: Verifying Checksum a097eb4cee97: Download complete 1614ad0d8336: Pull complete 1966fa070a3e: Pull complete bdec75005236: Pull complete 926959728054: Pull complete 6336bbde4243: Pull complete 528525f78682: Pull complete e563a20cd63b: Pull complete 5c8b90802b46: Pull complete 1779990e45c7: Pull complete b5fe0cb05c88: Pull complete 09523ca76318: Pull complete a097eb4cee97: Pull complete 45a97578bd37: Pull complete 1abced54aff8: Pull complete 32448d22ea50: Pull complete cca4a4de1600: Pull complete bd1b621d3208: Pull complete 690f3c005fd3: Pull complete Digest: sha256:ef1a5b367dbe1e37cea1c7c814c801a638473e8dd66f87f4a2b8c2a146013673 Status: Downloaded newer image for googleapis/artman:latest 2020-04-09 05:18:30,711 synthtool > Cloning googleapis. 2020-04-09 05:18:31,217 synthtool > Running generator for google/cloud/kms/artman_cloudkms.yaml. 2020-04-09 05:18:57,649 synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/python/kms-v1. 2020-04-09 05:18:57,650 synthtool > Copy: /home/kbuilder/.cache/synthtool/googleapis/google/cloud/kms/v1/service.proto to /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/python/kms-v1/google/cloud/kms_v1/proto/service.proto 2020-04-09 05:18:57,650 synthtool > Copy: /home/kbuilder/.cache/synthtool/googleapis/google/cloud/kms/v1/resources.proto to /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/python/kms-v1/google/cloud/kms_v1/proto/resources.proto 2020-04-09 05:18:57,650 synthtool > Placed proto files into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/python/kms-v1/google/cloud/kms_v1/proto. 2020-04-09 05:18:57,679 synthtool > Replaced 'from google.iam.v1 import iam_policy_pb2' in google/cloud/kms_v1/gapic/transports/key_management_service_grpc_transport.py. .coveragerc .flake8 .github/CONTRIBUTING.md .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support_request.md .github/PULL_REQUEST_TEMPLATE.md .github/release-please.yml .gitignore .kokoro/build.sh .kokoro/continuous/common.cfg .kokoro/continuous/continuous.cfg .kokoro/docs/common.cfg .kokoro/docs/docs.cfg .kokoro/presubmit/common.cfg .kokoro/presubmit/presubmit.cfg .kokoro/publish-docs.sh .kokoro/release.sh .kokoro/release/common.cfg .kokoro/release/release.cfg .kokoro/trampoline.sh CODE_OF_CONDUCT.md CONTRIBUTING.rst LICENSE MANIFEST.in docs/_static/custom.css docs/_templates/layout.html docs/conf.py.j2 noxfile.py.j2 renovate.json setup.cfg Running session blacken Creating virtual environment (virtualenv) using python3.6 in .nox/blacken pip install black==19.3b0 black docs google tests noxfile.py setup.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/__init__.py reformatted /tmpfs/src/git/autosynth/working_repo/google/__init__.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/__init__.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/gapic/enums.py reformatted /tmpfs/src/git/autosynth/working_repo/docs/conf.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/gapic/key_management_service_client_config.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/proto/resources_pb2_grpc.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/gapic/transports/key_management_service_grpc_transport.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/proto/service_pb2_grpc.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/types.py reformatted /tmpfs/src/git/autosynth/working_repo/noxfile.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/gapic/key_management_service_client.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/proto/resources_pb2.py reformatted /tmpfs/src/git/autosynth/working_repo/tests/unit/gapic/v1/test_key_management_service_client_v1.py reformatted /tmpfs/src/git/autosynth/working_repo/google/cloud/kms_v1/proto/service_pb2.py All done! ✨ 🍰 ✨ 16 files reformatted, 5 files left unchanged. Session blacken was successful. 2020-04-09 05:19:04,531 synthtool > Wrote metadata to synth.metadata. ```
--- packages/google-cloud-kms/.coveragerc | 16 + packages/google-cloud-kms/.flake8 | 16 + .../.github/ISSUE_TEMPLATE/bug_report.md | 3 +- packages/google-cloud-kms/CONTRIBUTING.rst | 15 +- packages/google-cloud-kms/MANIFEST.in | 16 + .../google/cloud/kms_v1/gapic/enums.py | 2 + .../gapic/key_management_service_client.py | 13 +- .../google/cloud/kms_v1/proto/resources.proto | 30 +- .../cloud/kms_v1/proto/resources_pb2.py | 267 ++++++++----- .../google/cloud/kms_v1/proto/service.proto | 23 +- .../google/cloud/kms_v1/proto/service_pb2.py | 363 ++++++++---------- packages/google-cloud-kms/noxfile.py | 5 +- packages/google-cloud-kms/setup.cfg | 16 + packages/google-cloud-kms/synth.metadata | 19 +- packages/google-cloud-kms/synth.py | 23 ++ .../test_key_management_service_client_v1.py | 20 +- 16 files changed, 491 insertions(+), 356 deletions(-) diff --git a/packages/google-cloud-kms/.coveragerc b/packages/google-cloud-kms/.coveragerc index b178b094aa1d..dd39c8546c41 100644 --- a/packages/google-cloud-kms/.coveragerc +++ b/packages/google-cloud-kms/.coveragerc @@ -1,3 +1,19 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Generated by synthtool. DO NOT EDIT! [run] branch = True diff --git a/packages/google-cloud-kms/.flake8 b/packages/google-cloud-kms/.flake8 index 0268ecc9c55c..20fe9bda2ee4 100644 --- a/packages/google-cloud-kms/.flake8 +++ b/packages/google-cloud-kms/.flake8 @@ -1,3 +1,19 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Generated by synthtool. DO NOT EDIT! [flake8] ignore = E203, E266, E501, W503 diff --git a/packages/google-cloud-kms/.github/ISSUE_TEMPLATE/bug_report.md b/packages/google-cloud-kms/.github/ISSUE_TEMPLATE/bug_report.md index 1b5f3d3a3841..7373dc7a78e7 100644 --- a/packages/google-cloud-kms/.github/ISSUE_TEMPLATE/bug_report.md +++ b/packages/google-cloud-kms/.github/ISSUE_TEMPLATE/bug_report.md @@ -11,8 +11,7 @@ Thanks for stopping by to let us know something could be better! Please run down the following list and make sure you've tried the usual "quick fixes": - Search the issues already opened: https://github.com/googleapis/python-kms/issues - - Search the issues on our "catch-all" repository: https://github.com/googleapis/google-cloud-python - - Search StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform+python + - Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python If you are still having issues, please be sure to include as much information as possible: diff --git a/packages/google-cloud-kms/CONTRIBUTING.rst b/packages/google-cloud-kms/CONTRIBUTING.rst index 49707c91efd4..f81b10e7daa5 100644 --- a/packages/google-cloud-kms/CONTRIBUTING.rst +++ b/packages/google-cloud-kms/CONTRIBUTING.rst @@ -22,7 +22,7 @@ In order to add a feature: documentation. - The feature must work fully on the following CPython versions: 2.7, - 3.5, 3.6, and 3.7 on both UNIX and Windows. + 3.5, 3.6, 3.7 and 3.8 on both UNIX and Windows. - The feature must not add unnecessary dependencies (where "unnecessary" is of course subjective, but new dependencies should @@ -214,26 +214,18 @@ We support: - `Python 3.5`_ - `Python 3.6`_ - `Python 3.7`_ +- `Python 3.8`_ .. _Python 3.5: https://docs.python.org/3.5/ .. _Python 3.6: https://docs.python.org/3.6/ .. _Python 3.7: https://docs.python.org/3.7/ +.. _Python 3.8: https://docs.python.org/3.8/ Supported versions can be found in our ``noxfile.py`` `config`_. .. _config: https://github.com/googleapis/python-kms/blob/master/noxfile.py -We explicitly decided not to support `Python 2.5`_ due to `decreased usage`_ -and lack of continuous integration `support`_. - -.. _Python 2.5: https://docs.python.org/2.5/ -.. _decreased usage: https://caremad.io/2013/10/a-look-at-pypi-downloads/ -.. _support: https://blog.travis-ci.com/2013-11-18-upcoming-build-environment-updates/ - -We have `dropped 2.6`_ as a supported version as well since Python 2.6 is no -longer supported by the core development team. - Python 2.7 support is deprecated. All code changes should maintain Python 2.7 compatibility until January 1, 2020. We also explicitly decided to support Python 3 beginning with version @@ -247,7 +239,6 @@ We also explicitly decided to support Python 3 beginning with version .. _prominent: https://docs.djangoproject.com/en/1.9/faq/install/#what-python-version-can-i-use-with-django .. _projects: http://flask.pocoo.org/docs/0.10/python3/ .. _Unicode literal support: https://www.python.org/dev/peps/pep-0414/ -.. _dropped 2.6: https://github.com/googleapis/google-cloud-python/issues/995 ********** Versioning diff --git a/packages/google-cloud-kms/MANIFEST.in b/packages/google-cloud-kms/MANIFEST.in index cd011be27a0e..68855abc3f02 100644 --- a/packages/google-cloud-kms/MANIFEST.in +++ b/packages/google-cloud-kms/MANIFEST.in @@ -1,3 +1,19 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Generated by synthtool. DO NOT EDIT! include README.rst LICENSE recursive-include google *.json *.proto diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/gapic/enums.py b/packages/google-cloud-kms/google/cloud/kms_v1/gapic/enums.py index 2d01eb6287f8..cf27deeba3ff 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/gapic/enums.py +++ b/packages/google-cloud-kms/google/cloud/kms_v1/gapic/enums.py @@ -114,6 +114,7 @@ class CryptoKeyVersionAlgorithm(enum.IntEnum): RSA_DECRYPT_OAEP_4096_SHA512 (int): RSAES-OAEP 4096 bit key with a SHA512 digest. EC_SIGN_P256_SHA256 (int): ECDSA on the NIST P-256 curve with a SHA256 digest. EC_SIGN_P384_SHA384 (int): ECDSA on the NIST P-384 curve with a SHA384 digest. + EXTERNAL_SYMMETRIC_ENCRYPTION (int): Algorithm representing symmetric encryption by an external key manager. """ CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED = 0 @@ -132,6 +133,7 @@ class CryptoKeyVersionAlgorithm(enum.IntEnum): RSA_DECRYPT_OAEP_4096_SHA512 = 17 EC_SIGN_P256_SHA256 = 12 EC_SIGN_P384_SHA384 = 13 + EXTERNAL_SYMMETRIC_ENCRYPTION = 18 class CryptoKeyVersionState(enum.IntEnum): """ diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/gapic/key_management_service_client.py b/packages/google-cloud-kms/google/cloud/kms_v1/gapic/key_management_service_client.py index 0a32de3e76ed..1a5632cfbb1a 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/gapic/key_management_service_client.py +++ b/packages/google-cloud-kms/google/cloud/kms_v1/gapic/key_management_service_client.py @@ -117,6 +117,7 @@ def crypto_key_path_path(cls, project, location, key_ring, crypto_key_path): def crypto_key_version_path( cls, project, location, key_ring, crypto_key, crypto_key_version ): + """Return a fully-qualified crypto_key_version string.""" return google.api_core.path_template.expand( "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}", @@ -1676,7 +1677,8 @@ def encrypt( >>> >>> client = kms_v1.KeyManagementServiceClient() >>> - >>> name = client.crypto_key_path_path('[PROJECT]', '[LOCATION]', '[KEY_RING]', '[CRYPTO_KEY_PATH]') + >>> # TODO: Initialize `name`: + >>> name = '' >>> >>> # TODO: Initialize `plaintext`: >>> plaintext = b'' @@ -2320,7 +2322,8 @@ def set_iam_policy( >>> >>> client = kms_v1.KeyManagementServiceClient() >>> - >>> resource = client.key_ring_path('[PROJECT]', '[LOCATION]', '[KEY_RING]') + >>> # TODO: Initialize `resource`: + >>> resource = '' >>> >>> # TODO: Initialize `policy`: >>> policy = {} @@ -2402,7 +2405,8 @@ def get_iam_policy( >>> >>> client = kms_v1.KeyManagementServiceClient() >>> - >>> resource = client.key_ring_path('[PROJECT]', '[LOCATION]', '[KEY_RING]') + >>> # TODO: Initialize `resource`: + >>> resource = '' >>> >>> response = client.get_iam_policy(resource) @@ -2486,7 +2490,8 @@ def test_iam_permissions( >>> >>> client = kms_v1.KeyManagementServiceClient() >>> - >>> resource = client.key_ring_path('[PROJECT]', '[LOCATION]', '[KEY_RING]') + >>> # TODO: Initialize `resource`: + >>> resource = '' >>> >>> # TODO: Initialize `permissions`: >>> permissions = [] diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources.proto b/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources.proto index 4d2a6ab0b855..b2b7ab919fa1 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources.proto +++ b/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,11 +16,11 @@ syntax = "proto3"; package google.cloud.kms.v1; -import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; +import "google/api/annotations.proto"; option cc_enable_arenas = true; option csharp_namespace = "Google.Cloud.Kms.V1"; @@ -142,11 +142,6 @@ message CryptoKey { map labels = 10; } -option (google.api.resource_definition) = { - type: "cloudkms.googleapis.com/CryptoKey" - pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key_path=**}" -}; - // A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating // a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with // [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or @@ -289,6 +284,9 @@ message CryptoKeyVersion { // ECDSA on the NIST P-384 curve with a SHA384 digest. EC_SIGN_P384_SHA384 = 13; + + // Algorithm representing symmetric encryption by an external key manager. + EXTERNAL_SYMMETRIC_ENCRYPTION = 18; } // The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used. @@ -395,11 +393,21 @@ message CryptoKeyVersion { // [state][google.cloud.kms.v1.CryptoKeyVersion.state] is // [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]. string import_failure_reason = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // ExternalProtectionLevelOptions stores a group of additional fields for + // configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the + // [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level. + ExternalProtectionLevelOptions external_protection_level_options = 17; } // The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via // [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. message PublicKey { + option (google.api.resource) = { + type: "cloudkms.googleapis.com/PublicKey" + pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey" + }; + // The public key, encoded in PEM format. For more information, see the // [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for // [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and @@ -565,3 +573,11 @@ enum ProtectionLevel { // Crypto operations are performed by an external key manager. EXTERNAL = 3; } + +// ExternalProtectionLevelOptions stores a group of additional fields for +// configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the +// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level. +message ExternalProtectionLevelOptions { + // The URI for an external resource that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents. + string external_key_uri = 1; +} diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources_pb2.py b/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources_pb2.py index 3530597a318f..c72c1b5e594b 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources_pb2.py +++ b/packages/google-cloud-kms/google/cloud/kms_v1/proto/resources_pb2.py @@ -16,11 +16,11 @@ _sym_db = _symbol_database.Default() -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 from google.api import resource_pb2 as google_dot_api_dot_resource__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 DESCRIPTOR = _descriptor.FileDescriptor( @@ -28,17 +28,17 @@ package="google.cloud.kms.v1", syntax="proto3", serialized_options=_b( - "\n\027com.google.cloud.kms.v1B\021KmsResourcesProtoP\001Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\370\001\001\252\002\023Google.Cloud.Kms.V1\312\002\023Google\\Cloud\\Kms\\V1\352A\200\001\n!cloudkms.googleapis.com/CryptoKey\022[projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key_path=**}" + "\n\027com.google.cloud.kms.v1B\021KmsResourcesProtoP\001Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\370\001\001\252\002\023Google.Cloud.Kms.V1\312\002\023Google\\Cloud\\Kms\\V1" ), serialized_pb=_b( - '\n)google/cloud/kms_v1/proto/resources.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xb5\x01\n\x07KeyRing\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:a\xea\x41^\n\x1f\x63loudkms.googleapis.com/KeyRing\x12;projects/{project}/locations/{location}/keyRings/{key_ring}"\x86\x06\n\tCryptoKey\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12;\n\x07primary\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x03\x12\x45\n\x07purpose\x18\x03 \x01(\x0e\x32/.google.cloud.kms.v1.CryptoKey.CryptoKeyPurposeB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x12next_rotation_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0frotation_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12G\n\x10version_template\x18\x0b \x01(\x0b\x32-.google.cloud.kms.v1.CryptoKeyVersionTemplate\x12:\n\x06labels\x18\n \x03(\x0b\x32*.google.cloud.kms.v1.CryptoKey.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"x\n\x10\x43ryptoKeyPurpose\x12"\n\x1e\x43RYPTO_KEY_PURPOSE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NCRYPT_DECRYPT\x10\x01\x12\x13\n\x0f\x41SYMMETRIC_SIGN\x10\x05\x12\x16\n\x12\x41SYMMETRIC_DECRYPT\x10\x06:{\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}B\x13\n\x11rotation_schedule"\xb3\x01\n\x18\x43ryptoKeyVersionTemplate\x12>\n\x10protection_level\x18\x01 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12W\n\talgorithm\x18\x03 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02"\xf1\x01\n\x17KeyOperationAttestation\x12S\n\x06\x66ormat\x18\x04 \x01(\x0e\x32>.google.cloud.kms.v1.KeyOperationAttestation.AttestationFormatB\x03\xe0\x41\x03\x12\x14\n\x07\x63ontent\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x03"k\n\x11\x41ttestationFormat\x12"\n\x1e\x41TTESTATION_FORMAT_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43\x41VIUM_V1_COMPRESSED\x10\x03\x12\x18\n\x14\x43\x41VIUM_V2_COMPRESSED\x10\x04"\x87\r\n\x10\x43ryptoKeyVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x05state\x18\x03 \x01(\x0e\x32;.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState\x12\x43\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x03\xe0\x41\x03\x12W\n\talgorithm\x18\n \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12;\n\x12\x64\x65stroy_event_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nimport_job\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0bimport_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12"\n\x15import_failure_reason\x18\x10 \x01(\tB\x03\xe0\x41\x03"\x9c\x04\n\x19\x43ryptoKeyVersionAlgorithm\x12,\n(CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGOOGLE_SYMMETRIC_ENCRYPTION\x10\x01\x12\x1c\n\x18RSA_SIGN_PSS_2048_SHA256\x10\x02\x12\x1c\n\x18RSA_SIGN_PSS_3072_SHA256\x10\x03\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA256\x10\x04\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA512\x10\x0f\x12\x1e\n\x1aRSA_SIGN_PKCS1_2048_SHA256\x10\x05\x12\x1e\n\x1aRSA_SIGN_PKCS1_3072_SHA256\x10\x06\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA256\x10\x07\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA512\x10\x10\x12 \n\x1cRSA_DECRYPT_OAEP_2048_SHA256\x10\x08\x12 \n\x1cRSA_DECRYPT_OAEP_3072_SHA256\x10\t\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA256\x10\n\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA512\x10\x11\x12\x17\n\x13\x45\x43_SIGN_P256_SHA256\x10\x0c\x12\x17\n\x13\x45\x43_SIGN_P384_SHA384\x10\r"\xc1\x01\n\x15\x43ryptoKeyVersionState\x12(\n$CRYPTO_KEY_VERSION_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x05\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x04\x12\x12\n\x0ePENDING_IMPORT\x10\x06\x12\x11\n\rIMPORT_FAILED\x10\x07"I\n\x14\x43ryptoKeyVersionView\x12\'\n#CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x01:\xaa\x01\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"l\n\tPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\x12R\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm"\xdb\x07\n\tImportJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\rimport_method\x18\x02 \x01(\x0e\x32+.google.cloud.kms.v1.ImportJob.ImportMethodB\x06\xe0\x41\x02\xe0\x41\x05\x12\x46\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x06\xe0\x41\x02\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x65xpire_event_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.kms.v1.ImportJob.ImportJobStateB\x03\xe0\x41\x03\x12I\n\npublic_key\x18\x07 \x01(\x0b\x32\x30.google.cloud.kms.v1.ImportJob.WrappingPublicKeyB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x1a \n\x11WrappingPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t"m\n\x0cImportMethod\x12\x1d\n\x19IMPORT_METHOD_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRSA_OAEP_3072_SHA1_AES_256\x10\x01\x12\x1e\n\x1aRSA_OAEP_4096_SHA1_AES_256\x10\x02"c\n\x0eImportJobState\x12 \n\x1cIMPORT_JOB_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03:{\xea\x41x\n!cloudkms.googleapis.com/ImportJob\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}*X\n\x0fProtectionLevel\x12 \n\x1cPROTECTION_LEVEL_UNSPECIFIED\x10\x00\x12\x0c\n\x08SOFTWARE\x10\x01\x12\x07\n\x03HSM\x10\x02\x12\x0c\n\x08\x45XTERNAL\x10\x03\x42\x99\x02\n\x17\x63om.google.cloud.kms.v1B\x11KmsResourcesProtoP\x01Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\xf8\x01\x01\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1\xea\x41\x80\x01\n!cloudkms.googleapis.com/CryptoKey\x12[projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key_path=**}b\x06proto3' + '\n)google/cloud/kms_v1/proto/resources.proto\x12\x13google.cloud.kms.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/api/annotations.proto"\xb5\x01\n\x07KeyRing\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03:a\xea\x41^\n\x1f\x63loudkms.googleapis.com/KeyRing\x12;projects/{project}/locations/{location}/keyRings/{key_ring}"\x86\x06\n\tCryptoKey\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12;\n\x07primary\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x03\x12\x45\n\x07purpose\x18\x03 \x01(\x0e\x32/.google.cloud.kms.v1.CryptoKey.CryptoKeyPurposeB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x12next_rotation_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0frotation_period\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12G\n\x10version_template\x18\x0b \x01(\x0b\x32-.google.cloud.kms.v1.CryptoKeyVersionTemplate\x12:\n\x06labels\x18\n \x03(\x0b\x32*.google.cloud.kms.v1.CryptoKey.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01"x\n\x10\x43ryptoKeyPurpose\x12"\n\x1e\x43RYPTO_KEY_PURPOSE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NCRYPT_DECRYPT\x10\x01\x12\x13\n\x0f\x41SYMMETRIC_SIGN\x10\x05\x12\x16\n\x12\x41SYMMETRIC_DECRYPT\x10\x06:{\xea\x41x\n!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}B\x13\n\x11rotation_schedule"\xb3\x01\n\x18\x43ryptoKeyVersionTemplate\x12>\n\x10protection_level\x18\x01 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12W\n\talgorithm\x18\x03 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02"\xf1\x01\n\x17KeyOperationAttestation\x12S\n\x06\x66ormat\x18\x04 \x01(\x0e\x32>.google.cloud.kms.v1.KeyOperationAttestation.AttestationFormatB\x03\xe0\x41\x03\x12\x14\n\x07\x63ontent\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x03"k\n\x11\x41ttestationFormat\x12"\n\x1e\x41TTESTATION_FORMAT_UNSPECIFIED\x10\x00\x12\x18\n\x14\x43\x41VIUM_V1_COMPRESSED\x10\x03\x12\x18\n\x14\x43\x41VIUM_V2_COMPRESSED\x10\x04"\x8a\x0e\n\x10\x43ryptoKeyVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x05state\x18\x03 \x01(\x0e\x32;.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState\x12\x43\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x03\xe0\x41\x03\x12W\n\talgorithm\x18\n \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x64\x65stroy_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12;\n\x12\x64\x65stroy_event_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x17\n\nimport_job\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0bimport_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12"\n\x15import_failure_reason\x18\x10 \x01(\tB\x03\xe0\x41\x03\x12^\n!external_protection_level_options\x18\x11 \x01(\x0b\x32\x33.google.cloud.kms.v1.ExternalProtectionLevelOptions"\xbf\x04\n\x19\x43ryptoKeyVersionAlgorithm\x12,\n(CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED\x10\x00\x12\x1f\n\x1bGOOGLE_SYMMETRIC_ENCRYPTION\x10\x01\x12\x1c\n\x18RSA_SIGN_PSS_2048_SHA256\x10\x02\x12\x1c\n\x18RSA_SIGN_PSS_3072_SHA256\x10\x03\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA256\x10\x04\x12\x1c\n\x18RSA_SIGN_PSS_4096_SHA512\x10\x0f\x12\x1e\n\x1aRSA_SIGN_PKCS1_2048_SHA256\x10\x05\x12\x1e\n\x1aRSA_SIGN_PKCS1_3072_SHA256\x10\x06\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA256\x10\x07\x12\x1e\n\x1aRSA_SIGN_PKCS1_4096_SHA512\x10\x10\x12 \n\x1cRSA_DECRYPT_OAEP_2048_SHA256\x10\x08\x12 \n\x1cRSA_DECRYPT_OAEP_3072_SHA256\x10\t\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA256\x10\n\x12 \n\x1cRSA_DECRYPT_OAEP_4096_SHA512\x10\x11\x12\x17\n\x13\x45\x43_SIGN_P256_SHA256\x10\x0c\x12\x17\n\x13\x45\x43_SIGN_P384_SHA384\x10\r\x12!\n\x1d\x45XTERNAL_SYMMETRIC_ENCRYPTION\x10\x12"\xc1\x01\n\x15\x43ryptoKeyVersionState\x12(\n$CRYPTO_KEY_VERSION_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x05\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\r\n\tDESTROYED\x10\x03\x12\x15\n\x11\x44\x45STROY_SCHEDULED\x10\x04\x12\x12\n\x0ePENDING_IMPORT\x10\x06\x12\x11\n\rIMPORT_FAILED\x10\x07"I\n\x14\x43ryptoKeyVersionView\x12\'\n#CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x01:\xaa\x01\xea\x41\xa6\x01\n(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"\x9d\x02\n\tPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t\x12R\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm:\xae\x01\xea\x41\xaa\x01\n!cloudkms.googleapis.com/PublicKey\x12\x84\x01projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey"\xdb\x07\n\tImportJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\rimport_method\x18\x02 \x01(\x0e\x32+.google.cloud.kms.v1.ImportJob.ImportMethodB\x06\xe0\x41\x02\xe0\x41\x05\x12\x46\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x06\xe0\x41\x02\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\rgenerate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x65xpire_event_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.kms.v1.ImportJob.ImportJobStateB\x03\xe0\x41\x03\x12I\n\npublic_key\x18\x07 \x01(\x0b\x32\x30.google.cloud.kms.v1.ImportJob.WrappingPublicKeyB\x03\xe0\x41\x03\x12\x46\n\x0b\x61ttestation\x18\x08 \x01(\x0b\x32,.google.cloud.kms.v1.KeyOperationAttestationB\x03\xe0\x41\x03\x1a \n\x11WrappingPublicKey\x12\x0b\n\x03pem\x18\x01 \x01(\t"m\n\x0cImportMethod\x12\x1d\n\x19IMPORT_METHOD_UNSPECIFIED\x10\x00\x12\x1e\n\x1aRSA_OAEP_3072_SHA1_AES_256\x10\x01\x12\x1e\n\x1aRSA_OAEP_4096_SHA1_AES_256\x10\x02"c\n\x0eImportJobState\x12 \n\x1cIMPORT_JOB_STATE_UNSPECIFIED\x10\x00\x12\x16\n\x12PENDING_GENERATION\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03:{\xea\x41x\n!cloudkms.googleapis.com/ImportJob\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}":\n\x1e\x45xternalProtectionLevelOptions\x12\x18\n\x10\x65xternal_key_uri\x18\x01 \x01(\t*X\n\x0fProtectionLevel\x12 \n\x1cPROTECTION_LEVEL_UNSPECIFIED\x10\x00\x12\x0c\n\x08SOFTWARE\x10\x01\x12\x07\n\x03HSM\x10\x02\x12\x0c\n\x08\x45XTERNAL\x10\x03\x42\x95\x01\n\x17\x63om.google.cloud.kms.v1B\x11KmsResourcesProtoP\x01Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\xf8\x01\x01\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3' ), dependencies=[ - google_dot_api_dot_annotations__pb2.DESCRIPTOR, google_dot_api_dot_field__behavior__pb2.DESCRIPTOR, google_dot_api_dot_resource__pb2.DESCRIPTOR, google_dot_protobuf_dot_duration__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR, + google_dot_api_dot_annotations__pb2.DESCRIPTOR, ], ) @@ -67,8 +67,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4382, - serialized_end=4470, + serialized_start=4751, + serialized_end=4839, ) _sym_db.RegisterEnumDescriptor(_PROTECTIONLEVEL) @@ -274,11 +274,18 @@ serialized_options=None, type=None, ), + _descriptor.EnumValueDescriptor( + name="EXTERNAL_SYMMETRIC_ENCRYPTION", + index=16, + number=18, + serialized_options=None, + type=None, + ), ], containing_type=None, serialized_options=None, - serialized_start=2296, - serialized_end=2836, + serialized_start=2392, + serialized_end=2967, ) _sym_db.RegisterEnumDescriptor(_CRYPTOKEYVERSION_CRYPTOKEYVERSIONALGORITHM) @@ -327,8 +334,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=2839, - serialized_end=3032, + serialized_start=2970, + serialized_end=3163, ) _sym_db.RegisterEnumDescriptor(_CRYPTOKEYVERSION_CRYPTOKEYVERSIONSTATE) @@ -351,8 +358,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=3034, - serialized_end=3107, + serialized_start=3165, + serialized_end=3238, ) _sym_db.RegisterEnumDescriptor(_CRYPTOKEYVERSION_CRYPTOKEYVERSIONVIEW) @@ -386,8 +393,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4045, - serialized_end=4154, + serialized_start=4354, + serialized_end=4463, ) _sym_db.RegisterEnumDescriptor(_IMPORTJOB_IMPORTMETHOD) @@ -420,8 +427,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=4156, - serialized_end=4255, + serialized_start=4465, + serialized_end=4564, ) _sym_db.RegisterEnumDescriptor(_IMPORTJOB_IMPORTJOBSTATE) @@ -1053,6 +1060,24 @@ serialized_options=_b("\340A\003"), file=DESCRIPTOR, ), + _descriptor.FieldDescriptor( + name="external_protection_level_options", + full_name="google.cloud.kms.v1.CryptoKeyVersion.external_protection_level_options", + index=12, + number=17, + type=11, + cpp_type=10, + label=1, + has_default_value=False, + default_value=None, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), ], extensions=[], nested_types=[], @@ -1069,7 +1094,7 @@ extension_ranges=[], oneofs=[], serialized_start=1609, - serialized_end=3280, + serialized_end=3411, ) @@ -1120,13 +1145,15 @@ extensions=[], nested_types=[], enum_types=[], - serialized_options=None, + serialized_options=_b( + "\352A\252\001\n!cloudkms.googleapis.com/PublicKey\022\204\001projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey" + ), is_extendable=False, syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3282, - serialized_end=3390, + serialized_start=3414, + serialized_end=3699, ) @@ -1164,8 +1191,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4011, - serialized_end=4043, + serialized_start=4320, + serialized_end=4352, ) _IMPORTJOB = _descriptor.Descriptor( @@ -1366,8 +1393,47 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3393, - serialized_end=4380, + serialized_start=3702, + serialized_end=4689, +) + + +_EXTERNALPROTECTIONLEVELOPTIONS = _descriptor.Descriptor( + name="ExternalProtectionLevelOptions", + full_name="google.cloud.kms.v1.ExternalProtectionLevelOptions", + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name="external_key_uri", + full_name="google.cloud.kms.v1.ExternalProtectionLevelOptions.external_key_uri", + index=0, + number=1, + type=9, + cpp_type=9, + label=1, + has_default_value=False, + default_value=_b("").decode("utf-8"), + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ) + ], + extensions=[], + nested_types=[], + enum_types=[], + serialized_options=None, + is_extendable=False, + syntax="proto3", + extension_ranges=[], + oneofs=[], + serialized_start=4691, + serialized_end=4749, ) _KEYRING.fields_by_name[ @@ -1427,6 +1493,9 @@ _CRYPTOKEYVERSION.fields_by_name[ "import_time" ].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP +_CRYPTOKEYVERSION.fields_by_name[ + "external_protection_level_options" +].message_type = _EXTERNALPROTECTIONLEVELOPTIONS _CRYPTOKEYVERSION_CRYPTOKEYVERSIONALGORITHM.containing_type = _CRYPTOKEYVERSION _CRYPTOKEYVERSION_CRYPTOKEYVERSIONSTATE.containing_type = _CRYPTOKEYVERSION _CRYPTOKEYVERSION_CRYPTOKEYVERSIONVIEW.containing_type = _CRYPTOKEYVERSION @@ -1460,6 +1529,9 @@ DESCRIPTOR.message_types_by_name["CryptoKeyVersion"] = _CRYPTOKEYVERSION DESCRIPTOR.message_types_by_name["PublicKey"] = _PUBLICKEY DESCRIPTOR.message_types_by_name["ImportJob"] = _IMPORTJOB +DESCRIPTOR.message_types_by_name[ + "ExternalProtectionLevelOptions" +] = _EXTERNALPROTECTIONLEVELOPTIONS DESCRIPTOR.enum_types_by_name["ProtectionLevel"] = _PROTECTIONLEVEL _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -1469,10 +1541,8 @@ dict( DESCRIPTOR=_KEYRING, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel - logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. - - + __doc__="""A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical + grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. Attributes: name: Output only. The resource name for the @@ -1502,14 +1572,11 @@ ), DESCRIPTOR=_CRYPTOKEY, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a - logical key that can be used for cryptographic operations. - - A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more + __doc__="""A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key + that can be used for cryptographic operations. A + [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of one or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which represent the actual key material used in cryptographic operations. - - Attributes: name: Output only. The resource name for this @@ -1589,15 +1656,12 @@ dict( DESCRIPTOR=_CRYPTOKEYVERSIONTEMPLATE, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""A - [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] - specifies the properties to use when creating a new + __doc__="""A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTempl + ate] specifies the properties to use when creating a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either - manually with - [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] - or automatically as a result of auto-rotation. - - + manually with [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManageme + ntService.CreateCryptoKeyVersion] or automatically as a result of + auto-rotation. Attributes: protection_level: [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use @@ -1627,11 +1691,9 @@ dict( DESCRIPTOR=_KEYOPERATIONATTESTATION, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""Contains an HSM-generated attestation about a key - operation. For more information, see [Verifying attestations] + __doc__="""Contains an HSM-generated attestation about a key operation. For more + information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key). - - Attributes: format: Output only. The format of the attestation data. @@ -1650,20 +1712,14 @@ dict( DESCRIPTOR=_CRYPTOKEYVERSION, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] - represents an individual cryptographic key, and the associated key - material. - - An - [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] - version can be used for cryptographic operations. - - For security reasons, the raw cryptographic key material represented by - a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be + __doc__="""A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents + an individual cryptographic key, and the associated key material. An + [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.E + NABLED] version can be used for cryptographic operations. For + security reasons, the raw cryptographic key material represented by a + [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS. - - Attributes: name: Output only. The resource name for this @@ -1725,6 +1781,13 @@ if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is [IMP ORT\_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVer sionState.IMPORT\_FAILED]. + external_protection_level_options: + ExternalProtectionLevelOptions stores a group of additional + fields for configuring a + [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that + are specific to the + [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] + protection level. """, # @@protoc_insertion_point(class_scope:google.cloud.kms.v1.CryptoKeyVersion) ), @@ -1740,8 +1803,6 @@ __doc__="""The public key for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. - - Attributes: pem: The public key, encoded in PEM format. For more information, @@ -1769,11 +1830,9 @@ dict( DESCRIPTOR=_IMPORTJOB_WRAPPINGPUBLICKEY, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""The public key component of the wrapping key. For details - of the type of key this public key corresponds to, see the + __doc__="""The public key component of the wrapping key. For details of the type + of key this public key corresponds to, see the [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod]. - - Attributes: pem: The public key, encoded in PEM format. For more information, @@ -1788,42 +1847,37 @@ ), DESCRIPTOR=_IMPORTJOB, __module__="google.cloud.kms_v1.proto.resources_pb2", - __doc__="""An [ImportJob][google.cloud.kms.v1.ImportJob] can be used - to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and - [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using - pre-existing key material, generated outside of Cloud KMS. - - When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS - will generate a "wrapping key", which is a public/private key pair. You - use the wrapping key to encrypt (also known as wrap) the pre-existing - key material to protect it during the import process. The nature of the + __doc__="""An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create + [CryptoKeys][google.cloud.kms.v1.CryptoKey] and + [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre- + existing key material, generated outside of Cloud KMS. When an + [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will + generate a "wrapping key", which is a public/private key pair. You use + the wrapping key to encrypt (also known as wrap) the pre-existing key + material to protect it during the import process. The nature of the wrapping key depends on the choice of - [import\_method][google.cloud.kms.v1.ImportJob.import\_method]. When the - wrapping key generation is complete, the + [import\_method][google.cloud.kms.v1.ImportJob.import\_method]. When + the wrapping key generation is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the - [public\_key][google.cloud.kms.v1.ImportJob.public\_key] can be fetched. - The fetched public key can then be used to wrap your pre-existing key - material. - - Once the key material is wrapped, it can be imported into a new - [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing - [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling - [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. - Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can - be imported with a single [ImportJob][google.cloud.kms.v1.ImportJob]. - Cloud KMS uses the private key portion of the wrapping key to unwrap the - key material. Only Cloud KMS has access to the private key. - - An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is + [public\_key][google.cloud.kms.v1.ImportJob.public\_key] can be + fetched. The fetched public key can then be used to wrap your pre- + existing key material. Once the key material is wrapped, it can be + imported into a new + [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an + existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling [Import + CryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCrypt + oKeyVersion]. Multiple + [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be + imported with a single [ImportJob][google.cloud.kms.v1.ImportJob]. + Cloud KMS uses the private key portion of the wrapping key to unwrap + the key material. Only Cloud KMS has access to the private key. An + [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the - [ImportJob][google.cloud.kms.v1.ImportJob]'s public key. - - For more information, see `Importing a - key `__. - - + [ImportJob][google.cloud.kms.v1.ImportJob]'s public key. For more + information, see `Importing a key + `__. Attributes: name: Output only. The resource name for this @@ -1880,6 +1934,28 @@ _sym_db.RegisterMessage(ImportJob) _sym_db.RegisterMessage(ImportJob.WrappingPublicKey) +ExternalProtectionLevelOptions = _reflection.GeneratedProtocolMessageType( + "ExternalProtectionLevelOptions", + (_message.Message,), + dict( + DESCRIPTOR=_EXTERNALPROTECTIONLEVELOPTIONS, + __module__="google.cloud.kms_v1.proto.resources_pb2", + __doc__="""ExternalProtectionLevelOptions stores a group of additional fields for + configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] + that are specific to the + [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection + level. + Attributes: + external_key_uri: + The URI for an external resource that this + [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] + represents. + """, + # @@protoc_insertion_point(class_scope:google.cloud.kms.v1.ExternalProtectionLevelOptions) + ), +) +_sym_db.RegisterMessage(ExternalProtectionLevelOptions) + DESCRIPTOR._options = None _KEYRING.fields_by_name["name"]._options = None @@ -1906,6 +1982,7 @@ _CRYPTOKEYVERSION.fields_by_name["import_time"]._options = None _CRYPTOKEYVERSION.fields_by_name["import_failure_reason"]._options = None _CRYPTOKEYVERSION._options = None +_PUBLICKEY._options = None _IMPORTJOB.fields_by_name["name"]._options = None _IMPORTJOB.fields_by_name["import_method"]._options = None _IMPORTJOB.fields_by_name["protection_level"]._options = None diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/proto/service.proto b/packages/google-cloud-kms/google/cloud/kms_v1/proto/service.proto index eba9ac2bec6e..d0c8949cba4a 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/proto/service.proto +++ b/packages/google-cloud-kms/google/cloud/kms_v1/proto/service.proto @@ -1,4 +1,4 @@ -// Copyright 2019 Google LLC. +// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -95,6 +95,7 @@ service KeyManagementService { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}" }; + option (google.api.method_signature) = "name"; } // Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. @@ -102,6 +103,7 @@ service KeyManagementService { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}" }; + option (google.api.method_signature) = "name"; } // Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The @@ -112,6 +114,7 @@ service KeyManagementService { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey" }; + option (google.api.method_signature) = "name"; } // Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob]. @@ -119,6 +122,7 @@ service KeyManagementService { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}" }; + option (google.api.method_signature) = "name"; } // Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location. @@ -371,7 +375,7 @@ message ListCryptoKeyVersionsRequest { string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { - type: "cloudkms.googleapis.com/KeyRing" + type: "cloudkms.googleapis.com/CryptoKey" } ]; @@ -678,9 +682,7 @@ message CreateImportJobRequest { // Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey]. message UpdateCryptoKeyRequest { // Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values. - CryptoKey crypto_key = 1 [ - (google.api.field_behavior) = REQUIRED - ]; + CryptoKey crypto_key = 1 [(google.api.field_behavior) = REQUIRED]; // Required. List of fields to be updated in this request. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; @@ -689,9 +691,7 @@ message UpdateCryptoKeyRequest { // Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion]. message UpdateCryptoKeyVersionRequest { // Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with updated values. - CryptoKeyVersion crypto_key_version = 1 [ - (google.api.field_behavior) = REQUIRED - ]; + CryptoKeyVersion crypto_key_version = 1 [(google.api.field_behavior) = REQUIRED]; // Required. List of fields to be updated in this request. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; @@ -707,7 +707,7 @@ message EncryptRequest { string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { - type: "cloudkms.googleapis.com/CryptoKey" + type: "*" } ]; @@ -870,4 +870,9 @@ message LocationMetadata { // [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] // [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location. bool hsm_available = 1; + + // Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with + // [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level] + // [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in this location. + bool ekm_available = 2; } diff --git a/packages/google-cloud-kms/google/cloud/kms_v1/proto/service_pb2.py b/packages/google-cloud-kms/google/cloud/kms_v1/proto/service_pb2.py index a7bb0f5ccda6..0ae5724a142a 100644 --- a/packages/google-cloud-kms/google/cloud/kms_v1/proto/service_pb2.py +++ b/packages/google-cloud-kms/google/cloud/kms_v1/proto/service_pb2.py @@ -33,7 +33,7 @@ "\n\027com.google.cloud.kms.v1B\010KmsProtoP\001Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\370\001\001\252\002\023Google.Cloud.Kms.V1\312\002\023Google\\Cloud\\Kms\\V1" ), serialized_pb=_b( - '\n\'google/cloud/kms_v1/proto/service.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/kms_v1/proto/resources.proto\x1a google/protobuf/field_mask.proto"\xad\x01\n\x13ListKeyRingsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01"\xff\x01\n\x15ListCryptoKeysRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12P\n\x0cversion_view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01"\xfe\x01\n\x1cListCryptoKeyVersionsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12H\n\x04view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01"\xad\x01\n\x15ListImportJobsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01"t\n\x14ListKeyRingsResponse\x12/\n\tkey_rings\x18\x01 \x03(\x0b\x32\x1c.google.cloud.kms.v1.KeyRing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"z\n\x16ListCryptoKeysResponse\x12\x33\n\x0b\x63rypto_keys\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKey\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"\x90\x01\n\x1dListCryptoKeyVersionsResponse\x12\x42\n\x13\x63rypto_key_versions\x18\x01 \x03(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"z\n\x16ListImportJobsResponse\x12\x33\n\x0bimport_jobs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.ImportJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"J\n\x11GetKeyRingRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing"N\n\x13GetCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey"\\\n\x1aGetCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"U\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"N\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob"\xa0\x01\n\x14\x43reateKeyRingRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x18\n\x0bkey_ring_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x08key_ring\x18\x03 \x01(\x0b\x32\x1c.google.cloud.kms.v1.KeyRingB\x03\xe0\x41\x02"\xcd\x01\n\x16\x43reateCryptoKeyRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rcrypto_key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\ncrypto_key\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12%\n\x1dskip_initial_version_creation\x18\x05 \x01(\x08"\xa2\x01\n\x1d\x43reateCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x46\n\x12\x63rypto_key_version\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02"\x83\x02\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12W\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\x12\x17\n\nimport_job\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0cH\x00\x42\x16\n\x14wrapped_key_material"\xa6\x01\n\x16\x43reateImportJobRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rimport_job_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\nimport_job\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.ImportJobB\x03\xe0\x41\x02"\x87\x01\n\x16UpdateCryptoKeyRequest\x12\x37\n\ncrypto_key\x18\x01 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"\x9d\x01\n\x1dUpdateCryptoKeyVersionRequest\x12\x46\n\x12\x63rypto_key_version\x18\x01 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"\x8d\x01\n\x0e\x45ncryptRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01"\x8e\x01\n\x0e\x44\x65\x63ryptRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01"\x89\x01\n\x15\x41symmetricSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x30\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x1b.google.cloud.kms.v1.DigestB\x03\xe0\x41\x02"s\n\x18\x41symmetricDecryptRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x02"$\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c"3\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c"+\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c".\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c"\x83\x01\n$UpdateCryptoKeyPrimaryVersionRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12"\n\x15\x63rypto_key_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02"`\n\x1e\x44\x65stroyCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"`\n\x1eRestoreCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"H\n\x06\x44igest\x12\x10\n\x06sha256\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06sha384\x18\x02 \x01(\x0cH\x00\x12\x10\n\x06sha512\x18\x03 \x01(\x0cH\x00\x42\x08\n\x06\x64igest")\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x32\xea%\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse"=\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\xda\x41\x06parent\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse"J\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\xda\x41\x06parent\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse"^\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\xda\x41\x06parent\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse"J\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\xda\x41\x06parent\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing";\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\xda\x41\x04name\x12\x9b\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"A\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\xc4\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"U\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\x12\xb9\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey"_\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\x12\x9b\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob"A\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing"\\\x82\xd3\xe4\x93\x02\x38",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\xda\x41\x1bparent,key_ring_id,key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"o\x82\xd3\xe4\x93\x02G"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\xda\x41\x1fparent,crypto_key_id,crypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"\x85\x01\x82\xd3\xe4\x93\x02\x63"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\xda\x41\x19parent,crypto_key_version\x12\xd4\x01\n\x16ImportCryptoKeyVersion\x12\x32.google.cloud.kms.v1.ImportCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"_\x82\xd3\xe4\x93\x02Y"T/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import:\x01*\x12\xcf\x01\n\x0f\x43reateImportJob\x12+.google.cloud.kms.v1.CreateImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob"o\x82\xd3\xe4\x93\x02G"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\xda\x41\x1fparent,import_job_id,import_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"q\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\xda\x41\x16\x63rypto_key,update_mask\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"\x9d\x01\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\xda\x41\x1e\x63rypto_key_version,update_mask\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse"^\x82\xd3\xe4\x93\x02G"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\xda\x41\x0ename,plaintext\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse"^\x82\xd3\xe4\x93\x02\x46"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\xda\x41\x0fname,ciphertext\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse"u\x82\xd3\xe4\x93\x02\x61"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\xda\x41\x0bname,digest\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse"|\x82\xd3\xe4\x93\x02\x64"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\xda\x41\x0fname,ciphertext\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"v\x82\xd3\xe4\x93\x02S"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\xda\x41\x1aname,crypto_key_version_id\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"g\x82\xd3\xe4\x93\x02Z"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\xda\x41\x04name\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"g\x82\xd3\xe4\x93\x02Z"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\xda\x41\x04name\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB\x8c\x01\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\xf8\x01\x01\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3' + '\n\'google/cloud/kms_v1/proto/service.proto\x12\x13google.cloud.kms.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/kms_v1/proto/resources.proto\x1a google/protobuf/field_mask.proto"\xad\x01\n\x13ListKeyRingsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01"\xff\x01\n\x15ListCryptoKeysRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12P\n\x0cversion_view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01"\x80\x02\n\x1cListCryptoKeyVersionsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12H\n\x04view\x18\x04 \x01(\x0e\x32:.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionView\x12\x13\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01"\xad\x01\n\x15ListImportJobsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01"t\n\x14ListKeyRingsResponse\x12/\n\tkey_rings\x18\x01 \x03(\x0b\x32\x1c.google.cloud.kms.v1.KeyRing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"z\n\x16ListCryptoKeysResponse\x12\x33\n\x0b\x63rypto_keys\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKey\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"\x90\x01\n\x1dListCryptoKeyVersionsResponse\x12\x42\n\x13\x63rypto_key_versions\x18\x01 \x03(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"z\n\x16ListImportJobsResponse\x12\x33\n\x0bimport_jobs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.kms.v1.ImportJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05"J\n\x11GetKeyRingRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing"N\n\x13GetCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey"\\\n\x1aGetCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"U\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"N\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob"\xa0\x01\n\x14\x43reateKeyRingRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x18\n\x0bkey_ring_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x08key_ring\x18\x03 \x01(\x0b\x32\x1c.google.cloud.kms.v1.KeyRingB\x03\xe0\x41\x02"\xcd\x01\n\x16\x43reateCryptoKeyRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rcrypto_key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\ncrypto_key\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12%\n\x1dskip_initial_version_creation\x18\x05 \x01(\x08"\xa2\x01\n\x1d\x43reateCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x46\n\x12\x63rypto_key_version\x18\x02 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02"\x83\x02\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12W\n\talgorithm\x18\x02 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\x12\x17\n\nimport_job\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0cH\x00\x42\x16\n\x14wrapped_key_material"\xa6\x01\n\x16\x43reateImportJobRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1f\x63loudkms.googleapis.com/KeyRing\x12\x1a\n\rimport_job_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\nimport_job\x18\x03 \x01(\x0b\x32\x1e.google.cloud.kms.v1.ImportJobB\x03\xe0\x41\x02"\x87\x01\n\x16UpdateCryptoKeyRequest\x12\x37\n\ncrypto_key\x18\x01 \x01(\x0b\x32\x1e.google.cloud.kms.v1.CryptoKeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"\x9d\x01\n\x1dUpdateCryptoKeyVersionRequest\x12\x46\n\x12\x63rypto_key_version\x18\x01 \x01(\x0b\x32%.google.cloud.kms.v1.CryptoKeyVersionB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02"m\n\x0e\x45ncryptRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x16\n\tplaintext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01"\x8e\x01\n\x0e\x44\x65\x63ryptRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12*\n\x1d\x61\x64\x64itional_authenticated_data\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01"\x89\x01\n\x15\x41symmetricSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x30\n\x06\x64igest\x18\x03 \x01(\x0b\x32\x1b.google.cloud.kms.v1.DigestB\x03\xe0\x41\x02"s\n\x18\x41symmetricDecryptRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x02"$\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c"3\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c"+\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c".\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c"\x83\x01\n$UpdateCryptoKeyPrimaryVersionRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12"\n\x15\x63rypto_key_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02"`\n\x1e\x44\x65stroyCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"`\n\x1eRestoreCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion"H\n\x06\x44igest\x12\x10\n\x06sha256\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06sha384\x18\x02 \x01(\x0cH\x00\x12\x10\n\x06sha512\x18\x03 \x01(\x0cH\x00\x42\x08\n\x06\x64igest"@\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x12\x15\n\rekm_available\x18\x02 \x01(\x08\x32\x86&\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse"=\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\xda\x41\x06parent\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse"J\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\xda\x41\x06parent\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse"^\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\xda\x41\x06parent\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse"J\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\xda\x41\x06parent\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing";\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\xda\x41\x04name\x12\xa2\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"H\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\xda\x41\x04name\x12\xcb\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"\\\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\xda\x41\x04name\x12\xc0\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey"f\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\xda\x41\x04name\x12\xa2\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob"H\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\xda\x41\x04name\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing"\\\x82\xd3\xe4\x93\x02\x38",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\xda\x41\x1bparent,key_ring_id,key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"o\x82\xd3\xe4\x93\x02G"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\xda\x41\x1fparent,crypto_key_id,crypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"\x85\x01\x82\xd3\xe4\x93\x02\x63"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\xda\x41\x19parent,crypto_key_version\x12\xd4\x01\n\x16ImportCryptoKeyVersion\x12\x32.google.cloud.kms.v1.ImportCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"_\x82\xd3\xe4\x93\x02Y"T/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import:\x01*\x12\xcf\x01\n\x0f\x43reateImportJob\x12+.google.cloud.kms.v1.CreateImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob"o\x82\xd3\xe4\x93\x02G"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\xda\x41\x1fparent,import_job_id,import_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"q\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\xda\x41\x16\x63rypto_key,update_mask\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"\x9d\x01\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\xda\x41\x1e\x63rypto_key_version,update_mask\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse"^\x82\xd3\xe4\x93\x02G"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\xda\x41\x0ename,plaintext\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse"^\x82\xd3\xe4\x93\x02\x46"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\xda\x41\x0fname,ciphertext\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse"u\x82\xd3\xe4\x93\x02\x61"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\xda\x41\x0bname,digest\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse"|\x82\xd3\xe4\x93\x02\x64"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\xda\x41\x0fname,ciphertext\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey"v\x82\xd3\xe4\x93\x02S"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\xda\x41\x1aname,crypto_key_version_id\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"g\x82\xd3\xe4\x93\x02Z"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\xda\x41\x04name\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion"g\x82\xd3\xe4\x93\x02Z"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\xda\x41\x04name\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB\x8c\x01\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z6google.golang.org/genproto/googleapis/cloud/kms/v1;kms\xf8\x01\x01\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3' ), dependencies=[ google_dot_api_dot_annotations__pb2.DESCRIPTOR, @@ -313,7 +313,7 @@ is_extension=False, extension_scope=None, serialized_options=_b( - "\340A\002\372A!\n\037cloudkms.googleapis.com/KeyRing" + "\340A\002\372A#\n!cloudkms.googleapis.com/CryptoKey" ), file=DESCRIPTOR, ), @@ -417,7 +417,7 @@ extension_ranges=[], oneofs=[], serialized_start=691, - serialized_end=945, + serialized_end=947, ) @@ -529,8 +529,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=948, - serialized_end=1121, + serialized_start=950, + serialized_end=1123, ) @@ -604,8 +604,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1123, - serialized_end=1239, + serialized_start=1125, + serialized_end=1241, ) @@ -679,8 +679,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1241, - serialized_end=1363, + serialized_start=1243, + serialized_end=1365, ) @@ -754,8 +754,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1366, - serialized_end=1510, + serialized_start=1368, + serialized_end=1512, ) @@ -829,8 +829,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1512, - serialized_end=1634, + serialized_start=1514, + serialized_end=1636, ) @@ -870,8 +870,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1636, - serialized_end=1710, + serialized_start=1638, + serialized_end=1712, ) @@ -911,8 +911,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1712, - serialized_end=1790, + serialized_start=1714, + serialized_end=1792, ) @@ -952,8 +952,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1792, - serialized_end=1884, + serialized_start=1794, + serialized_end=1886, ) @@ -993,8 +993,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1886, - serialized_end=1971, + serialized_start=1888, + serialized_end=1973, ) @@ -1034,8 +1034,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=1973, - serialized_end=2051, + serialized_start=1975, + serialized_end=2053, ) @@ -1111,8 +1111,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2054, - serialized_end=2214, + serialized_start=2056, + serialized_end=2216, ) @@ -1206,8 +1206,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2217, - serialized_end=2422, + serialized_start=2219, + serialized_end=2424, ) @@ -1265,8 +1265,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2425, - serialized_end=2587, + serialized_start=2427, + serialized_end=2589, ) @@ -1368,8 +1368,8 @@ fields=[], ) ], - serialized_start=2590, - serialized_end=2849, + serialized_start=2592, + serialized_end=2851, ) @@ -1445,8 +1445,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=2852, - serialized_end=3018, + serialized_start=2854, + serialized_end=3020, ) @@ -1502,8 +1502,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3021, - serialized_end=3156, + serialized_start=3023, + serialized_end=3158, ) @@ -1559,8 +1559,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3159, - serialized_end=3316, + serialized_start=3161, + serialized_end=3318, ) @@ -1586,9 +1586,7 @@ containing_type=None, is_extension=False, extension_scope=None, - serialized_options=_b( - "\340A\002\372A#\n!cloudkms.googleapis.com/CryptoKey" - ), + serialized_options=_b("\340A\002\372A\003\n\001*"), file=DESCRIPTOR, ), _descriptor.FieldDescriptor( @@ -1636,8 +1634,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3319, - serialized_end=3460, + serialized_start=3320, + serialized_end=3429, ) @@ -1713,8 +1711,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3463, - serialized_end=3605, + serialized_start=3432, + serialized_end=3574, ) @@ -1772,8 +1770,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3608, - serialized_end=3745, + serialized_start=3577, + serialized_end=3714, ) @@ -1831,8 +1829,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3747, - serialized_end=3862, + serialized_start=3716, + serialized_end=3831, ) @@ -1870,8 +1868,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3864, - serialized_end=3900, + serialized_start=3833, + serialized_end=3869, ) @@ -1927,8 +1925,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3902, - serialized_end=3953, + serialized_start=3871, + serialized_end=3922, ) @@ -1966,8 +1964,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=3955, - serialized_end=3998, + serialized_start=3924, + serialized_end=3967, ) @@ -2005,8 +2003,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4000, - serialized_end=4046, + serialized_start=3969, + serialized_end=4015, ) @@ -2064,8 +2062,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4049, - serialized_end=4180, + serialized_start=4018, + serialized_end=4149, ) @@ -2105,8 +2103,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4182, - serialized_end=4278, + serialized_start=4151, + serialized_end=4247, ) @@ -2146,8 +2144,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4280, - serialized_end=4376, + serialized_start=4249, + serialized_end=4345, ) @@ -2229,8 +2227,8 @@ fields=[], ) ], - serialized_start=4378, - serialized_end=4450, + serialized_start=4347, + serialized_end=4419, ) @@ -2258,7 +2256,25 @@ extension_scope=None, serialized_options=None, file=DESCRIPTOR, - ) + ), + _descriptor.FieldDescriptor( + name="ekm_available", + full_name="google.cloud.kms.v1.LocationMetadata.ekm_available", + index=1, + number=2, + type=8, + cpp_type=7, + label=1, + has_default_value=False, + default_value=False, + message_type=None, + enum_type=None, + containing_type=None, + is_extension=False, + extension_scope=None, + serialized_options=None, + file=DESCRIPTOR, + ), ], extensions=[], nested_types=[], @@ -2268,8 +2284,8 @@ syntax="proto3", extension_ranges=[], oneofs=[], - serialized_start=4452, - serialized_end=4493, + serialized_start=4421, + serialized_end=4485, ) _LISTCRYPTOKEYSREQUEST.fields_by_name[ @@ -2405,10 +2421,8 @@ dict( DESCRIPTOR=_LISTKEYRINGSREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings]. - - + __doc__="""Request message for [KeyManagementService.ListKeyRings][google.cloud.k + ms.v1.KeyManagementService.ListKeyRings]. Attributes: parent: Required. The resource name of the location associated with @@ -2448,10 +2462,8 @@ dict( DESCRIPTOR=_LISTCRYPTOKEYSREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys]. - - + __doc__="""Request message for [KeyManagementService.ListCryptoKeys][google.cloud + .kms.v1.KeyManagementService.ListCryptoKeys]. Attributes: parent: Required. The resource name of the @@ -2493,10 +2505,8 @@ dict( DESCRIPTOR=_LISTCRYPTOKEYVERSIONSREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions]. - - + __doc__="""Request message for [KeyManagementService.ListCryptoKeyVersions][googl + e.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions]. Attributes: parent: Required. The resource name of the @@ -2539,10 +2549,8 @@ dict( DESCRIPTOR=_LISTIMPORTJOBSREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs]. - - + __doc__="""Request message for [KeyManagementService.ListImportJobs][google.cloud + .kms.v1.KeyManagementService.ListImportJobs]. Attributes: parent: Required. The resource name of the @@ -2582,10 +2590,8 @@ dict( DESCRIPTOR=_LISTKEYRINGSRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings]. - - + __doc__="""Response message for [KeyManagementService.ListKeyRings][google.cloud. + kms.v1.KeyManagementService.ListKeyRings]. Attributes: key_rings: The list of [KeyRings][google.cloud.kms.v1.KeyRing]. @@ -2608,10 +2614,8 @@ dict( DESCRIPTOR=_LISTCRYPTOKEYSRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys]. - - + __doc__="""Response message for [KeyManagementService.ListCryptoKeys][google.clou + d.kms.v1.KeyManagementService.ListCryptoKeys]. Attributes: crypto_keys: The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey]. @@ -2636,10 +2640,8 @@ dict( DESCRIPTOR=_LISTCRYPTOKEYVERSIONSRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions]. - - + __doc__="""Response message for [KeyManagementService.ListCryptoKeyVersions][goog + le.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions]. Attributes: crypto_key_versions: The list of @@ -2665,10 +2667,8 @@ dict( DESCRIPTOR=_LISTIMPORTJOBSRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs]. - - + __doc__="""Response message for [KeyManagementService.ListImportJobs][google.clou + d.kms.v1.KeyManagementService.ListImportJobs]. Attributes: import_jobs: The list of [ImportJobs][google.cloud.kms.v1.ImportJob]. @@ -2693,10 +2693,8 @@ dict( DESCRIPTOR=_GETKEYRINGREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing]. - - + __doc__="""Request message for [KeyManagementService.GetKeyRing][google.cloud.kms + .v1.KeyManagementService.GetKeyRing]. Attributes: name: Required. The [name][google.cloud.kms.v1.KeyRing.name] of the @@ -2713,10 +2711,8 @@ dict( DESCRIPTOR=_GETCRYPTOKEYREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey]. - - + __doc__="""Request message for [KeyManagementService.GetCryptoKey][google.cloud.k + ms.v1.KeyManagementService.GetCryptoKey]. Attributes: name: Required. The [name][google.cloud.kms.v1.CryptoKey.name] of @@ -2733,10 +2729,8 @@ dict( DESCRIPTOR=_GETCRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.GetCryptoKeyVersion][google. + cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion]. Attributes: name: Required. The @@ -2755,10 +2749,8 @@ dict( DESCRIPTOR=_GETPUBLICKEYREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. - - + __doc__="""Request message for [KeyManagementService.GetPublicKey][google.cloud.k + ms.v1.KeyManagementService.GetPublicKey]. Attributes: name: Required. The @@ -2777,10 +2769,8 @@ dict( DESCRIPTOR=_GETIMPORTJOBREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob]. - - + __doc__="""Request message for [KeyManagementService.GetImportJob][google.cloud.k + ms.v1.KeyManagementService.GetImportJob]. Attributes: name: Required. The [name][google.cloud.kms.v1.ImportJob.name] of @@ -2797,10 +2787,8 @@ dict( DESCRIPTOR=_CREATEKEYRINGREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing]. - - + __doc__="""Request message for [KeyManagementService.CreateKeyRing][google.cloud. + kms.v1.KeyManagementService.CreateKeyRing]. Attributes: parent: Required. The resource name of the location associated with @@ -2824,10 +2812,8 @@ dict( DESCRIPTOR=_CREATECRYPTOKEYREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey]. - - + __doc__="""Request message for [KeyManagementService.CreateCryptoKey][google.clou + d.kms.v1.KeyManagementService.CreateCryptoKey]. Attributes: parent: Required. The [name][google.cloud.kms.v1.KeyRing.name] of the @@ -2860,10 +2846,8 @@ dict( DESCRIPTOR=_CREATECRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.CreateCryptoKeyVersion][goog + le.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]. Attributes: parent: Required. The [name][google.cloud.kms.v1.CryptoKey.name] of @@ -2885,10 +2869,8 @@ dict( DESCRIPTOR=_IMPORTCRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.ImportCryptoKeyVersion][goog + le.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. Attributes: parent: Required. The [name][google.cloud.kms.v1.CryptoKey.name] of @@ -2939,10 +2921,8 @@ dict( DESCRIPTOR=_CREATEIMPORTJOBREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob]. - - + __doc__="""Request message for [KeyManagementService.CreateImportJob][google.clou + d.kms.v1.KeyManagementService.CreateImportJob]. Attributes: parent: Required. The [name][google.cloud.kms.v1.KeyRing.name] of the @@ -2966,10 +2946,8 @@ dict( DESCRIPTOR=_UPDATECRYPTOKEYREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey]. - - + __doc__="""Request message for [KeyManagementService.UpdateCryptoKey][google.clou + d.kms.v1.KeyManagementService.UpdateCryptoKey]. Attributes: crypto_key: Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with @@ -2988,10 +2966,8 @@ dict( DESCRIPTOR=_UPDATECRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.UpdateCryptoKeyVersion][goog + le.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion]. Attributes: crypto_key_version: Required. @@ -3011,10 +2987,8 @@ dict( DESCRIPTOR=_ENCRYPTREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. - - + __doc__="""Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1 + .KeyManagementService.Encrypt]. Attributes: name: Required. The resource name of the @@ -3060,10 +3034,8 @@ dict( DESCRIPTOR=_DECRYPTREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. - - + __doc__="""Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1 + .KeyManagementService.Decrypt]. Attributes: name: Required. The resource name of the @@ -3090,10 +3062,8 @@ dict( DESCRIPTOR=_ASYMMETRICSIGNREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign]. - - + __doc__="""Request message for [KeyManagementService.AsymmetricSign][google.cloud + .kms.v1.KeyManagementService.AsymmetricSign]. Attributes: name: Required. The resource name of the @@ -3116,10 +3086,8 @@ dict( DESCRIPTOR=_ASYMMETRICDECRYPTREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt]. - - + __doc__="""Request message for [KeyManagementService.AsymmetricDecrypt][google.cl + oud.kms.v1.KeyManagementService.AsymmetricDecrypt]. Attributes: name: Required. The resource name of the @@ -3141,10 +3109,8 @@ dict( DESCRIPTOR=_DECRYPTRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. - - + __doc__="""Response message for [KeyManagementService.Decrypt][google.cloud.kms.v + 1.KeyManagementService.Decrypt]. Attributes: plaintext: The decrypted data originally supplied in [EncryptRequest.plai @@ -3161,10 +3127,8 @@ dict( DESCRIPTOR=_ENCRYPTRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. - - + __doc__="""Response message for [KeyManagementService.Encrypt][google.cloud.kms.v + 1.KeyManagementService.Encrypt]. Attributes: name: The resource name of the @@ -3185,10 +3149,8 @@ dict( DESCRIPTOR=_ASYMMETRICSIGNRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign]. - - + __doc__="""Response message for [KeyManagementService.AsymmetricSign][google.clou + d.kms.v1.KeyManagementService.AsymmetricSign]. Attributes: signature: The created signature. @@ -3204,10 +3166,8 @@ dict( DESCRIPTOR=_ASYMMETRICDECRYPTRESPONSE, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Response message for - [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt]. - - + __doc__="""Response message for [KeyManagementService.AsymmetricDecrypt][google.c + loud.kms.v1.KeyManagementService.AsymmetricDecrypt]. Attributes: plaintext: The decrypted data originally encrypted with the matching @@ -3224,10 +3184,9 @@ dict( DESCRIPTOR=_UPDATECRYPTOKEYPRIMARYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. - - + __doc__="""Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersio + n][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVers + ion]. Attributes: name: Required. The resource name of the @@ -3248,10 +3207,8 @@ dict( DESCRIPTOR=_DESTROYCRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.DestroyCryptoKeyVersion][goo + gle.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]. Attributes: name: Required. The resource name of the @@ -3269,10 +3226,8 @@ dict( DESCRIPTOR=_RESTORECRYPTOKEYVERSIONREQUEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""Request message for - [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]. - - + __doc__="""Request message for [KeyManagementService.RestoreCryptoKeyVersion][goo + gle.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]. Attributes: name: Required. The resource name of the @@ -3290,10 +3245,8 @@ dict( DESCRIPTOR=_DIGEST, __module__="google.cloud.kms_v1.proto.service_pb2", - __doc__="""A [Digest][google.cloud.kms.v1.Digest] holds a - cryptographic message digest. - - + __doc__="""A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message + digest. Attributes: digest: Required. The message digest. @@ -3317,8 +3270,6 @@ __module__="google.cloud.kms_v1.proto.service_pb2", __doc__="""Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. - - Attributes: hsm_available: Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] @@ -3326,6 +3277,12 @@ emplate.protection\_level] [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this location. + ekm_available: + Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] + with [protection\_level][google.cloud.kms.v1.CryptoKeyVersionT + emplate.protection\_level] + [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can + be created in this location. """, # @@protoc_insertion_point(class_scope:google.cloud.kms.v1.LocationMetadata) ), @@ -3402,8 +3359,8 @@ serialized_options=_b( "\312A\027cloudkms.googleapis.com\322AWhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms" ), - serialized_start=4496, - serialized_end=9338, + serialized_start=4488, + serialized_end=9358, methods=[ _descriptor.MethodDescriptor( name="ListKeyRings", @@ -3468,7 +3425,7 @@ input_type=_GETCRYPTOKEYREQUEST, output_type=google_dot_cloud_dot_kms__v1_dot_proto_dot_resources__pb2._CRYPTOKEY, serialized_options=_b( - "\202\323\344\223\002;\0229/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}" + "\202\323\344\223\002;\0229/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\332A\004name" ), ), _descriptor.MethodDescriptor( @@ -3479,7 +3436,7 @@ input_type=_GETCRYPTOKEYVERSIONREQUEST, output_type=google_dot_cloud_dot_kms__v1_dot_proto_dot_resources__pb2._CRYPTOKEYVERSION, serialized_options=_b( - "\202\323\344\223\002O\022M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}" + "\202\323\344\223\002O\022M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\332A\004name" ), ), _descriptor.MethodDescriptor( @@ -3490,7 +3447,7 @@ input_type=_GETPUBLICKEYREQUEST, output_type=google_dot_cloud_dot_kms__v1_dot_proto_dot_resources__pb2._PUBLICKEY, serialized_options=_b( - "\202\323\344\223\002Y\022W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey" + "\202\323\344\223\002Y\022W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\332A\004name" ), ), _descriptor.MethodDescriptor( @@ -3501,7 +3458,7 @@ input_type=_GETIMPORTJOBREQUEST, output_type=google_dot_cloud_dot_kms__v1_dot_proto_dot_resources__pb2._IMPORTJOB, serialized_options=_b( - "\202\323\344\223\002;\0229/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}" + "\202\323\344\223\002;\0229/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\332A\004name" ), ), _descriptor.MethodDescriptor( diff --git a/packages/google-cloud-kms/noxfile.py b/packages/google-cloud-kms/noxfile.py index 6c57a5accd93..900272f4806c 100644 --- a/packages/google-cloud-kms/noxfile.py +++ b/packages/google-cloud-kms/noxfile.py @@ -72,6 +72,7 @@ def default(session): session.run( "py.test", "--quiet", + "--cov=google.cloud.cloudkms", "--cov=google.cloud", "--cov=tests.unit", "--cov-append", @@ -110,7 +111,7 @@ def system(session): # Install all test dependencies, then install this package into the # virtualenv's dist-packages. session.install("mock", "pytest") - + session.install("git+https://github.com/googleapis/python-test-utils") session.install("-e", ".") # Run py.test against the system tests. @@ -138,7 +139,7 @@ def docs(session): """Build the docs for this library.""" session.install("-e", ".") - session.install("sphinx", "alabaster", "recommonmark") + session.install("sphinx<3.0.0", "alabaster", "recommonmark") shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) session.run( diff --git a/packages/google-cloud-kms/setup.cfg b/packages/google-cloud-kms/setup.cfg index 3bd555500e37..c3a2b39f6528 100644 --- a/packages/google-cloud-kms/setup.cfg +++ b/packages/google-cloud-kms/setup.cfg @@ -1,3 +1,19 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Generated by synthtool. DO NOT EDIT! [bdist_wheel] universal = 1 diff --git a/packages/google-cloud-kms/synth.metadata b/packages/google-cloud-kms/synth.metadata index 4950c30e7d45..0289fcb4d9e7 100644 --- a/packages/google-cloud-kms/synth.metadata +++ b/packages/google-cloud-kms/synth.metadata @@ -1,27 +1,26 @@ { - "updateTime": "2020-02-05T22:11:19.602508Z", + "updateTime": "2020-04-14T21:47:51.484475Z", "sources": [ { "generator": { "name": "artman", - "version": "0.44.4", - "dockerImage": "googleapis/artman@sha256:19e945954fc960a4bdfee6cb34695898ab21a8cf0bac063ee39b91f00a1faec8" + "version": "2.0.0", + "dockerImage": "googleapis/artman@sha256:b3b47805231a305d0f40c4bf069df20f6a2635574e6d4259fac651d3f9f6e098" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "781aadb932e64a12fb6ead7cd842698d99588433", - "internalRef": "293443396", - "log": "781aadb932e64a12fb6ead7cd842698d99588433\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293443396\n\ne2602608c9138c2fca24162720e67f9307c30b95\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293442964\n\nc8aef82028d06b7992278fa9294c18570dc86c3d\nAdd cc_proto_library and cc_grpc_library targets for Bigtable protos.\n\nAlso fix indentation of cc_grpc_library targets in Spanner and IAM protos.\n\nPiperOrigin-RevId: 293440538\n\ne2faab04f4cb7f9755072330866689b1943a16e9\ncloudtasks: v2 replace non-standard retry params in gapic config v2\n\nPiperOrigin-RevId: 293424055\n\ndfb4097ea628a8470292c6590a4313aee0c675bd\nerrorreporting: v1beta1 add legacy artman config for php\n\nPiperOrigin-RevId: 293423790\n\nb18aed55b45bfe5b62476292c72759e6c3e573c6\nasset: v1p1beta1 updated comment for `page_size` limit.\n\nPiperOrigin-RevId: 293421386\n\nc9ef36b7956d9859a2fc86ad35fcaa16958ab44f\nbazel: Refactor CI build scripts\n\nPiperOrigin-RevId: 293387911\n\na8ed9d921fdddc61d8467bfd7c1668f0ad90435c\nfix: set Ruby module name for OrgPolicy\n\nPiperOrigin-RevId: 293257997\n\n6c7d28509bd8315de8af0889688ee20099594269\nredis: v1beta1 add UpgradeInstance and connect_mode field to Instance\n\nPiperOrigin-RevId: 293242878\n\nae0abed4fcb4c21f5cb67a82349a049524c4ef68\nredis: v1 add connect_mode field to Instance\n\nPiperOrigin-RevId: 293241914\n\n3f7a0d29b28ee9365771da2b66edf7fa2b4e9c56\nAdds service config definition for bigqueryreservation v1beta1\n\nPiperOrigin-RevId: 293234418\n\n0c88168d5ed6fe353a8cf8cbdc6bf084f6bb66a5\naddition of BUILD & configuration for accessapproval v1\n\nPiperOrigin-RevId: 293219198\n\n39bedc2e30f4778ce81193f6ba1fec56107bcfc4\naccessapproval: v1 publish protos\n\nPiperOrigin-RevId: 293167048\n\n69d9945330a5721cd679f17331a78850e2618226\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080182\n\nf6a1a6b417f39694275ca286110bc3c1ca4db0dc\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080178\n\n29d40b78e3dc1579b0b209463fbcb76e5767f72a\nExpose managedidentities/v1beta1/ API for client library usage.\n\nPiperOrigin-RevId: 292979741\n\na22129a1fb6e18056d576dfb7717aef74b63734a\nExpose managedidentities/v1/ API for client library usage.\n\nPiperOrigin-RevId: 292968186\n\nb5cbe4a4ba64ab19e6627573ff52057a1657773d\nSecurityCenter v1p1beta1: move file-level option on top to workaround protobuf.js bug.\n\nPiperOrigin-RevId: 292647187\n\nb224b317bf20c6a4fbc5030b4a969c3147f27ad3\nAdds API definitions for bigqueryreservation v1beta1.\n\nPiperOrigin-RevId: 292634722\n\nc1468702f9b17e20dd59007c0804a089b83197d2\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 292626173\n\nffdfa4f55ab2f0afc11d0eb68f125ccbd5e404bd\nvision: v1p3beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605599\n\n78f61482cd028fc1d9892aa5d89d768666a954cd\nvision: v1p1beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605125\n\n60bb5a294a604fd1778c7ec87b265d13a7106171\nvision: v1p2beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604980\n\n3bcf7aa79d45eb9ec29ab9036e9359ea325a7fc3\nvision: v1p4beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604656\n\n2717b8a1c762b26911b45ecc2e4ee01d98401b28\nFix dataproc artman client library generation.\n\nPiperOrigin-RevId: 292555664\n\n7ac66d9be8a7d7de4f13566d8663978c9ee9dcd7\nAdd Dataproc Autoscaling API to V1.\n\nPiperOrigin-RevId: 292450564\n\n5d932b2c1be3a6ef487d094e3cf5c0673d0241dd\n- Improve documentation\n- Add a client_id field to StreamingPullRequest\n\nPiperOrigin-RevId: 292434036\n\neaff9fa8edec3e914995ce832b087039c5417ea7\nmonitoring: v3 publish annotations and client retry config\n\nPiperOrigin-RevId: 292425288\n\n70958bab8c5353870d31a23fb2c40305b050d3fe\nBigQuery Storage Read API v1 clients.\n\nPiperOrigin-RevId: 292407644\n\n7a15e7fe78ff4b6d5c9606a3264559e5bde341d1\nUpdate backend proto for Google Cloud Endpoints\n\nPiperOrigin-RevId: 292391607\n\n3ca2c014e24eb5111c8e7248b1e1eb833977c83d\nbazel: Add --flaky_test_attempts=3 argument to prevent CI failures caused by flaky tests\n\nPiperOrigin-RevId: 292382559\n\n9933347c1f677e81e19a844c2ef95bfceaf694fe\nbazel:Integrate latest protoc-java-resource-names-plugin changes (fix for PyYAML dependency in bazel rules)\n\nPiperOrigin-RevId: 292376626\n\nb835ab9d2f62c88561392aa26074c0b849fb0bd3\nasset: v1p2beta1 add client config annotations\n\n* remove unintentionally exposed RPCs\n* remove messages relevant to removed RPCs\n\nPiperOrigin-RevId: 292369593\n\n" + "sha": "fea22b1d9f27f86ef355c1d0dba00e0791a08a19", + "internalRef": "306508794" } }, { - "template": { - "name": "python_split_library", - "origin": "synthtool.gcp", - "version": "2019.10.17" + "git": { + "name": "synthtool", + "remote": "https://github.com/googleapis/synthtool.git", + "sha": "52638600f387deb98efb5f9c85fec39e82aa9052" } } ], diff --git a/packages/google-cloud-kms/synth.py b/packages/google-cloud-kms/synth.py index f03dc289963d..07fd456b37d5 100644 --- a/packages/google-cloud-kms/synth.py +++ b/packages/google-cloud-kms/synth.py @@ -45,6 +45,29 @@ "from google.iam.v1 import iam_policy_pb2", "from google.iam.v1 import iam_policy_pb2_grpc as iam_policy_pb2", ) +# re-insert `crypto_key_path_path` method as this was used in the published samples +# TODO: remove when this library is moved to the microgenerator and mention it in the relase +# notes +count = s.replace("google/cloud/kms_v1/gapic/key_management_service_client.py", +"""(@classmethod +\s+def crypto_key_version_path\(.*)""", +""" + @classmethod + def crypto_key_path_path(cls, project, location, key_ring, crypto_key_path): + \"\"\"Return a fully-qualified crypto_key_path string.\"\"\" + return google.api_core.path_template.expand( + "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key_path=**}", + project=project, + location=location, + key_ring=key_ring, + crypto_key_path=crypto_key_path, + ) + + \g<1> +""") + +if count != 1: + raise Exception("Required insertion of `crypto_key_path_path` not made.") # ---------------------------------------------------------------------------- # Add templated files diff --git a/packages/google-cloud-kms/tests/unit/gapic/v1/test_key_management_service_client_v1.py b/packages/google-cloud-kms/tests/unit/gapic/v1/test_key_management_service_client_v1.py index 799e494f8267..24c6e292863b 100644 --- a/packages/google-cloud-kms/tests/unit/gapic/v1/test_key_management_service_client_v1.py +++ b/packages/google-cloud-kms/tests/unit/gapic/v1/test_key_management_service_client_v1.py @@ -818,9 +818,7 @@ def test_encrypt(self): client = kms_v1.KeyManagementServiceClient() # Setup Request - name = client.crypto_key_path_path( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY_PATH]" - ) + name = "name3373707" plaintext = b"-9" response = client.encrypt(name, plaintext) @@ -840,9 +838,7 @@ def test_encrypt_exception(self): client = kms_v1.KeyManagementServiceClient() # Setup request - name = client.crypto_key_path_path( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY_PATH]" - ) + name = "name3373707" plaintext = b"-9" with pytest.raises(CustomException): @@ -1221,7 +1217,7 @@ def test_set_iam_policy(self): client = kms_v1.KeyManagementServiceClient() # Setup Request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" policy = {} response = client.set_iam_policy(resource, policy) @@ -1243,7 +1239,7 @@ def test_set_iam_policy_exception(self): client = kms_v1.KeyManagementServiceClient() # Setup request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" policy = {} with pytest.raises(CustomException): @@ -1264,7 +1260,7 @@ def test_get_iam_policy(self): client = kms_v1.KeyManagementServiceClient() # Setup Request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" response = client.get_iam_policy(resource) assert expected_response == response @@ -1283,7 +1279,7 @@ def test_get_iam_policy_exception(self): client = kms_v1.KeyManagementServiceClient() # Setup request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" with pytest.raises(CustomException): client.get_iam_policy(resource) @@ -1303,7 +1299,7 @@ def test_test_iam_permissions(self): client = kms_v1.KeyManagementServiceClient() # Setup Request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" permissions = [] response = client.test_iam_permissions(resource, permissions) @@ -1325,7 +1321,7 @@ def test_test_iam_permissions_exception(self): client = kms_v1.KeyManagementServiceClient() # Setup request - resource = client.key_ring_path("[PROJECT]", "[LOCATION]", "[KEY_RING]") + resource = "resource-341064690" permissions = [] with pytest.raises(CustomException):