google-cloud-kms-v1 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ require 'google/protobuf/field_mask_pb'
15
15
  require 'google/protobuf/wrappers_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n!google/cloud/kms/v1/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/resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.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\"\x8f\x01\n\x1bListRetiredResourcesRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'cloudkms.googleapis.com/RetiredResource\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\"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\"\x8c\x01\n\x1cListRetiredResourcesResponse\x12?\n\x11retired_resources\x18\x01 \x03(\x0b\x32$.google.cloud.kms.v1.RetiredResource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x03\"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\"\xa5\x01\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"\x9e\x01\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"Z\n\x19GetRetiredResourceRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'cloudkms.googleapis.com/RetiredResource\"\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\"Q\n\x16\x44\x65leteCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"_\n\x1d\x44\x65leteCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\xf0\x02\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12L\n\x12\x63rypto_key_version\x18\x06 \x01(\tB0\xe0\x41\x01\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\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\x18\n\x0bwrapped_key\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x01H\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\"\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\"\xf9\x01\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\x12:\n\x10plaintext_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9b\x02\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\x12;\n\x11\x63iphertext_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe2\x02\n\x11RawEncryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\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\x12:\n\x10plaintext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xf8\x02\n\x11RawDecryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\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\x12\"\n\x15initialization_vector\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x12\n\ntag_length\x18\x05 \x01(\x05\x12;\n\x11\x63iphertext_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x8c\x02\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\x01\x12\x37\n\rdigest_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x11\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xb0\x01\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\x12;\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9a\x01\n\x0eMacSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe4\x01\n\x10MacVerifyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x10\n\x03mac\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\nmac_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xaa\x01\n\x12\x44\x65\x63\x61psulateRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x11\x63iphertext_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x84\x01\n\x1aGenerateRandomBytesRequest\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x14\n\x0clength_bytes\x18\x02 \x01(\x05\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\x85\x02\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x05 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x06 \x01(\x08\x12>\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xb1\x01\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x14\n\x0cused_primary\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xad\x03\n\x12RawEncryptResponse\x12\x12\n\nciphertext\x18\x01 \x01(\x0c\x12\x1d\n\x15initialization_vector\x18\x02 \x01(\x0c\x12\x12\n\ntag_length\x18\x03 \x01(\x05\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x41\n\x1cinitialization_vector_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x06 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x07 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\n \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12>\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xa8\x02\n\x12RawDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x05 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\x06 \x01(\x08\"\xee\x01\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x35\n\x10signature_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1e\n\x16verified_digest_crc32c\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1c\n\x14verified_data_crc32c\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xc9\x01\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\"\n\x1averified_ciphertext_crc32c\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xbb\x01\n\x0fMacSignResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03mac\x18\x02 \x01(\x0c\x12/\n\nmac_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1c\n\x14verified_data_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xd1\x01\n\x11MacVerifyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x1c\n\x14verified_data_crc32c\x18\x03 \x01(\x08\x12\x1b\n\x13verified_mac_crc32c\x18\x04 \x01(\x08\x12\"\n\x1averified_success_integrity\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xda\x01\n\x13\x44\x65\x63\x61psulateResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rshared_secret\x18\x02 \x01(\x0c\x12!\n\x14shared_secret_crc32c\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x17\n\x15_shared_secret_crc32c\"]\n\x1bGenerateRandomBytesResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x30\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"_\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\x12\x15\n\x0b\x65xternal_mu\x18\x04 \x01(\x0cH\x00\x42\x08\n\x06\x64igest\"e\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x12\x15\n\rekm_available\x18\x02 \x01(\x08\x12#\n\x1bhsm_single_tenant_available\x18\x03 \x01(\x08\"d\n\x17\x44\x65leteCryptoKeyMetadata\x12I\n\x10retired_resource\x18\x01 \x01(\tB/\xe0\x41\x03\xfa\x41)\n\'cloudkms.googleapis.com/RetiredResource\" \n\x1e\x44\x65leteCryptoKeyVersionMetadata2\xb4\x36\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse\"^\xda\x41\x06parent\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\x12\xc2\x01\n\x14ListRetiredResources\x12\x30.google.cloud.kms.v1.ListRetiredResourcesRequest\x1a\x31.google.cloud.kms.v1.ListRetiredResourcesResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/retiredResources\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\x12\xa2\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\xcb\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\\\xda\x41\x04name\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\x12\xc0\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey\"f\xda\x41\x04name\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\x12\xa2\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\x12\xaf\x01\n\x12GetRetiredResource\x12..google.cloud.kms.v1.GetRetiredResourceRequest\x1a$.google.cloud.kms.v1.RetiredResource\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/retiredResources/*}\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\"\\\xda\x41\x1bparent,key_ring_id,key_ring\x82\xd3\xe4\x93\x02\x38\",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"o\xda\x41\x1fparent,crypto_key_id,crypto_key\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x85\x01\xda\x41\x19parent,crypto_key_version\x82\xd3\xe4\x93\x02\x63\"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\x12\xda\x01\n\x0f\x44\x65leteCryptoKey\x12+.google.cloud.kms.v1.DeleteCryptoKeyRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41\x30\n\x15google.protobuf.Empty\x12\x17\x44\x65leteCryptoKeyMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\x84\x02\n\x16\x44\x65leteCryptoKeyVersion\x12\x32.google.cloud.kms.v1.DeleteCryptoKeyVersionRequest\x1a\x1d.google.longrunning.Operation\"\x96\x01\xca\x41\x37\n\x15google.protobuf.Empty\x12\x1e\x44\x65leteCryptoKeyVersionMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02O*M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\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\xda\x41\x1fparent,import_job_id,import_job\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"q\xda\x41\x16\x63rypto_key,update_mask\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x9d\x01\xda\x41\x1e\x63rypto_key_version,update_mask\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"v\xda\x41\x1aname,crypto_key_version_id\x82\xd3\xe4\x93\x02S\"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse\"^\xda\x41\x0ename,plaintext\x82\xd3\xe4\x93\x02G\"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse\"^\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\x12\xc2\x01\n\nRawEncrypt\x12&.google.cloud.kms.v1.RawEncryptRequest\x1a\'.google.cloud.kms.v1.RawEncryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt:\x01*\x12\xc2\x01\n\nRawDecrypt\x12&.google.cloud.kms.v1.RawDecryptRequest\x1a\'.google.cloud.kms.v1.RawDecryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt:\x01*\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse\"u\xda\x41\x0bname,digest\x82\xd3\xe4\x93\x02\x61\"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse\"|\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\x12\xc2\x01\n\x07MacSign\x12#.google.cloud.kms.v1.MacSignRequest\x1a$.google.cloud.kms.v1.MacSignResponse\"l\xda\x41\tname,data\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign:\x01*\x12\xce\x01\n\tMacVerify\x12%.google.cloud.kms.v1.MacVerifyRequest\x1a&.google.cloud.kms.v1.MacVerifyResponse\"r\xda\x41\rname,data,mac\x82\xd3\xe4\x93\x02\\\"W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify:\x01*\x12\xc6\x01\n\x0b\x44\x65\x63\x61psulate\x12\'.google.cloud.kms.v1.DecapsulateRequest\x1a(.google.cloud.kms.v1.DecapsulateResponse\"d\x82\xd3\xe4\x93\x02^\"Y/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:decapsulate:\x01*\x12\xe7\x01\n\x13GenerateRandomBytes\x12/.google.cloud.kms.v1.GenerateRandomBytesRequest\x1a\x30.google.cloud.kms.v1.GenerateRandomBytesResponse\"m\xda\x41&location,length_bytes,protection_level\x82\xd3\xe4\x93\x02>\"9/v1/{location=projects/*/locations/*}:generateRandomBytes:\x01*\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB|\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
18
+ descriptor_data = "\n!google/cloud/kms/v1/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/resources.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1egoogle/protobuf/wrappers.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\"\x8f\x01\n\x1bListRetiredResourcesRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'cloudkms.googleapis.com/RetiredResource\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\"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\"\x8c\x01\n\x1cListRetiredResourcesResponse\x12?\n\x11retired_resources\x18\x01 \x03(\x0b\x32$.google.cloud.kms.v1.RetiredResource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x03\"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\"\xa5\x01\n\x13GetPublicKeyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"\x9e\x01\n\x13GetImportJobRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/ImportJob\x12N\n\x11public_key_format\x18\x02 \x01(\x0e\x32..google.cloud.kms.v1.PublicKey.PublicKeyFormatB\x03\xe0\x41\x01\"Z\n\x19GetRetiredResourceRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'cloudkms.googleapis.com/RetiredResource\"\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\"\xf4\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\x12%\n\x18trusted_wrapping_enabled\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\"\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\"Q\n\x16\x44\x65leteCryptoKeyRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"_\n\x1d\x44\x65leteCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\x97\x03\n\x1dImportCryptoKeyVersionRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12L\n\x12\x63rypto_key_version\x18\x06 \x01(\tB0\xe0\x41\x01\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\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\x18\n\x0bwrapped_key\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12\"\n\x13rsa_aes_wrapped_key\x18\x05 \x01(\x0c\x42\x03\xe0\x41\x01H\x00\x12%\n\x18trusted_wrapping_enabled\x18\t \x01(\x08\x42\x03\xe0\x41\x01\x42\x16\n\x14wrapped_key_material\"\xf5\x01\n.ImportTrustedKeyWrappedCryptoKeyVersionRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rimporting_key\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x12\x63rypto_key_version\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bwrapped_key\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12W\n\talgorithm\x18\x05 \x01(\x0e\x32?.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithmB\x03\xe0\x41\x02\"\xb8\x01\n.ExportTrustedKeyWrappedCryptoKeyVersionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x46\n\x0cwrapping_key\x18\x02 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\"\x7f\n/ExportTrustedKeyWrappedCryptoKeyVersionResponse\x12\x13\n\x0bwrapped_key\x18\x01 \x01(\x0c\x12\x37\n\x12wrapped_key_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"\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\"\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\"\xf9\x01\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\x12:\n\x10plaintext_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9b\x02\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\x12;\n\x11\x63iphertext_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe2\x02\n\x11RawEncryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\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\x12:\n\x10plaintext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\"\n\x15initialization_vector\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xf8\x02\n\x11RawDecryptRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\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\x12\"\n\x15initialization_vector\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x12\n\ntag_length\x18\x05 \x01(\x05\x12;\n\x11\x63iphertext_crc32c\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12N\n$additional_authenticated_data_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x46\n\x1cinitialization_vector_crc32c\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x8c\x02\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\x01\x12\x37\n\rdigest_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x11\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xb0\x01\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\x12;\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x9a\x01\n\x0eMacSignRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xe4\x01\n\x10MacVerifyRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x11\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x35\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\x12\x10\n\x03mac\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02\x12\x34\n\nmac_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\xaa\x01\n\x12\x44\x65\x63\x61psulateRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(cloudkms.googleapis.com/CryptoKeyVersion\x12\x17\n\nciphertext\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02\x12;\n\x11\x63iphertext_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64ValueB\x03\xe0\x41\x01\"\x84\x01\n\x1aGenerateRandomBytesRequest\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x14\n\x0clength_bytes\x18\x02 \x01(\x05\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\x85\x02\n\x0f\x45ncryptResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nciphertext\x18\x02 \x01(\x0c\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x05 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x06 \x01(\x08\x12>\n\x10protection_level\x18\x07 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xb1\x01\n\x0f\x44\x65\x63ryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x14\n\x0cused_primary\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xad\x03\n\x12RawEncryptResponse\x12\x12\n\nciphertext\x18\x01 \x01(\x0c\x12\x1d\n\x15initialization_vector\x18\x02 \x01(\x0c\x12\x12\n\ntag_length\x18\x03 \x01(\x05\x12\x36\n\x11\x63iphertext_crc32c\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x41\n\x1cinitialization_vector_crc32c\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12!\n\x19verified_plaintext_crc32c\x18\x06 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x07 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\n \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12>\n\x10protection_level\x18\t \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xa8\x02\n\x12RawDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x10protection_level\x18\x03 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12\x35\n-verified_additional_authenticated_data_crc32c\x18\x05 \x01(\x08\x12-\n%verified_initialization_vector_crc32c\x18\x06 \x01(\x08\"\xee\x01\n\x16\x41symmetricSignResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x35\n\x10signature_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1e\n\x16verified_digest_crc32c\x18\x03 \x01(\x08\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1c\n\x14verified_data_crc32c\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xc9\x01\n\x19\x41symmetricDecryptResponse\x12\x11\n\tplaintext\x18\x01 \x01(\x0c\x12\x35\n\x10plaintext_crc32c\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\"\n\x1averified_ciphertext_crc32c\x18\x03 \x01(\x08\x12>\n\x10protection_level\x18\x04 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xbb\x01\n\x0fMacSignResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03mac\x18\x02 \x01(\x0c\x12/\n\nmac_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12\x1c\n\x14verified_data_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xd1\x01\n\x11MacVerifyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x1c\n\x14verified_data_crc32c\x18\x03 \x01(\x08\x12\x1b\n\x13verified_mac_crc32c\x18\x04 \x01(\x08\x12\"\n\x1averified_success_integrity\x18\x05 \x01(\x08\x12>\n\x10protection_level\x18\x06 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevel\"\xda\x01\n\x13\x44\x65\x63\x61psulateResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rshared_secret\x18\x02 \x01(\x0c\x12!\n\x14shared_secret_crc32c\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\"\n\x1averified_ciphertext_crc32c\x18\x04 \x01(\x08\x12>\n\x10protection_level\x18\x05 \x01(\x0e\x32$.google.cloud.kms.v1.ProtectionLevelB\x17\n\x15_shared_secret_crc32c\"]\n\x1bGenerateRandomBytesResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x30\n\x0b\x64\x61ta_crc32c\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\"_\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\x12\x15\n\x0b\x65xternal_mu\x18\x04 \x01(\x0cH\x00\x42\x08\n\x06\x64igest\"e\n\x10LocationMetadata\x12\x15\n\rhsm_available\x18\x01 \x01(\x08\x12\x15\n\rekm_available\x18\x02 \x01(\x08\x12#\n\x1bhsm_single_tenant_available\x18\x03 \x01(\x08\"d\n\x17\x44\x65leteCryptoKeyMetadata\x12I\n\x10retired_resource\x18\x01 \x01(\tB/\xe0\x41\x03\xfa\x41)\n\'cloudkms.googleapis.com/RetiredResource\" \n\x1e\x44\x65leteCryptoKeyVersionMetadata2\x85;\n\x14KeyManagementService\x12\xa2\x01\n\x0cListKeyRings\x12(.google.cloud.kms.v1.ListKeyRingsRequest\x1a).google.cloud.kms.v1.ListKeyRingsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/keyRings\x12\xb5\x01\n\x0eListCryptoKeys\x12*.google.cloud.kms.v1.ListCryptoKeysRequest\x1a+.google.cloud.kms.v1.ListCryptoKeysResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys\x12\xde\x01\n\x15ListCryptoKeyVersions\x12\x31.google.cloud.kms.v1.ListCryptoKeyVersionsRequest\x1a\x32.google.cloud.kms.v1.ListCryptoKeyVersionsResponse\"^\xda\x41\x06parent\x82\xd3\xe4\x93\x02O\x12M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions\x12\xb5\x01\n\x0eListImportJobs\x12*.google.cloud.kms.v1.ListImportJobsRequest\x1a+.google.cloud.kms.v1.ListImportJobsResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs\x12\xc2\x01\n\x14ListRetiredResources\x12\x30.google.cloud.kms.v1.ListRetiredResourcesRequest\x1a\x31.google.cloud.kms.v1.ListRetiredResourcesResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/retiredResources\x12\x8f\x01\n\nGetKeyRing\x12&.google.cloud.kms.v1.GetKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/keyRings/*}\x12\xa2\x01\n\x0cGetCryptoKey\x12(.google.cloud.kms.v1.GetCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\xcb\x01\n\x13GetCryptoKeyVersion\x12/.google.cloud.kms.v1.GetCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\\\xda\x41\x04name\x82\xd3\xe4\x93\x02O\x12M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\x12\xc0\x01\n\x0cGetPublicKey\x12(.google.cloud.kms.v1.GetPublicKeyRequest\x1a\x1e.google.cloud.kms.v1.PublicKey\"f\xda\x41\x04name\x82\xd3\xe4\x93\x02Y\x12W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey\x12\xa2\x01\n\x0cGetImportJob\x12(.google.cloud.kms.v1.GetImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}\x12\xaf\x01\n\x12GetRetiredResource\x12..google.cloud.kms.v1.GetRetiredResourceRequest\x1a$.google.cloud.kms.v1.RetiredResource\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/retiredResources/*}\x12\xb6\x01\n\rCreateKeyRing\x12).google.cloud.kms.v1.CreateKeyRingRequest\x1a\x1c.google.cloud.kms.v1.KeyRing\"\\\xda\x41\x1bparent,key_ring_id,key_ring\x82\xd3\xe4\x93\x02\x38\",/v1/{parent=projects/*/locations/*}/keyRings:\x08key_ring\x12\xcf\x01\n\x0f\x43reateCryptoKey\x12+.google.cloud.kms.v1.CreateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"o\xda\x41\x1fparent,crypto_key_id,crypto_key\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys:\ncrypto_key\x12\xfb\x01\n\x16\x43reateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.CreateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x85\x01\xda\x41\x19parent,crypto_key_version\x82\xd3\xe4\x93\x02\x63\"M/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:\x12\x63rypto_key_version\x12\xda\x01\n\x0f\x44\x65leteCryptoKey\x12+.google.cloud.kms.v1.DeleteCryptoKeyRequest\x1a\x1d.google.longrunning.Operation\"{\xca\x41\x30\n\x15google.protobuf.Empty\x12\x17\x44\x65leteCryptoKeyMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}\x12\x84\x02\n\x16\x44\x65leteCryptoKeyVersion\x12\x32.google.cloud.kms.v1.DeleteCryptoKeyVersionRequest\x1a\x1d.google.longrunning.Operation\"\x96\x01\xca\x41\x37\n\x15google.protobuf.Empty\x12\x1e\x44\x65leteCryptoKeyVersionMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02O*M/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}\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\x98\x02\n\'ImportTrustedKeyWrappedCryptoKeyVersion\x12\x43.google.cloud.kms.v1.ImportTrustedKeyWrappedCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x80\x01\x82\xd3\xe4\x93\x02z\"u/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:importTrustedKeyWrappedCryptoKeyVersion:\x01*\x12\xb3\x02\n\'ExportTrustedKeyWrappedCryptoKeyVersion\x12\x43.google.cloud.kms.v1.ExportTrustedKeyWrappedCryptoKeyVersionRequest\x1a\x44.google.cloud.kms.v1.ExportTrustedKeyWrappedCryptoKeyVersionResponse\"}\x82\xd3\xe4\x93\x02w\x12u/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:exportTrustedKeyWrappedCryptoKeyVersion\x12\xcf\x01\n\x0f\x43reateImportJob\x12+.google.cloud.kms.v1.CreateImportJobRequest\x1a\x1e.google.cloud.kms.v1.ImportJob\"o\xda\x41\x1fparent,import_job_id,import_job\x82\xd3\xe4\x93\x02G\"9/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs:\nimport_job\x12\xd1\x01\n\x0fUpdateCryptoKey\x12+.google.cloud.kms.v1.UpdateCryptoKeyRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"q\xda\x41\x16\x63rypto_key,update_mask\x82\xd3\xe4\x93\x02R2D/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:\ncrypto_key\x12\x93\x02\n\x16UpdateCryptoKeyVersion\x12\x32.google.cloud.kms.v1.UpdateCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"\x9d\x01\xda\x41\x1e\x63rypto_key_version,update_mask\x82\xd3\xe4\x93\x02v2`/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:\x12\x63rypto_key_version\x12\xf2\x01\n\x1dUpdateCryptoKeyPrimaryVersion\x12\x39.google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest\x1a\x1e.google.cloud.kms.v1.CryptoKey\"v\xda\x41\x1aname,crypto_key_version_id\x82\xd3\xe4\x93\x02S\"N/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion:\x01*\x12\xde\x01\n\x17\x44\x65stroyCryptoKeyVersion\x12\x33.google.cloud.kms.v1.DestroyCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy:\x01*\x12\xde\x01\n\x17RestoreCryptoKeyVersion\x12\x33.google.cloud.kms.v1.RestoreCryptoKeyVersionRequest\x1a%.google.cloud.kms.v1.CryptoKeyVersion\"g\xda\x41\x04name\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore:\x01*\x12\xb4\x01\n\x07\x45ncrypt\x12#.google.cloud.kms.v1.EncryptRequest\x1a$.google.cloud.kms.v1.EncryptResponse\"^\xda\x41\x0ename,plaintext\x82\xd3\xe4\x93\x02G\"B/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt:\x01*\x12\xb4\x01\n\x07\x44\x65\x63rypt\x12#.google.cloud.kms.v1.DecryptRequest\x1a$.google.cloud.kms.v1.DecryptResponse\"^\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt:\x01*\x12\xc2\x01\n\nRawEncrypt\x12&.google.cloud.kms.v1.RawEncryptRequest\x1a\'.google.cloud.kms.v1.RawEncryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt:\x01*\x12\xc2\x01\n\nRawDecrypt\x12&.google.cloud.kms.v1.RawDecryptRequest\x1a\'.google.cloud.kms.v1.RawDecryptResponse\"c\x82\xd3\xe4\x93\x02]\"X/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt:\x01*\x12\xe0\x01\n\x0e\x41symmetricSign\x12*.google.cloud.kms.v1.AsymmetricSignRequest\x1a+.google.cloud.kms.v1.AsymmetricSignResponse\"u\xda\x41\x0bname,digest\x82\xd3\xe4\x93\x02\x61\"\\/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign:\x01*\x12\xf0\x01\n\x11\x41symmetricDecrypt\x12-.google.cloud.kms.v1.AsymmetricDecryptRequest\x1a..google.cloud.kms.v1.AsymmetricDecryptResponse\"|\xda\x41\x0fname,ciphertext\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt:\x01*\x12\xc2\x01\n\x07MacSign\x12#.google.cloud.kms.v1.MacSignRequest\x1a$.google.cloud.kms.v1.MacSignResponse\"l\xda\x41\tname,data\x82\xd3\xe4\x93\x02Z\"U/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign:\x01*\x12\xce\x01\n\tMacVerify\x12%.google.cloud.kms.v1.MacVerifyRequest\x1a&.google.cloud.kms.v1.MacVerifyResponse\"r\xda\x41\rname,data,mac\x82\xd3\xe4\x93\x02\\\"W/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify:\x01*\x12\xc6\x01\n\x0b\x44\x65\x63\x61psulate\x12\'.google.cloud.kms.v1.DecapsulateRequest\x1a(.google.cloud.kms.v1.DecapsulateResponse\"d\x82\xd3\xe4\x93\x02^\"Y/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:decapsulate:\x01*\x12\xe7\x01\n\x13GenerateRandomBytes\x12/.google.cloud.kms.v1.GenerateRandomBytesRequest\x1a\x30.google.cloud.kms.v1.GenerateRandomBytesResponse\"m\xda\x41&location,length_bytes,protection_level\x82\xd3\xe4\x93\x02>\"9/v1/{location=projects/*/locations/*}:generateRandomBytes:\x01*\x1at\xca\x41\x17\x63loudkms.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkmsB|\n\x17\x63om.google.cloud.kms.v1B\x08KmsProtoP\x01Z)cloud.google.com/go/kms/apiv1/kmspb;kmspb\xaa\x02\x13Google.Cloud.Kms.V1\xca\x02\x13Google\\Cloud\\Kms\\V1b\x06proto3"
19
19
 
20
20
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
21
  pool.add_serialized_file(descriptor_data)
@@ -46,6 +46,9 @@ module Google
46
46
  DeleteCryptoKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DeleteCryptoKeyRequest").msgclass
47
47
  DeleteCryptoKeyVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.DeleteCryptoKeyVersionRequest").msgclass
48
48
  ImportCryptoKeyVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ImportCryptoKeyVersionRequest").msgclass
49
+ ImportTrustedKeyWrappedCryptoKeyVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ImportTrustedKeyWrappedCryptoKeyVersionRequest").msgclass
50
+ ExportTrustedKeyWrappedCryptoKeyVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ExportTrustedKeyWrappedCryptoKeyVersionRequest").msgclass
51
+ ExportTrustedKeyWrappedCryptoKeyVersionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.ExportTrustedKeyWrappedCryptoKeyVersionResponse").msgclass
49
52
  CreateImportJobRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.CreateImportJobRequest").msgclass
50
53
  UpdateCryptoKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateCryptoKeyRequest").msgclass
51
54
  UpdateCryptoKeyVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.kms.v1.UpdateCryptoKeyVersionRequest").msgclass
@@ -123,6 +123,31 @@ module Google
123
123
  # version. Otherwise, a new version will be created, and will be assigned the
124
124
  # next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
125
125
  rpc :ImportCryptoKeyVersion, ::Google::Cloud::Kms::V1::ImportCryptoKeyVersionRequest, ::Google::Cloud::Kms::V1::CryptoKeyVersion
126
+ # Import wrapped key material into a
127
+ # [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with a trusted
128
+ # key.
129
+ #
130
+ # All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If
131
+ # a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is additionally
132
+ # specified in the request, key material will be reimported into that
133
+ # version. Otherwise, a new version will be created, and will be assigned the
134
+ # next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
135
+ #
136
+ # The [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] will have
137
+ # trusted_wrapping_enabled set to true.
138
+ rpc :ImportTrustedKeyWrappedCryptoKeyVersion, ::Google::Cloud::Kms::V1::ImportTrustedKeyWrappedCryptoKeyVersionRequest, ::Google::Cloud::Kms::V1::CryptoKeyVersion
139
+ # Exports a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with a
140
+ # trusted key.
141
+ #
142
+ # The [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] must have
143
+ # trusted_wrapping_enabled set to true. The
144
+ # [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] of the
145
+ # [wrapping_key] must have the
146
+ # [AES_WRAPPING][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.AES_WRAPPING]
147
+ # purpose. The [wrapping_key] must have the
148
+ # [AES_256_KWP][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.AES_256_KWP]
149
+ # algorithm.
150
+ rpc :ExportTrustedKeyWrappedCryptoKeyVersion, ::Google::Cloud::Kms::V1::ExportTrustedKeyWrappedCryptoKeyVersionRequest, ::Google::Cloud::Kms::V1::ExportTrustedKeyWrappedCryptoKeyVersionResponse
126
151
  # Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
127
152
  # [KeyRing][google.cloud.kms.v1.KeyRing].
128
153
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Kms
23
23
  module V1
24
- VERSION = "1.14.0"
24
+ VERSION = "1.15.0"
25
25
  end
26
26
  end
27
27
  end
@@ -71,7 +71,7 @@ module Google
71
71
  # Optional. Immutable. Indicates whether key portability is enabled for the
72
72
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance SingleTenantHsmInstance}.
73
73
  # This can only be set at creation time. Key portability features are
74
- # disabled by default and not yet available in GA.
74
+ # disabled by default.
75
75
  class SingleTenantHsmInstance
76
76
  include ::Google::Protobuf::MessageExts
77
77
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -226,7 +226,7 @@ module Google
226
226
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::PENDING_TWO_FACTOR_AUTH_REGISTRATION PENDING_TWO_FACTOR_AUTH_REGISTRATION}
227
227
  # state to perform this operation.
228
228
  #
229
- # Note: The following fields are mutually exclusive: `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
229
+ # Note: The following fields are mutually exclusive: `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
230
230
  # @!attribute [rw] disable_single_tenant_hsm_instance
231
231
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::DisableSingleTenantHsmInstance]
232
232
  # Disable the
@@ -237,7 +237,7 @@ module Google
237
237
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::ACTIVE ACTIVE} state
238
238
  # to perform this operation.
