Class KeyManagementServiceClient (2.27.0)

public class KeyManagementServiceClient implements BackgroundResource

Service Description: Google Cloud Key Management Service

Manages cryptographic keys and operations using those keys. Implements a REST model with the following objects:

  • KeyRing
  • CryptoKey
  • CryptoKeyVersion
  • ImportJob

If you are using manual gRPC libraries, see Using gRPC with Cloud KMS.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
   KeyRing response = keyManagementServiceClient.getKeyRing(name);
 }
 

Note: close() needs to be called on the KeyManagementServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of KeyManagementServiceSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create(keyManagementServiceSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create(keyManagementServiceSettings);
 

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 KeyManagementServiceSettings keyManagementServiceSettings =
     KeyManagementServiceSettings.newHttpJsonBuilder().build();
 KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create(keyManagementServiceSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > KeyManagementServiceClient

Implements

BackgroundResource

Static Methods

create()

public static final KeyManagementServiceClient create()

Constructs an instance of KeyManagementServiceClient with default settings.

Returns
TypeDescription
KeyManagementServiceClient
Exceptions
TypeDescription
IOException

create(KeyManagementServiceSettings settings)

public static final KeyManagementServiceClient create(KeyManagementServiceSettings settings)

Constructs an instance of KeyManagementServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsKeyManagementServiceSettings
Returns
TypeDescription
KeyManagementServiceClient
Exceptions
TypeDescription
IOException

create(KeyManagementServiceStub stub)

public static final KeyManagementServiceClient create(KeyManagementServiceStub stub)

Constructs an instance of KeyManagementServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(KeyManagementServiceSettings).

Parameter
NameDescription
stubKeyManagementServiceStub
Returns
TypeDescription
KeyManagementServiceClient

Constructors

KeyManagementServiceClient(KeyManagementServiceSettings settings)

protected KeyManagementServiceClient(KeyManagementServiceSettings settings)

Constructs an instance of KeyManagementServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsKeyManagementServiceSettings

KeyManagementServiceClient(KeyManagementServiceStub stub)

protected KeyManagementServiceClient(KeyManagementServiceStub stub)
Parameter
NameDescription
stubKeyManagementServiceStub

Methods

asymmetricDecrypt(AsymmetricDecryptRequest request)

public final AsymmetricDecryptResponse asymmetricDecrypt(AsymmetricDecryptRequest request)

Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   AsymmetricDecryptRequest request =
       AsymmetricDecryptRequest.newBuilder()
           .setName(
               CryptoKeyVersionName.of(
                       "[PROJECT]",
                       "[LOCATION]",
                       "[KEY_RING]",
                       "[CRYPTO_KEY]",
                       "[CRYPTO_KEY_VERSION]")
                   .toString())
           .setCiphertext(ByteString.EMPTY)
           .setCiphertextCrc32C(Int64Value.newBuilder().build())
           .build();
   AsymmetricDecryptResponse response = keyManagementServiceClient.asymmetricDecrypt(request);
 }
 
Parameter
NameDescription
requestAsymmetricDecryptRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AsymmetricDecryptResponse

asymmetricDecrypt(CryptoKeyVersionName name, ByteString ciphertext)

public final AsymmetricDecryptResponse asymmetricDecrypt(CryptoKeyVersionName name, ByteString ciphertext)

Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CryptoKeyVersionName name =
       CryptoKeyVersionName.of(
           "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
   ByteString ciphertext = ByteString.EMPTY;
   AsymmetricDecryptResponse response =
       keyManagementServiceClient.asymmetricDecrypt(name, ciphertext);
 }
 
Parameters
NameDescription
nameCryptoKeyVersionName

Required. The resource name of the CryptoKeyVersion to use for decryption.

ciphertextByteString

Required. The data encrypted with the named CryptoKeyVersion's public key using OAEP.

Returns
TypeDescription
AsymmetricDecryptResponse

asymmetricDecrypt(String name, ByteString ciphertext)

public final AsymmetricDecryptResponse asymmetricDecrypt(String name, ByteString ciphertext)

Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   String name =
       CryptoKeyVersionName.of(
               "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
           .toString();
   ByteString ciphertext = ByteString.EMPTY;
   AsymmetricDecryptResponse response =
       keyManagementServiceClient.asymmetricDecrypt(name, ciphertext);
 }
 
Parameters
NameDescription
nameString

Required. The resource name of the CryptoKeyVersion to use for decryption.

ciphertextByteString

Required. The data encrypted with the named CryptoKeyVersion's public key using OAEP.

Returns
TypeDescription
AsymmetricDecryptResponse

asymmetricDecryptCallable()

public final UnaryCallable<AsymmetricDecryptRequest,AsymmetricDecryptResponse> asymmetricDecryptCallable()

Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   AsymmetricDecryptRequest request =
       AsymmetricDecryptRequest.newBuilder()
           .setName(
               CryptoKeyVersionName.of(
                       "[PROJECT]",
                       "[LOCATION]",
                       "[KEY_RING]",
                       "[CRYPTO_KEY]",
                       "[CRYPTO_KEY_VERSION]")
                   .toString())
           .setCiphertext(ByteString.EMPTY)
           .setCiphertextCrc32C(Int64Value.newBuilder().build())
           .build();
   ApiFuture<AsymmetricDecryptResponse> future =
       keyManagementServiceClient.asymmetricDecryptCallable().futureCall(request);
   // Do something.
   AsymmetricDecryptResponse response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<AsymmetricDecryptRequest,AsymmetricDecryptResponse>

asymmetricSign(AsymmetricSignRequest request)

public final AsymmetricSignResponse asymmetricSign(AsymmetricSignRequest request)

Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   AsymmetricSignRequest request =
       AsymmetricSignRequest.newBuilder()
           .setName(
               CryptoKeyVersionName.of(
                       "[PROJECT]",
                       "[LOCATION]",
                       "[KEY_RING]",
                       "[CRYPTO_KEY]",
                       "[CRYPTO_KEY_VERSION]")
                   .toString())
           .setDigest(Digest.newBuilder().build())
           .setDigestCrc32C(Int64Value.newBuilder().build())
           .setData(ByteString.EMPTY)
           .setDataCrc32C(Int64Value.newBuilder().build())
           .build();
   AsymmetricSignResponse response = keyManagementServiceClient.asymmetricSign(request);
 }
 