239
239
  #
240
- # Note: The following fields are mutually exclusive: `disable_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
240
+ # Note: The following fields are mutually exclusive: `disable_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
241
241
  # @!attribute [rw] enable_single_tenant_hsm_instance
242
242
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::EnableSingleTenantHsmInstance]
243
243
  # Enable the
@@ -248,7 +248,7 @@ module Google
248
248
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::DISABLED DISABLED}
249
249
  # state to perform this operation.
250
250
  #
251
- # Note: The following fields are mutually exclusive: `enable_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
251
+ # Note: The following fields are mutually exclusive: `enable_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
252
252
  # @!attribute [rw] delete_single_tenant_hsm_instance
253
253
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::DeleteSingleTenantHsmInstance]
254
254
  # Delete the
@@ -264,7 +264,7 @@ module Google
264
264
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::PENDING_TWO_FACTOR_AUTH_REGISTRATION PENDING_TWO_FACTOR_AUTH_REGISTRATION}
265
265
  # state to perform this operation.
266
266
  #
267
- # Note: The following fields are mutually exclusive: `delete_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
267
+ # Note: The following fields are mutually exclusive: `delete_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
268
268
  # @!attribute [rw] add_quorum_member
269
269
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::AddQuorumMember]
270
270
  # Add a quorum member to the
@@ -277,7 +277,7 @@ module Google
277
277
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::ACTIVE ACTIVE} state
278
278
  # to perform this operation.
279
279
  #
280
- # Note: The following fields are mutually exclusive: `add_quorum_member`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
280
+ # Note: The following fields are mutually exclusive: `add_quorum_member`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
281
281
  # @!attribute [rw] remove_quorum_member
282
282
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::RemoveQuorumMember]
283
283
  # Remove a quorum member from the
@@ -290,7 +290,7 @@ module Google
290
290
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::ACTIVE ACTIVE} state
291
291
  # to perform this operation.
292
292
  #
293
- # Note: The following fields are mutually exclusive: `remove_quorum_member`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
293
+ # Note: The following fields are mutually exclusive: `remove_quorum_member`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `refresh_single_tenant_hsm_instance`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
294
294
  # @!attribute [rw] refresh_single_tenant_hsm_instance
295
295
  # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::RefreshSingleTenantHsmInstance]
296
296
  # Refreshes the
@@ -305,7 +305,15 @@ module Google
305
305
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstance::State::ACTIVE ACTIVE} state
306
306
  # to perform this operation.
307
307
  #
308
- # Note: The following fields are mutually exclusive: `refresh_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`. If a field in that set is populated, all other fields in the set will automatically be cleared.
308
+ # Note: The following fields are mutually exclusive: `refresh_single_tenant_hsm_instance`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `upgrade_key_trust`. If a field in that set is populated, all other fields in the set will automatically be cleared.
309
+ # @!attribute [rw] upgrade_key_trust
310
+ # @return [::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal::UpgradeKeyTrust]
311
+ # Promotes a key with the AES_WRAPPING purpose to a trusted wrapping key.
312
+ # The key must be in the
313
+ # [ACTIVE][CryptoKeyVersion.CryptoKeyVersionState.ACTIVE] state to perform
314
+ # this operation.
315
+ #
316
+ # Note: The following fields are mutually exclusive: `upgrade_key_trust`, `register_two_factor_auth_keys`, `disable_single_tenant_hsm_instance`, `enable_single_tenant_hsm_instance`, `delete_single_tenant_hsm_instance`, `add_quorum_member`, `remove_quorum_member`, `refresh_single_tenant_hsm_instance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
309
317
  class SingleTenantHsmInstanceProposal