Parameter
NameDescription
requestAsymmetricSignRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
AsymmetricSignResponse

asymmetricSign(CryptoKeyVersionName name, Digest digest)

public final AsymmetricSignResponse asymmetricSign(CryptoKeyVersionName name, Digest digest)

Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CryptoKeyVersionName name =
       CryptoKeyVersionName.of(
           "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
   Digest digest = Digest.newBuilder().build();
   AsymmetricSignResponse response = keyManagementServiceClient.asymmetricSign(name, digest);
 }
 
Parameters
NameDescription
nameCryptoKeyVersionName

Required. The resource name of the CryptoKeyVersion to use for signing.

digestDigest

Optional. The digest of the data to sign. The digest must be produced with the same digest algorithm as specified by the key version's algorithm.

This field may not be supplied if AsymmetricSignRequest.data is supplied.

Returns
TypeDescription
AsymmetricSignResponse

asymmetricSign(String name, Digest digest)

public final AsymmetricSignResponse asymmetricSign(String name, Digest digest)

Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   String name =
       CryptoKeyVersionName.of(
               "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
           .toString();
   Digest digest = Digest.newBuilder().build();
   AsymmetricSignResponse response = keyManagementServiceClient.asymmetricSign(name, digest);
 }
 
Parameters
NameDescription
nameString

Required. The resource name of the CryptoKeyVersion to use for signing.

digestDigest

Optional. The digest of the data to sign. The digest must be produced with the same digest algorithm as specified by the key version's algorithm.