310
318
  include ::Google::Protobuf::MessageExts
311
319
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -473,6 +481,23 @@ module Google
473
481
  extend ::Google::Protobuf::MessageExts::ClassMethods
474
482
  end
475
483
 
484
+ # Promotes a key with the AES_WRAPPING purpose to a trusted wrapping key.
485
+ # The key must be in the
486
+ # [ACTIVE][CryptoKeyVersion.CryptoKeyVersionState.ACTIVE] state to perform
487
+ # this operation.
488
+ # @!attribute [rw] name
489
+ # @return [::String]
490
+ # Required. The {::Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the
491
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to promote.
492
+ # @!attribute [rw] two_factor_public_key_pem
493
+ # @return [::String]
494
+ # Required. The public key associated with the 2FA key that will sign the
495
+ # login nonce for this operation.
496
+ class UpgradeKeyTrust
497
+ include ::Google::Protobuf::MessageExts
498
+ extend ::Google::Protobuf::MessageExts::ClassMethods
499
+ end
500
+
476
501
  # The set of states of a
477
502
  # {::Google::Cloud::Kms::V1::SingleTenantHsmInstanceProposal SingleTenantHsmInstanceProposal}.
478
503
  module State
@@ -213,6 +213,10 @@ module Google
213
213
  # {::Google::Cloud::Kms::V1::KeyManagementService::Client#get_public_key GetPublicKey}
214
214
  # and {::Google::Cloud::Kms::V1::KeyManagementService::Client#decapsulate Decapsulate}.
215
215
  KEY_ENCAPSULATION = 10
216
+
217
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKeys} with this purpose may be used
218
+ # for AES key
219
+ AES_WRAPPING = 11
216
220
  end
217
221
  end
218
222
 
@@ -397,6 +401,24 @@ module Google
397
401
  # Output only. Whether or not this key version is eligible for reimport, by
398
402
  # being specified as a target in
399
403
  # {::Google::Cloud::Kms::V1::ImportCryptoKeyVersionRequest#crypto_key_version ImportCryptoKeyVersionRequest.crypto_key_version}.
404
+ # @!attribute [rw] trusted_wrapping_enabled
405
+ # @return [::Boolean]
406
+ # Immutable. Field indicating that the key may be wrapped by a trusted key.
407
+ # This field can be set for all key purposes except
408
+ # {::Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT},
409
+ # and is only valid for keys with protection level
410
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM_SINGLE_TENANT HSM_SINGLE_TENANT}.
411
+ # This field can only be set at creation or import time via
412
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion},
413
+ # or
414
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#import_crypto_key_version ImportCryptoKeyVersion}.
415
+ # @!attribute [r] hsm_trusted
416
+ # @return [::Boolean]
417
+ # Output only. Field indicating that the key wrapping key is trusted.
418
+ # This field is only valid for key purpose
419
+ # [AES_256_WRAPPING][CryptoKey.CryptoKeyPurpose.AES_256_WRAPPING], and
420
+ # protection level
421
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM_SINGLE_TENANT HSM_SINGLE_TENANT}.
400
422
  class CryptoKeyVersion