This field may not be supplied if AsymmetricSignRequest.data is supplied.

Returns
TypeDescription
AsymmetricSignResponse

asymmetricSignCallable()

public final UnaryCallable<AsymmetricSignRequest,AsymmetricSignResponse> asymmetricSignCallable()

Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   AsymmetricSignRequest request =
       AsymmetricSignRequest.newBuilder()
           .setName(
               CryptoKeyVersionName.of(
                       "[PROJECT]",
                       "[LOCATION]",
                       "[KEY_RING]",
                       "[CRYPTO_KEY]",
                       "[CRYPTO_KEY_VERSION]")
                   .toString())
           .setDigest(Digest.newBuilder().build())
           .setDigestCrc32C(Int64Value.newBuilder().build())
           .setData(ByteString.EMPTY)
           .setDataCrc32C(Int64Value.newBuilder().build())
           .build();
   ApiFuture<AsymmetricSignResponse> future =
       keyManagementServiceClient.asymmetricSignCallable().futureCall(request);
   // Do something.
   AsymmetricSignResponse response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<AsymmetricSignRequest,AsymmetricSignResponse>

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

createCryptoKey(CreateCryptoKeyRequest request)

public final CryptoKey createCryptoKey(CreateCryptoKeyRequest request)

Create a new CryptoKey within a KeyRing.

CryptoKey.purpose and CryptoKey.version_template.algorithm are required.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CreateCryptoKeyRequest request =
       CreateCryptoKeyRequest.newBuilder()
           .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
           .setCryptoKeyId("cryptoKeyId-1643185255")
           .setCryptoKey(CryptoKey.newBuilder().build())
           .setSkipInitialVersionCreation(true)
           .build();
   CryptoKey response = keyManagementServiceClient.createCryptoKey(request);
 }
 
Parameter
NameDescription
requestCreateCryptoKeyRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
CryptoKey

createCryptoKey(KeyRingName parent, String cryptoKeyId, CryptoKey cryptoKey)

public final CryptoKey createCryptoKey(KeyRingName parent, String cryptoKeyId, CryptoKey cryptoKey)

Create a new CryptoKey within a KeyRing.

CryptoKey.purpose and CryptoKey.version_template.algorithm are required.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
   String cryptoKeyId = "cryptoKeyId-1643185255";
   CryptoKey cryptoKey = CryptoKey.newBuilder().build();
   CryptoKey response =
       keyManagementServiceClient.createCryptoKey(parent, cryptoKeyId, cryptoKey);
 }
 
Parameters
NameDescription
parentKeyRingName

Required. The name of the KeyRing associated with the CryptoKeys.

cryptoKeyIdString

Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}

cryptoKeyCryptoKey

Required. A CryptoKey with initial field values.

Returns
TypeDescription
CryptoKey

createCryptoKey(String parent, String cryptoKeyId, CryptoKey cryptoKey)

public final CryptoKey createCryptoKey(String parent, String cryptoKeyId, CryptoKey cryptoKey)

Create a new CryptoKey within a KeyRing.

CryptoKey.purpose and CryptoKey.version_template.algorithm are required.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
   String cryptoKeyId = "cryptoKeyId-1643185255";
   CryptoKey cryptoKey = CryptoKey.newBuilder().build();
   CryptoKey response =
       keyManagementServiceClient.createCryptoKey(parent, cryptoKeyId, cryptoKey);
 }
 
Parameters
NameDescription
parentString

Required. The name of the KeyRing associated with the CryptoKeys.

cryptoKeyIdString

Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}

cryptoKeyCryptoKey

Required. A CryptoKey with initial field values.

Returns
TypeDescription
CryptoKey

createCryptoKeyCallable()

public final UnaryCallable<CreateCryptoKeyRequest,CryptoKey> createCryptoKeyCallable()

Create a new CryptoKey within a KeyRing.