401
423
  include ::Google::Protobuf::MessageExts
402
424
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -608,6 +630,10 @@ module Google
608
630
  # security level 5. Randomized version supporting externally-computed
609
631
  # message representatives.
610
632
  PQ_SIGN_ML_DSA_87_EXTERNAL_MU = 71
633
+
634
+ # AES key wrap with zero padding algorithm (RFC 5649). Can only be used
635
+ # by keys with purpose AES_WRAPPING.
636
+ AES_256_KWP = 73
611
637
  end
612
638
 
613
639
  # The state of a {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion},
@@ -441,6 +441,17 @@ module Google
441
441
  # or
442
442
  # {::Google::Cloud::Kms::V1::KeyManagementService::Client#import_crypto_key_version ImportCryptoKeyVersion}
443
443
  # before you can use this {::Google::Cloud::Kms::V1::CryptoKey CryptoKey}.
444
+ # @!attribute [rw] trusted_wrapping_enabled
445
+ # @return [::Boolean]
446
+ # Optional. Whether trusted wrapping will be enabled on the first
447
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersions} created for this
448
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKey}. This field is only supported
449
+ # for keys with
450
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level CryptoKeyVersionTemplate.protection_level}
451
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM_SINGLE_TENANT HSM_SINGLE_TENANT}.
452
+ # This field is supported for all
453
+ # {::Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurposes} except
454
+ # {::Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
444
455
  class CreateCryptoKeyRequest