CryptoKey.purpose and CryptoKey.version_template.algorithm are required.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CreateCryptoKeyRequest request =
       CreateCryptoKeyRequest.newBuilder()
           .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
           .setCryptoKeyId("cryptoKeyId-1643185255")
           .setCryptoKey(CryptoKey.newBuilder().build())
           .setSkipInitialVersionCreation(true)
           .build();
   ApiFuture<CryptoKey> future =
       keyManagementServiceClient.createCryptoKeyCallable().futureCall(request);
   // Do something.
   CryptoKey response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateCryptoKeyRequest,CryptoKey>

createCryptoKeyVersion(CreateCryptoKeyVersionRequest request)

public final CryptoKeyVersion createCryptoKeyVersion(CreateCryptoKeyVersionRequest request)

Create a new CryptoKeyVersion in a CryptoKey.

The server will assign the next sequential id. If unset, state will be set to ENABLED.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CreateCryptoKeyVersionRequest request =
       CreateCryptoKeyVersionRequest.newBuilder()
           .setParent(
               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                   .toString())
           .setCryptoKeyVersion(CryptoKeyVersion.newBuilder().build())
           .build();
   CryptoKeyVersion response = keyManagementServiceClient.createCryptoKeyVersion(request);
 }
 
Parameter
NameDescription
requestCreateCryptoKeyVersionRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
CryptoKeyVersion

createCryptoKeyVersion(CryptoKeyName parent, CryptoKeyVersion cryptoKeyVersion)

public final CryptoKeyVersion createCryptoKeyVersion(CryptoKeyName parent, CryptoKeyVersion cryptoKeyVersion)

Create a new CryptoKeyVersion in a CryptoKey.

The server will assign the next sequential id. If unset, state will be set to ENABLED.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CryptoKeyName parent =
       CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
   CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
   CryptoKeyVersion response =
       keyManagementServiceClient.createCryptoKeyVersion(parent, cryptoKeyVersion);
 }
 
Parameters
NameDescription
parentCryptoKeyName

Required. The name of the CryptoKey associated with the CryptoKeyVersions.

cryptoKeyVersionCryptoKeyVersion

Required. A CryptoKeyVersion with initial field values.

Returns
TypeDescription
CryptoKeyVersion

createCryptoKeyVersion(String parent, CryptoKeyVersion cryptoKeyVersion)

public final CryptoKeyVersion createCryptoKeyVersion(String parent, CryptoKeyVersion cryptoKeyVersion)

Create a new CryptoKeyVersion in a CryptoKey.

The server will assign the next sequential id. If unset, state will be set to ENABLED.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   String parent =
       CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
   CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
   CryptoKeyVersion response =
       keyManagementServiceClient.createCryptoKeyVersion(parent, cryptoKeyVersion);
 }
 
Parameters
NameDescription
parentString

Required. The name of the CryptoKey associated with the CryptoKeyVersions.

cryptoKeyVersionCryptoKeyVersion

Required. A CryptoKeyVersion with initial field values.

Returns
TypeDescription
CryptoKeyVersion

createCryptoKeyVersionCallable()

public final UnaryCallable<CreateCryptoKeyVersionRequest,CryptoKeyVersion> createCryptoKeyVersionCallable()

Create a new CryptoKeyVersion in a CryptoKey.

The server will assign the next sequential id. If unset, state will be set to ENABLED.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (KeyManagementServiceClient keyManagementServiceClient =
     KeyManagementServiceClient.create()) {
   CreateCryptoKeyVersionRequest request =
       CreateCryptoKeyVersionRequest.newBuilder()
           .setParent(
               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                   .toString())
           .setCryptoKeyVersion(CryptoKeyVersion.newBuilder().build())
           .build();
   ApiFuture<CryptoKeyVersion> future =
       keyManagementServiceClient.createCryptoKeyVersionCallable().futureCall(request);
   // Do something.
   CryptoKeyVersion response = future.get();
 }
 
Returns