445
456
  include ::Google::Protobuf::MessageExts
446
457
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -576,11 +587,116 @@ module Google
576
587
  # {::Google::Cloud::Kms::V1::ImportCryptoKeyVersionRequest#wrapped_key wrapped_key}.
577
588
  # Prefer to use that field in new work. Either that field or this field
578
589
  # (but not both) must be specified.
590
+ # @!attribute [rw] trusted_wrapping_enabled
591
+ # @return [::Boolean]
592
+ # Optional. Whether trusted wrapping will be enabled on the imported
593
+ # [CryptoKeyVersion]. This field is only supported for keys with
594
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersionTemplate#protection_level CryptoKeyVersionTemplate.protection_level}
595
+ # {::Google::Cloud::Kms::V1::ProtectionLevel::HSM_SINGLE_TENANT HSM_SINGLE_TENANT}.
596
+ # This field is supported for all
597
+ # {::Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose CryptoKeyPurposes} besides
598
+ # {::Google::Cloud::Kms::V1::CryptoKey::CryptoKeyPurpose::ENCRYPT_DECRYPT ENCRYPT_DECRYPT}.
579
599
  class ImportCryptoKeyVersionRequest
580
600
  include ::Google::Protobuf::MessageExts
581
601
  extend ::Google::Protobuf::MessageExts::ClassMethods
582
602
  end
583
603
 
604
+ # Request message for
605
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#import_trusted_key_wrapped_crypto_key_version KeyManagementService.ImportTrustedKeyWrappedCryptoKeyVersion}.
606
+ # @!attribute [rw] parent
607
+ # @return [::String]
608
+ # Required. The {::Google::Cloud::Kms::V1::CryptoKey#name name} of the
609
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKey} to be imported into.
610
+ # @!attribute [rw] importing_key
611
+ # @return [::String]
612
+ # Required. Required - the CKV of the trusted key used to import.
613
+ # This can be the name of a CryptoKeyVersion or a CryptoKey.
614
+ # @!attribute [rw] crypto_key_version
615
+ # @return [::String]
616
+ # Optional. The optional {::Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of
617
+ # an existing {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to
618
+ # target for an import operation. If this field is not present, a new
619
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} containing the
620
+ # supplied key material is created.
621
+ #
622
+ # If this field is present, the supplied key material is imported into
623
+ # the existing {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}. To
624
+ # import into an existing
625
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}, the
626
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} must be a child of
627
+ # {::Google::Cloud::Kms::V1::ImportTrustedKeyWrappedCryptoKeyVersionRequest#parent ImportTrustedKeyWrappedCryptoKeyVersionRequest.parent},
628
+ # have been previously created via
629
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#import_trusted_key_wrapped_crypto_key_version ImportTrustedKeyWrappedCryptoKeyVersion},
630
+ # and be in
631
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::DESTROYED DESTROYED}
632
+ # or
633
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionState::IMPORT_FAILED IMPORT_FAILED}
634
+ # state. The key material and algorithm must match the previous
635
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} exactly if the
636
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} has ever contained
637
+ # key material
638
+ # @!attribute [rw] wrapped_key
639
+ # @return [::String]
640
+ # Required. The target key pre-wrapped on premises.
641
+ # @!attribute [rw] algorithm
642
+ # @return [::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm]
643
+ # Required. Required - The
644
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion::CryptoKeyVersionAlgorithm algorithm}
645
+ # of the key being imported. This does not need to match the
646
+ # {::Google::Cloud::Kms::V1::CryptoKey#version_template version_template} of the
647
+ # {::Google::Cloud::Kms::V1::CryptoKey CryptoKey} this version imports into.
648
+ class ImportTrustedKeyWrappedCryptoKeyVersionRequest
649
+ include ::Google::Protobuf::MessageExts
650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
651
+ end
652
+
653
+ # Request message for
654
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#export_trusted_key_wrapped_crypto_key_version KeyManagementService.ExportTrustedKeyWrappedCryptoKeyVersion}.
655
+ # @!attribute [rw] name
656
+ # @return [::String]
657
+ # Required. The {::Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the
658
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to export. The
659
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} must have
660
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion#trusted_wrapping_enabled trusted_wrapping_enabled}
661
+ # set to true.
662
+ # @!attribute [rw] wrapping_key
663
+ # @return [::String]
664
+ # Required. The {::Google::Cloud::Kms::V1::CryptoKeyVersion#name name} of the
665
+ # {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion} to use as a
666
+ # wrapping key. The {::Google::Cloud::Kms::V1::CryptoKeyVersion CryptoKeyVersion}
667
+ # must have {::Google::Cloud::Kms::V1::CryptoKeyVersion#hsm_trusted hsm_trusted}
668
+ # set to true.
669
+ class ExportTrustedKeyWrappedCryptoKeyVersionRequest
670
+ include ::Google::Protobuf::MessageExts
671
+ extend ::Google::Protobuf::MessageExts::ClassMethods
672
+ end
673
+
674
+ # Response message for
675
+ # {::Google::Cloud::Kms::V1::KeyManagementService::Client#export_trusted_key_wrapped_crypto_key_version KeyManagementService.ExportTrustedKeyWrappedCryptoKeyVersion}.
676
+ # @!attribute [rw] wrapped_key
677
+ # @return [::String]
678
+ # The wrapped key material.
679
+ # @!attribute [rw] wrapped_key_crc32c
680
+ # @return [::Google::Protobuf::Int64Value]
681
+ # Integrity verification field. A CRC32C checksum of the returned
682
+ # {::Google::Cloud::Kms::V1::ExportTrustedKeyWrappedCryptoKeyVersionResponse#wrapped_key ExportTrustedKeyWrappedCryptoKeyVersionResponse.wrapped_key}.
683
+ # An integrity check of
684
+ # {::Google::Cloud::Kms::V1::ExportTrustedKeyWrappedCryptoKeyVersionResponse#wrapped_key ExportTrustedKeyWrappedCryptoKeyVersionResponse.wrapped_key}
685
+ # can be performed by computing the CRC32C checksum of
686
+ # {::Google::Cloud::Kms::V1::ExportTrustedKeyWrappedCryptoKeyVersionResponse#wrapped_key ExportTrustedKeyWrappedCryptoKeyVersionResponse.wrapped_key}
687
+ # and comparing your results to this field. Discard the response in case of
688
+ # non-matching checksum values, and perform a limited number of retries. A
689
+ # persistent mismatch may indicate an issue in your computation of the CRC32C
690
+ # checksum.
691
+ # Note: This field is defined as int64 for reasons of compatibility across
692
+ # different languages. However, it is a non-negative integer, which will
693
+ # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
694
+ # that support this type.
695
+ class ExportTrustedKeyWrappedCryptoKeyVersionResponse
696
+ include ::Google::Protobuf::MessageExts
697
+ extend ::Google::Protobuf::MessageExts::ClassMethods
698
+ end
699
+
584
700
  # Request message for
585
701
  # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_import_job KeyManagementService.CreateImportJob}.
586
702
  # @!attribute [rw] parent
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-kms-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC