diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java index 9ed98a16..a31cc7ee 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java @@ -1,11 +1,11 @@ /* - * Copyright 2020 Google LLC + * Copyright 2021 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * https://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package com.google.cloud.kms.v1; import com.google.api.core.ApiFunction; @@ -41,16 +42,19 @@ import java.util.concurrent.TimeUnit; import javax.annotation.Generated; -// AUTO-GENERATED DOCUMENTATION AND SERVICE +// AUTO-GENERATED DOCUMENTATION AND CLASS. /** * Service Description: Google Cloud Key Management Service * *
Manages cryptographic keys and operations using those keys. Implements a REST model with the * following objects: * - *
* [KeyRing][google.cloud.kms.v1.KeyRing] * [CryptoKey][google.cloud.kms.v1.CryptoKey] - * * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] * - * [ImportJob][google.cloud.kms.v1.ImportJob] + *
If you are using manual gRPC libraries, see [Using gRPC with Cloud * KMS](https://cloud.google.com/kms/docs/grpc). @@ -58,23 +62,15 @@ *
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: * - *
- *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * ImportJob response = keyManagementServiceClient.createImportJob(parent, importJobId, importJob);
+ * {@code
+ * 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 + *
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(). * @@ -103,30 +99,27 @@ * *
To customize credentials: * - *
- *
+ * {@code
* KeyManagementServiceSettings keyManagementServiceSettings =
* KeyManagementServiceSettings.newBuilder()
* .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
* .build();
* KeyManagementServiceClient keyManagementServiceClient =
* KeyManagementServiceClient.create(keyManagementServiceSettings);
- *
- *
+ * }
*
- * To customize the endpoint:
+ * To customize the endpoint: * - *
- *
+ * {@code
* KeyManagementServiceSettings keyManagementServiceSettings =
* KeyManagementServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
* KeyManagementServiceClient keyManagementServiceClient =
* KeyManagementServiceClient.create(keyManagementServiceSettings);
- *
- *
+ * }
+ *
+ * Please refer to the GitHub repository's samples for more quickstart code snippets. */ -@Generated("by gapic-generator") -@BetaApi +@Generated("by gapic-generator-java") public class KeyManagementServiceClient implements BackgroundResource { private final KeyManagementServiceSettings settings; private final KeyManagementServiceStub stub; @@ -147,7 +140,7 @@ public static final KeyManagementServiceClient create(KeyManagementServiceSettin /** * Constructs an instance of KeyManagementServiceClient, using the given stub for making calls. - * This is for advanced usage - prefer to use KeyManagementServiceSettings}. + * This is for advanced usage - prefer using create(KeyManagementServiceSettings). */ @BetaApi("A restructuring of stub classes is planned, so this may break in the future") public static final KeyManagementServiceClient create(KeyManagementServiceStub stub) { @@ -179,3103 +172,3359 @@ public KeyManagementServiceStub getStub() { return stub; } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a - * [KeyRing][google.cloud.kms.v1.KeyRing]. - * - *
[ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. + * Lists [KeyRings][google.cloud.kms.v1.KeyRing]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * ImportJob response = keyManagementServiceClient.createImportJob(parent, importJobId, importJob);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+ * for (KeyRing element : keyManagementServiceClient.listKeyRings(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
- * [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
- * [ImportJobs][google.cloud.kms.v1.ImportJob].
- * @param importJobId Required. It must be unique within a KeyRing and match the regular
- * expression `[a-zA-Z0-9_-]{1,63}`
- * @param importJob Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field
- * values.
+ * @param parent Required. The resource name of the location associated with the
+ * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ImportJob createImportJob(
- KeyRingName parent, String importJobId, ImportJob importJob) {
- CreateImportJobRequest request =
- CreateImportJobRequest.newBuilder()
+ public final ListKeyRingsPagedResponse listKeyRings(LocationName parent) {
+ ListKeyRingsRequest request =
+ ListKeyRingsRequest.newBuilder()
.setParent(parent == null ? null : parent.toString())
- .setImportJobId(importJobId)
- .setImportJob(importJob)
.build();
- return createImportJob(request);
+ return listKeyRings(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. + * Lists [KeyRings][google.cloud.kms.v1.KeyRing]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * ImportJob response = keyManagementServiceClient.createImportJob(parent.toString(), importJobId, importJob);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+ * for (KeyRing element : keyManagementServiceClient.listKeyRings(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
- * [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
- * [ImportJobs][google.cloud.kms.v1.ImportJob].
- * @param importJobId Required. It must be unique within a KeyRing and match the regular
- * expression `[a-zA-Z0-9_-]{1,63}`
- * @param importJob Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field
- * values.
+ * @param parent Required. The resource name of the location associated with the
+ * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ImportJob createImportJob(String parent, String importJobId, ImportJob importJob) {
- CreateImportJobRequest request =
- CreateImportJobRequest.newBuilder()
- .setParent(parent)
- .setImportJobId(importJobId)
- .setImportJob(importJob)
- .build();
- return createImportJob(request);
+ public final ListKeyRingsPagedResponse listKeyRings(String parent) {
+ ListKeyRingsRequest request = ListKeyRingsRequest.newBuilder().setParent(parent).build();
+ return listKeyRings(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. + * Lists [KeyRings][google.cloud.kms.v1.KeyRing]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * CreateImportJobRequest request = CreateImportJobRequest.newBuilder()
- * .setParent(parent.toString())
- * .setImportJobId(importJobId)
- * .setImportJob(importJob)
- * .build();
- * ImportJob response = keyManagementServiceClient.createImportJob(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListKeyRingsRequest request =
+ * ListKeyRingsRequest.newBuilder()
+ * .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * for (KeyRing element : keyManagementServiceClient.listKeyRings(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ImportJob createImportJob(CreateImportJobRequest request) {
- return createImportJobCallable().call(request);
+ public final ListKeyRingsPagedResponse listKeyRings(ListKeyRingsRequest request) {
+ return listKeyRingsPagedCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. + * Lists [KeyRings][google.cloud.kms.v1.KeyRing]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * CreateImportJobRequest request = CreateImportJobRequest.newBuilder()
- * .setParent(parent.toString())
- * .setImportJobId(importJobId)
- * .setImportJob(importJob)
- * .build();
- * ApiFuture<ImportJob> future = keyManagementServiceClient.createImportJobCallable().futureCall(request);
- * // Do something
- * ImportJob response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListKeyRingsRequest request =
+ * ListKeyRingsRequest.newBuilder()
+ * .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.listKeyRingsPagedCallable().futureCall(request);
+ * // Do something.
+ * for (KeyRing element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*/
- public final UnaryCallable[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and - * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] - * are required. + *
Sample code: + * + *
{@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListKeyRingsRequest request =
+ * ListKeyRingsRequest.newBuilder()
+ * .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * while (true) {
+ * ListKeyRingsResponse response =
+ * keyManagementServiceClient.listKeyRingsCallable().call(request);
+ * for (KeyRing element : response.getResponsesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ * }
+ */
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
* KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String cryptoKeyId = "my-app-key";
- * CryptoKey.CryptoKeyPurpose purpose = CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT;
- * long seconds = 2147483647L;
- * Timestamp nextRotationTime = Timestamp.newBuilder()
- * .setSeconds(seconds)
- * .build();
- * long seconds2 = 604800L;
- * Duration rotationPeriod = Duration.newBuilder()
- * .setSeconds(seconds2)
- * .build();
- * CryptoKey cryptoKey = CryptoKey.newBuilder()
- * .setPurpose(purpose)
- * .setNextRotationTime(nextRotationTime)
- * .setRotationPeriod(rotationPeriod)
- * .build();
- * CryptoKey response = keyManagementServiceClient.createCryptoKey(parent, cryptoKeyId, cryptoKey);
+ * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated
- * with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
- * @param cryptoKeyId Required. It must be unique within a KeyRing and match the regular
- * expression `[a-zA-Z0-9_-]{1,63}`
- * @param cryptoKey Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field
- * values.
+ * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
+ * list, in the format `projects/*/locations/*/keyRings/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey createCryptoKey(
- KeyRingName parent, String cryptoKeyId, CryptoKey cryptoKey) {
- CreateCryptoKeyRequest request =
- CreateCryptoKeyRequest.newBuilder()
+ public final ListCryptoKeysPagedResponse listCryptoKeys(KeyRingName parent) {
+ ListCryptoKeysRequest request =
+ ListCryptoKeysRequest.newBuilder()
.setParent(parent == null ? null : parent.toString())
- .setCryptoKeyId(cryptoKeyId)
- .setCryptoKey(cryptoKey)
.build();
- return createCryptoKey(request);
+ return listCryptoKeys(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and - * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] - * are required. + * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String cryptoKeyId = "my-app-key";
- * CryptoKey.CryptoKeyPurpose purpose = CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT;
- * long seconds = 2147483647L;
- * Timestamp nextRotationTime = Timestamp.newBuilder()
- * .setSeconds(seconds)
- * .build();
- * long seconds2 = 604800L;
- * Duration rotationPeriod = Duration.newBuilder()
- * .setSeconds(seconds2)
- * .build();
- * CryptoKey cryptoKey = CryptoKey.newBuilder()
- * .setPurpose(purpose)
- * .setNextRotationTime(nextRotationTime)
- * .setRotationPeriod(rotationPeriod)
- * .build();
- * CryptoKey response = keyManagementServiceClient.createCryptoKey(parent.toString(), cryptoKeyId, cryptoKey);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
+ * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated
- * with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
- * @param cryptoKeyId Required. It must be unique within a KeyRing and match the regular
- * expression `[a-zA-Z0-9_-]{1,63}`
- * @param cryptoKey Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field
- * values.
+ * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
+ * list, in the format `projects/*/locations/*/keyRings/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey createCryptoKey(String parent, String cryptoKeyId, CryptoKey cryptoKey) {
- CreateCryptoKeyRequest request =
- CreateCryptoKeyRequest.newBuilder()
- .setParent(parent)
- .setCryptoKeyId(cryptoKeyId)
- .setCryptoKey(cryptoKey)
- .build();
- return createCryptoKey(request);
+ public final ListCryptoKeysPagedResponse listCryptoKeys(String parent) {
+ ListCryptoKeysRequest request = ListCryptoKeysRequest.newBuilder().setParent(parent).build();
+ return listCryptoKeys(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and - * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] - * are required. + * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String cryptoKeyId = "my-app-key";
- * CryptoKey.CryptoKeyPurpose purpose = CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT;
- * long seconds = 2147483647L;
- * Timestamp nextRotationTime = Timestamp.newBuilder()
- * .setSeconds(seconds)
- * .build();
- * long seconds2 = 604800L;
- * Duration rotationPeriod = Duration.newBuilder()
- * .setSeconds(seconds2)
- * .build();
- * CryptoKey cryptoKey = CryptoKey.newBuilder()
- * .setPurpose(purpose)
- * .setNextRotationTime(nextRotationTime)
- * .setRotationPeriod(rotationPeriod)
- * .build();
- * CreateCryptoKeyRequest request = CreateCryptoKeyRequest.newBuilder()
- * .setParent(parent.toString())
- * .setCryptoKeyId(cryptoKeyId)
- * .setCryptoKey(cryptoKey)
- * .build();
- * CryptoKey response = keyManagementServiceClient.createCryptoKey(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeysRequest request =
+ * ListCryptoKeysRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey createCryptoKey(CreateCryptoKeyRequest request) {
- return createCryptoKeyCallable().call(request);
+ public final ListCryptoKeysPagedResponse listCryptoKeys(ListCryptoKeysRequest request) {
+ return listCryptoKeysPagedCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
- * [KeyRing][google.cloud.kms.v1.KeyRing].
- *
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and - * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] - * are required. + * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String cryptoKeyId = "my-app-key";
- * CryptoKey.CryptoKeyPurpose purpose = CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT;
- * long seconds = 2147483647L;
- * Timestamp nextRotationTime = Timestamp.newBuilder()
- * .setSeconds(seconds)
- * .build();
- * long seconds2 = 604800L;
- * Duration rotationPeriod = Duration.newBuilder()
- * .setSeconds(seconds2)
- * .build();
- * CryptoKey cryptoKey = CryptoKey.newBuilder()
- * .setPurpose(purpose)
- * .setNextRotationTime(nextRotationTime)
- * .setRotationPeriod(rotationPeriod)
- * .build();
- * CreateCryptoKeyRequest request = CreateCryptoKeyRequest.newBuilder()
- * .setParent(parent.toString())
- * .setCryptoKeyId(cryptoKeyId)
- * .setCryptoKey(cryptoKey)
- * .build();
- * ApiFuture<CryptoKey> future = keyManagementServiceClient.createCryptoKeyCallable().futureCall(request);
- * // Do something
- * CryptoKey response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeysRequest request =
+ * ListCryptoKeysRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.listCryptoKeysPagedCallable().futureCall(request);
+ * // Do something.
+ * for (CryptoKey element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*/
- public final UnaryCallableCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * Policy policy = Policy.newBuilder().build();
- * SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
- * .setResource(resource.toString())
- * .setPolicy(policy)
- * .build();
- * Policy response = keyManagementServiceClient.setIamPolicy(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeysRequest request =
+ * ListCryptoKeysRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * while (true) {
+ * ListCryptoKeysResponse response =
+ * keyManagementServiceClient.listCryptoKeysCallable().call(request);
+ * for (CryptoKey element : response.getResponsesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
* }
- *
- *
- * @param request The request object containing all of the parameters for the API call.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final Policy setIamPolicy(SetIamPolicyRequest request) {
- return setIamPolicyCallable().call(request);
+ public final UnaryCallableCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED + * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * Policy policy = Policy.newBuilder().build();
- * Policy response = keyManagementServiceClient.setIamPolicy(resource, policy);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyName parent =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
+ * for (CryptoKeyVersion element :
+ * keyManagementServiceClient.listCryptoKeyVersions(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param resource REQUIRED: The resource for which the policy is being specified. See the
- * operation documentation for the appropriate value for this field.
- * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the
- * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
- * Platform services (such as Projects) might reject them.
+ * @param parent Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
+ * list, in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final Policy setIamPolicy(KeyName resource, Policy policy) {
- SetIamPolicyRequest request =
- SetIamPolicyRequest.newBuilder()
- .setResource(resource == null ? null : resource.toString())
- .setPolicy(policy)
+ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(CryptoKeyName parent) {
+ ListCryptoKeyVersionsRequest request =
+ ListCryptoKeyVersionsRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
.build();
- return setIamPolicy(request);
+ return listCryptoKeyVersions(request);
}
- // ADDED BY SYNTH
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Sets the access control policy on the specified resource. Replaces any existing policy.
- *
- * Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED + * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * Policy policy = Policy.newBuilder().build();
- * Policy response = keyManagementServiceClient.setIamPolicy(resource.toString(), policy);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
+ * for (CryptoKeyVersion element :
+ * keyManagementServiceClient.listCryptoKeyVersions(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param resource REQUIRED: The resource for which the policy is being specified. See the
- * operation documentation for the appropriate value for this field.
- * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the
- * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
- * Platform services (such as Projects) might reject them.
+ * @param parent Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
+ * list, in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final Policy setIamPolicy(String resource, Policy policy) {
- SetIamPolicyRequest request =
- SetIamPolicyRequest.newBuilder().setResource(resource).setPolicy(policy).build();
- return setIamPolicy(request);
+ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(String parent) {
+ ListCryptoKeyVersionsRequest request =
+ ListCryptoKeyVersionsRequest.newBuilder().setParent(parent).build();
+ return listCryptoKeyVersions(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Sets the access control policy on the specified resource. Replaces any existing policy.
- *
- * Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * Policy policy = Policy.newBuilder().build();
- * SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
- * .setResource(resource.toString())
- * .setPolicy(policy)
- * .build();
- * ApiFuture<Policy> future = keyManagementServiceClient.setIamPolicyCallable().futureCall(request);
- * // Do something
- * Policy response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeyVersionsRequest request =
+ * ListCryptoKeyVersionsRequest.newBuilder()
+ * .setParent(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * for (CryptoKeyVersion element :
+ * keyManagementServiceClient.listCryptoKeyVersions(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
- * .setResource(resource.toString())
- * .build();
- * Policy response = keyManagementServiceClient.getIamPolicy(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeyVersionsRequest request =
+ * ListCryptoKeyVersionsRequest.newBuilder()
+ * .setParent(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.listCryptoKeyVersionsPagedCallable().futureCall(request);
+ * // Do something.
+ * for (CryptoKeyVersion element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
- *
- * @param request The request object containing all of the parameters for the API call.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final Policy getIamPolicy(GetIamPolicyRequest request) {
- return getIamPolicyCallable().call(request);
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * Policy response = keyManagementServiceClient.getIamPolicy(resource);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListCryptoKeyVersionsRequest request =
+ * ListCryptoKeyVersionsRequest.newBuilder()
+ * .setParent(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * while (true) {
+ * ListCryptoKeyVersionsResponse response =
+ * keyManagementServiceClient.listCryptoKeyVersionsCallable().call(request);
+ * for (CryptoKeyVersion element : response.getResponsesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
* }
- *
- *
- * @param resource REQUIRED: The resource for which the policy is being requested. See the
- * operation documentation for the appropriate value for this field.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final Policy getIamPolicy(KeyName resource) {
- GetIamPolicyRequest request =
- GetIamPolicyRequest.newBuilder()
- .setResource(resource == null ? null : resource.toString())
- .build();
- return getIamPolicy(request);
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * Policy response = keyManagementServiceClient.getIamPolicy(resource.toString());
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * for (ImportJob element : keyManagementServiceClient.listImportJobs(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
- * @param resource REQUIRED: The resource for which the policy is being requested. See the
- * operation documentation for the appropriate value for this field.
+ * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
+ * list, in the format `projects/*/locations/*/keyRings/*`.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final Policy getIamPolicy(String resource) {
- GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder().setResource(resource).build();
- return getIamPolicy(request);
+ public final ListImportJobsPagedResponse listImportJobs(KeyRingName parent) {
+ ListImportJobsRequest request =
+ ListImportJobsRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .build();
+ return listImportJobs(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Gets the access control policy for a resource. Returns an empty policy if the resource exists
- * and does not have a policy set.
+ * Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
- * .setResource(resource.toString())
- * .build();
- * ApiFuture<Policy> future = keyManagementServiceClient.getIamPolicyCallable().futureCall(request);
- * // Do something
- * Policy response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
+ * for (ImportJob element : keyManagementServiceClient.listImportJobs(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
+ *
+ * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
+ * list, in the format `projects/*/locations/*/keyRings/*`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableNote: This operation is designed to be used for building permission-aware UIs and - * command-line tools, not for authorization checking. This operation may "fail open" without - * warning. + * Lists [ImportJobs][google.cloud.kms.v1.ImportJob]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * List<String> permissions = new ArrayList<>();
- * TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
- * .setResource(resource.toString())
- * .addAllPermissions(permissions)
- * .build();
- * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListImportJobsRequest request =
+ * ListImportJobsRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * for (ImportJob element : keyManagementServiceClient.listImportJobs(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request) {
- return testIamPermissionsCallable().call(request);
+ public final ListImportJobsPagedResponse listImportJobs(ListImportJobsRequest request) {
+ return listImportJobsPagedCallable().call(request);
}
- // ADDED BY SYNTH
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns permissions that a caller has on the specified resource. If the resource does not
- * exist, this will return an empty set of permissions, not a NOT_FOUND error.
- *
- * Note: This operation is designed to be used for building permission-aware UIs and - * command-line tools, not for authorization checking. This operation may "fail open" without - * warning. + * Lists [ImportJobs][google.cloud.kms.v1.ImportJob]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * List<String> permissions = new ArrayList<>();
- * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(resource, permissions);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListImportJobsRequest request =
+ * ListImportJobsRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.listImportJobsPagedCallable().futureCall(request);
+ * // Do something.
+ * for (ImportJob element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
* }
- *
- *
- * @param resource REQUIRED: The resource for which the policy detail is being requested. See the
- * operation documentation for the appropriate value for this field.
- * @param permissions The set of permissions to check for the `resource`. Permissions with
- * wildcards (such as '*' or 'storage.*') are not allowed. For more information see
- * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final TestIamPermissionsResponse testIamPermissions(
- KeyName resource, ListNote: This operation is designed to be used for building permission-aware UIs and - * command-line tools, not for authorization checking. This operation may "fail open" without - * warning. + *
Sample code: + * + *
{@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ListImportJobsRequest request =
+ * ListImportJobsRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .setFilter("filter-1274492040")
+ * .setOrderBy("orderBy-1207110587")
+ * .build();
+ * while (true) {
+ * ListImportJobsResponse response =
+ * keyManagementServiceClient.listImportJobsCallable().call(request);
+ * for (ImportJob element : response.getResponsesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ * }
+ */
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * List<String> permissions = new ArrayList<>();
- * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(resource.toString(), permissions);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * KeyRing response = keyManagementServiceClient.getKeyRing(name);
* }
- *
+ * }
*
- * @param resource REQUIRED: The resource for which the policy detail is being requested. See the
- * operation documentation for the appropriate value for this field.
- * @param permissions The set of permissions to check for the `resource`. Permissions with
- * wildcards (such as '*' or 'storage.*') are not allowed. For more information see
- * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+ * @param name Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
+ * [KeyRing][google.cloud.kms.v1.KeyRing] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final TestIamPermissionsResponse testIamPermissions(
- String resource, ListNote: This operation is designed to be used for building permission-aware UIs and - * command-line tools, not for authorization checking. This operation may "fail open" without - * warning. + * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName resource = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * List<String> permissions = new ArrayList<>();
- * TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
- * .setResource(resource.toString())
- * .addAllPermissions(permissions)
- * .build();
- * ApiFuture<TestIamPermissionsResponse> future = keyManagementServiceClient.testIamPermissionsCallable().futureCall(request);
- * // Do something
- * TestIamPermissionsResponse response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
+ * KeyRing response = keyManagementServiceClient.getKeyRing(name);
* }
- *
+ * }
+ *
+ * @param name Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
+ * [KeyRing][google.cloud.kms.v1.KeyRing] to get.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * for (KeyRing element : keyManagementServiceClient.listKeyRings(parent).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetKeyRingRequest request =
+ * GetKeyRingRequest.newBuilder()
+ * .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .build();
+ * KeyRing response = keyManagementServiceClient.getKeyRing(request);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the location associated with the
- * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListKeyRingsPagedResponse listKeyRings(LocationName parent) {
- ListKeyRingsRequest request =
- ListKeyRingsRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
- .build();
- return listKeyRings(request);
+ public final KeyRing getKeyRing(GetKeyRingRequest request) {
+ return getKeyRingCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [KeyRings][google.cloud.kms.v1.KeyRing].
+ * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * for (KeyRing element : keyManagementServiceClient.listKeyRings(parent.toString()).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetKeyRingRequest request =
+ * GetKeyRingRequest.newBuilder()
+ * .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getKeyRingCallable().futureCall(request);
+ * // Do something.
+ * KeyRing response = future.get();
* }
- *
+ * }
+ */
+ public final UnaryCallableSample code: + * + *
{@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyName name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
+ * CryptoKey response = keyManagementServiceClient.getCryptoKey(name);
+ * }
+ * }
+ *
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListKeyRingsPagedResponse listKeyRings(String parent) {
- ListKeyRingsRequest request = ListKeyRingsRequest.newBuilder().setParent(parent).build();
- return listKeyRings(request);
+ public final CryptoKey getCryptoKey(CryptoKeyName name) {
+ GetCryptoKeyRequest request =
+ GetCryptoKeyRequest.newBuilder().setName(name == null ? null : name.toString()).build();
+ return getCryptoKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [KeyRings][google.cloud.kms.v1.KeyRing].
+ * Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
+ * [primary][google.cloud.kms.v1.CryptoKey.primary]
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * ListKeyRingsRequest request = ListKeyRingsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * for (KeyRing element : keyManagementServiceClient.listKeyRings(request).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
+ * CryptoKey response = keyManagementServiceClient.getCryptoKey(name);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListKeyRingsPagedResponse listKeyRings(ListKeyRingsRequest request) {
- return listKeyRingsPagedCallable().call(request);
+ public final CryptoKey getCryptoKey(String name) {
+ GetCryptoKeyRequest request = GetCryptoKeyRequest.newBuilder().setName(name).build();
+ return getCryptoKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [KeyRings][google.cloud.kms.v1.KeyRing].
+ * Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
+ * [primary][google.cloud.kms.v1.CryptoKey.primary]
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * ListKeyRingsRequest request = ListKeyRingsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * ApiFuture<ListKeyRingsPagedResponse> future = keyManagementServiceClient.listKeyRingsPagedCallable().futureCall(request);
- * // Do something
- * for (KeyRing element : future.get().iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetCryptoKeyRequest request =
+ * GetCryptoKeyRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .build();
+ * CryptoKey response = keyManagementServiceClient.getCryptoKey(request);
* }
- *
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * ListKeyRingsRequest request = ListKeyRingsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * while (true) {
- * ListKeyRingsResponse response = keyManagementServiceClient.listKeyRingsCallable().call(request);
- * for (KeyRing element : response.getKeyRingsList()) {
- * // doThingsWith(element);
- * }
- * String nextPageToken = response.getNextPageToken();
- * if (!Strings.isNullOrEmpty(nextPageToken)) {
- * request = request.toBuilder().setPageToken(nextPageToken).build();
- * } else {
- * break;
- * }
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetCryptoKeyRequest request =
+ * GetCryptoKeyRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getCryptoKeyCallable().futureCall(request);
+ * // Do something.
+ * CryptoKey response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(parent).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyVersionName name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
+ * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(name);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
- * list, in the format `projects/*/locations/*/keyRings/*`.
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeysPagedResponse listCryptoKeys(KeyRingName parent) {
- ListCryptoKeysRequest request =
- ListCryptoKeysRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
+ public final CryptoKeyVersion getCryptoKeyVersion(CryptoKeyVersionName name) {
+ GetCryptoKeyVersionRequest request =
+ GetCryptoKeyVersionRequest.newBuilder()
+ .setName(name == null ? null : name.toString())
.build();
- return listCryptoKeys(request);
+ return getCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
+ * Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(parent.toString()).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
+ * .toString();
+ * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(name);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
- * list, in the format `projects/*/locations/*/keyRings/*`.
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeysPagedResponse listCryptoKeys(String parent) {
- ListCryptoKeysRequest request = ListCryptoKeysRequest.newBuilder().setParent(parent).build();
- return listCryptoKeys(request);
+ public final CryptoKeyVersion getCryptoKeyVersion(String name) {
+ GetCryptoKeyVersionRequest request =
+ GetCryptoKeyVersionRequest.newBuilder().setName(name).build();
+ return getCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
+ * Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListCryptoKeysRequest request = ListCryptoKeysRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * for (CryptoKey element : keyManagementServiceClient.listCryptoKeys(request).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetCryptoKeyVersionRequest request =
+ * GetCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeysPagedResponse listCryptoKeys(ListCryptoKeysRequest request) {
- return listCryptoKeysPagedCallable().call(request);
+ public final CryptoKeyVersion getCryptoKeyVersion(GetCryptoKeyVersionRequest request) {
+ return getCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
+ * Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListCryptoKeysRequest request = ListCryptoKeysRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * ApiFuture<ListCryptoKeysPagedResponse> future = keyManagementServiceClient.listCryptoKeysPagedCallable().futureCall(request);
- * // Do something
- * for (CryptoKey element : future.get().iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetCryptoKeyVersionRequest request =
+ * GetCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKeyVersion response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListCryptoKeysRequest request = ListCryptoKeysRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * while (true) {
- * ListCryptoKeysResponse response = keyManagementServiceClient.listCryptoKeysCallable().call(request);
- * for (CryptoKey element : response.getCryptoKeysList()) {
- * // doThingsWith(element);
- * }
- * String nextPageToken = response.getNextPageToken();
- * if (!Strings.isNullOrEmpty(nextPageToken)) {
- * request = request.toBuilder().setPageToken(nextPageToken).build();
- * } else {
- * break;
- * }
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyVersionName name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
+ * PublicKey response = keyManagementServiceClient.getPublicKey(name);
* }
- *
- */
- public final UnaryCallableSample code: - * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * for (CryptoKeyVersion element : keyManagementServiceClient.listCryptoKeyVersions(parent).iterateAll()) {
- * // doThingsWith(element);
- * }
- * }
- *
+ * }
*
- * @param parent Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * list, in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(CryptoKeyName parent) {
- ListCryptoKeyVersionsRequest request =
- ListCryptoKeyVersionsRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
- .build();
- return listCryptoKeyVersions(request);
+ public final PublicKey getPublicKey(CryptoKeyVersionName name) {
+ GetPublicKeyRequest request =
+ GetPublicKeyRequest.newBuilder().setName(name == null ? null : name.toString()).build();
+ return getPublicKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
+ * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
+ * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
+ * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * for (CryptoKeyVersion element : keyManagementServiceClient.listCryptoKeyVersions(parent.toString()).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
+ * .toString();
+ * PublicKey response = keyManagementServiceClient.getPublicKey(name);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * list, in the format `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(String parent) {
- ListCryptoKeyVersionsRequest request =
- ListCryptoKeyVersionsRequest.newBuilder().setParent(parent).build();
- return listCryptoKeyVersions(request);
+ public final PublicKey getPublicKey(String name) {
+ GetPublicKeyRequest request = GetPublicKeyRequest.newBuilder().setName(name).build();
+ return getPublicKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
+ * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
+ * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
+ * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ListCryptoKeyVersionsRequest request = ListCryptoKeyVersionsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * for (CryptoKeyVersion element : keyManagementServiceClient.listCryptoKeyVersions(request).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetPublicKeyRequest request =
+ * GetPublicKeyRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * PublicKey response = keyManagementServiceClient.getPublicKey(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(
- ListCryptoKeyVersionsRequest request) {
- return listCryptoKeyVersionsPagedCallable().call(request);
+ public final PublicKey getPublicKey(GetPublicKeyRequest request) {
+ return getPublicKeyCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
+ * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
+ * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
+ * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ListCryptoKeyVersionsRequest request = ListCryptoKeyVersionsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * ApiFuture<ListCryptoKeyVersionsPagedResponse> future = keyManagementServiceClient.listCryptoKeyVersionsPagedCallable().futureCall(request);
- * // Do something
- * for (CryptoKeyVersion element : future.get().iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetPublicKeyRequest request =
+ * GetPublicKeyRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getPublicKeyCallable().futureCall(request);
+ * // Do something.
+ * PublicKey response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ListCryptoKeyVersionsRequest request = ListCryptoKeyVersionsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * while (true) {
- * ListCryptoKeyVersionsResponse response = keyManagementServiceClient.listCryptoKeyVersionsCallable().call(request);
- * for (CryptoKeyVersion element : response.getCryptoKeyVersionsList()) {
- * // doThingsWith(element);
- * }
- * String nextPageToken = response.getNextPageToken();
- * if (!Strings.isNullOrEmpty(nextPageToken)) {
- * request = request.toBuilder().setPageToken(nextPageToken).build();
- * } else {
- * break;
- * }
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ImportJobName name =
+ * ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]");
+ * ImportJob response = keyManagementServiceClient.getImportJob(name);
* }
- *
+ * }
+ *
+ * @param name Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
+ * [ImportJob][google.cloud.kms.v1.ImportJob] to get.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * for (ImportJob element : keyManagementServiceClient.listImportJobs(parent).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]").toString();
+ * ImportJob response = keyManagementServiceClient.getImportJob(name);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
- * list, in the format `projects/*/locations/*/keyRings/*`.
+ * @param name Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
+ * [ImportJob][google.cloud.kms.v1.ImportJob] to get.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListImportJobsPagedResponse listImportJobs(KeyRingName parent) {
- ListImportJobsRequest request =
- ListImportJobsRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
- .build();
- return listImportJobs(request);
+ public final ImportJob getImportJob(String name) {
+ GetImportJobRequest request = GetImportJobRequest.newBuilder().setName(name).build();
+ return getImportJob(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
+ * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * for (ImportJob element : keyManagementServiceClient.listImportJobs(parent.toString()).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetImportJobRequest request =
+ * GetImportJobRequest.newBuilder()
+ * .setName(
+ * ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]")
+ * .toString())
+ * .build();
+ * ImportJob response = keyManagementServiceClient.getImportJob(request);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing] to
- * list, in the format `projects/*/locations/*/keyRings/*`.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ListImportJobsPagedResponse listImportJobs(String parent) {
- ListImportJobsRequest request = ListImportJobsRequest.newBuilder().setParent(parent).build();
- return listImportJobs(request);
+ public final ImportJob getImportJob(GetImportJobRequest request) {
+ return getImportJobCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
+ * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListImportJobsRequest request = ListImportJobsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * for (ImportJob element : keyManagementServiceClient.listImportJobs(request).iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetImportJobRequest request =
+ * GetImportJobRequest.newBuilder()
+ * .setName(
+ * ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getImportJobCallable().futureCall(request);
+ * // Do something.
+ * ImportJob response = future.get();
* }
- *
- *
- * @param request The request object containing all of the parameters for the API call.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final ListImportJobsPagedResponse listImportJobs(ListImportJobsRequest request) {
- return listImportJobsPagedCallable().call(request);
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListImportJobsRequest request = ListImportJobsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * ApiFuture<ListImportJobsPagedResponse> future = keyManagementServiceClient.listImportJobsPagedCallable().futureCall(request);
- * // Do something
- * for (ImportJob element : future.get().iterateAll()) {
- * // doThingsWith(element);
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+ * String keyRingId = "keyRingId-2027180374";
+ * KeyRing keyRing = KeyRing.newBuilder().build();
+ * KeyRing response = keyManagementServiceClient.createKeyRing(parent, keyRingId, keyRing);
* }
- *
+ * }
+ *
+ * @param parent Required. The resource name of the location associated with the
+ * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
+ * @param keyRingId Required. It must be unique within a location and match the regular expression
+ * `[a-zA-Z0-9_-]{1,63}`
+ * @param keyRing Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * ListImportJobsRequest request = ListImportJobsRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * while (true) {
- * ListImportJobsResponse response = keyManagementServiceClient.listImportJobsCallable().call(request);
- * for (ImportJob element : response.getImportJobsList()) {
- * // doThingsWith(element);
- * }
- * String nextPageToken = response.getNextPageToken();
- * if (!Strings.isNullOrEmpty(nextPageToken)) {
- * request = request.toBuilder().setPageToken(nextPageToken).build();
- * } else {
- * break;
- * }
- * }
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+ * String keyRingId = "keyRingId-2027180374";
+ * KeyRing keyRing = KeyRing.newBuilder().build();
+ * KeyRing response = keyManagementServiceClient.createKeyRing(parent, keyRingId, keyRing);
* }
- *
+ * }
+ *
+ * @param parent Required. The resource name of the location associated with the
+ * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
+ * @param keyRingId Required. It must be unique within a location and match the regular expression
+ * `[a-zA-Z0-9_-]{1,63}`
+ * @param keyRing Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * KeyRing response = keyManagementServiceClient.getKeyRing(name);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CreateKeyRingRequest request =
+ * CreateKeyRingRequest.newBuilder()
+ * .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+ * .setKeyRingId("keyRingId-2027180374")
+ * .setKeyRing(KeyRing.newBuilder().build())
+ * .build();
+ * KeyRing response = keyManagementServiceClient.createKeyRing(request);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
- * [KeyRing][google.cloud.kms.v1.KeyRing] to get.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final KeyRing getKeyRing(KeyRingName name) {
- GetKeyRingRequest request =
- GetKeyRingRequest.newBuilder().setName(name == null ? null : name.toString()).build();
- return getKeyRing(request);
+ public final KeyRing createKeyRing(CreateKeyRingRequest request) {
+ return createKeyRingCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
+ * Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * KeyRing response = keyManagementServiceClient.getKeyRing(name.toString());
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CreateKeyRingRequest request =
+ * CreateKeyRingRequest.newBuilder()
+ * .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+ * .setKeyRingId("keyRingId-2027180374")
+ * .setKeyRing(KeyRing.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.createKeyRingCallable().futureCall(request);
+ * // Do something.
+ * KeyRing response = future.get();
* }
- *
- *
- * @param name Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
- * [KeyRing][google.cloud.kms.v1.KeyRing] to get.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final KeyRing getKeyRing(String name) {
- GetKeyRingRequest request = GetKeyRingRequest.newBuilder().setName(name).build();
- return getKeyRing(request);
+ public final UnaryCallable[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and + * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] + * are required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * GetKeyRingRequest request = GetKeyRingRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * KeyRing response = keyManagementServiceClient.getKeyRing(request);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated
+ * with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
+ * @param cryptoKeyId Required. It must be unique within a KeyRing and match the regular
+ * expression `[a-zA-Z0-9_-]{1,63}`
+ * @param cryptoKey Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field
+ * values.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final KeyRing getKeyRing(GetKeyRingRequest request) {
- return getKeyRingCallable().call(request);
+ public final CryptoKey createCryptoKey(
+ KeyRingName parent, String cryptoKeyId, CryptoKey cryptoKey) {
+ CreateCryptoKeyRequest request =
+ CreateCryptoKeyRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setCryptoKeyId(cryptoKeyId)
+ .setCryptoKey(cryptoKey)
+ .build();
+ return createCryptoKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
+ * Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
+ * [KeyRing][google.cloud.kms.v1.KeyRing].
+ *
+ * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and + * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] + * are required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * GetKeyRingRequest request = GetKeyRingRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<KeyRing> future = keyManagementServiceClient.getKeyRingCallable().futureCall(request);
- * // Do something
- * KeyRing response = future.get();
+ * {@code
+ * 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);
* }
- *
+ * }
+ *
+ * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing associated
+ * with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
+ * @param cryptoKeyId Required. It must be unique within a KeyRing and match the regular
+ * expression `[a-zA-Z0-9_-]{1,63}`
+ * @param cryptoKey Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field
+ * values.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallable[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and + * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] + * are required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKey response = keyManagementServiceClient.getCryptoKey(name);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
- * [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey getCryptoKey(CryptoKeyName name) {
- GetCryptoKeyRequest request =
- GetCryptoKeyRequest.newBuilder().setName(name == null ? null : name.toString()).build();
- return getCryptoKey(request);
+ public final CryptoKey createCryptoKey(CreateCryptoKeyRequest request) {
+ return createCryptoKeyCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
- * [primary][google.cloud.kms.v1.CryptoKey.primary]
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
+ * [KeyRing][google.cloud.kms.v1.KeyRing].
+ *
+ * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and + * [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm] + * are required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKey response = keyManagementServiceClient.getCryptoKey(name.toString());
+ * {@code
+ * 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 future =
+ * keyManagementServiceClient.createCryptoKeyCallable().futureCall(request);
+ * // Do something.
+ * CryptoKey response = future.get();
* }
- *
- *
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
- * [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final CryptoKey getCryptoKey(String name) {
- GetCryptoKeyRequest request = GetCryptoKeyRequest.newBuilder().setName(name).build();
- return getCryptoKey(request);
+ public final UnaryCallableThe server will assign the next sequential id. If unset, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * GetCryptoKeyRequest request = GetCryptoKeyRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * CryptoKey response = keyManagementServiceClient.getCryptoKey(request);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param parent Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
+ * [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
+ * @param cryptoKeyVersion Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
+ * with initial field values.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey getCryptoKey(GetCryptoKeyRequest request) {
- return getCryptoKeyCallable().call(request);
+ public final CryptoKeyVersion createCryptoKeyVersion(
+ CryptoKeyName parent, CryptoKeyVersion cryptoKeyVersion) {
+ CreateCryptoKeyVersionRequest request =
+ CreateCryptoKeyVersionRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setCryptoKeyVersion(cryptoKeyVersion)
+ .build();
+ return createCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its
- * [primary][google.cloud.kms.v1.CryptoKey.primary]
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey].
+ *
+ * The server will assign the next sequential id. If unset, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * GetCryptoKeyRequest request = GetCryptoKeyRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<CryptoKey> future = keyManagementServiceClient.getCryptoKeyCallable().futureCall(request);
- * // Do something
- * CryptoKey response = future.get();
+ * {@code
+ * 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);
* }
- *
+ * }
+ *
+ * @param parent Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
+ * [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
+ * @param cryptoKeyVersion Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
+ * with initial field values.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableThe server will assign the next sequential id. If unset, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(name);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion getCryptoKeyVersion(CryptoKeyVersionName name) {
- GetCryptoKeyVersionRequest request =
- GetCryptoKeyVersionRequest.newBuilder()
- .setName(name == null ? null : name.toString())
- .build();
- return getCryptoKeyVersion(request);
+ public final CryptoKeyVersion createCryptoKeyVersion(CreateCryptoKeyVersionRequest request) {
+ return createCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey].
+ *
+ * The server will assign the next sequential id. If unset, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(name.toString());
+ * {@code
+ * 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 future =
+ * keyManagementServiceClient.createCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKeyVersion response = future.get();
* }
- *
- *
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final CryptoKeyVersion getCryptoKeyVersion(String name) {
- GetCryptoKeyVersionRequest request =
- GetCryptoKeyVersionRequest.newBuilder().setName(name).build();
- return getCryptoKeyVersion(request);
+ public final UnaryCallableThe version ID will be assigned the next sequential id within the + * [CryptoKey][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * GetCryptoKeyVersionRequest request = GetCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.getCryptoKeyVersion(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ImportCryptoKeyVersionRequest request =
+ * ImportCryptoKeyVersionRequest.newBuilder()
+ * .setParent(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setImportJob("importJob-208547368")
+ * .build();
+ * CryptoKeyVersion response = keyManagementServiceClient.importCryptoKeyVersion(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion getCryptoKeyVersion(GetCryptoKeyVersionRequest request) {
- return getCryptoKeyVersionCallable().call(request);
+ public final CryptoKeyVersion importCryptoKeyVersion(ImportCryptoKeyVersionRequest request) {
+ return importCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
+ * Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing
+ * [CryptoKey][google.cloud.kms.v1.CryptoKey] using the wrapped key material provided in the
+ * request.
+ *
+ * The version ID will be assigned the next sequential id within the + * [CryptoKey][google.cloud.kms.v1.CryptoKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * GetCryptoKeyVersionRequest request = GetCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.getCryptoKeyVersionCallable().futureCall(request);
- * // Do something
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ImportCryptoKeyVersionRequest request =
+ * ImportCryptoKeyVersionRequest.newBuilder()
+ * .setParent(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setImportJob("importJob-208547368")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.importCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
* CryptoKeyVersion response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallable[ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * PublicKey response = keyManagementServiceClient.getPublicKey(name);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * String importJobId = "importJobId1449444627";
+ * ImportJob importJob = ImportJob.newBuilder().build();
+ * ImportJob response =
+ * keyManagementServiceClient.createImportJob(parent, importJobId, importJob);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
+ * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
+ * [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
+ * [ImportJobs][google.cloud.kms.v1.ImportJob].
+ * @param importJobId Required. It must be unique within a KeyRing and match the regular
+ * expression `[a-zA-Z0-9_-]{1,63}`
+ * @param importJob Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field
+ * values.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final PublicKey getPublicKey(CryptoKeyVersionName name) {
- GetPublicKeyRequest request =
- GetPublicKeyRequest.newBuilder().setName(name == null ? null : name.toString()).build();
- return getPublicKey(request);
+ public final ImportJob createImportJob(
+ KeyRingName parent, String importJobId, ImportJob importJob) {
+ CreateImportJobRequest request =
+ CreateImportJobRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .setImportJobId(importJobId)
+ .setImportJob(importJob)
+ .build();
+ return createImportJob(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
- * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
- * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
+ * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
+ * [KeyRing][google.cloud.kms.v1.KeyRing].
+ *
+ * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * PublicKey response = keyManagementServiceClient.getPublicKey(name.toString());
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
+ * String importJobId = "importJobId1449444627";
+ * ImportJob importJob = ImportJob.newBuilder().build();
+ * ImportJob response =
+ * keyManagementServiceClient.createImportJob(parent, importJobId, importJob);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
+ * @param parent Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
+ * [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
+ * [ImportJobs][google.cloud.kms.v1.ImportJob].
+ * @param importJobId Required. It must be unique within a KeyRing and match the regular
+ * expression `[a-zA-Z0-9_-]{1,63}`
+ * @param importJob Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field
+ * values.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final PublicKey getPublicKey(String name) {
- GetPublicKeyRequest request = GetPublicKeyRequest.newBuilder().setName(name).build();
- return getPublicKey(request);
+ public final ImportJob createImportJob(String parent, String importJobId, ImportJob importJob) {
+ CreateImportJobRequest request =
+ CreateImportJobRequest.newBuilder()
+ .setParent(parent)
+ .setImportJobId(importJobId)
+ .setImportJob(importJob)
+ .build();
+ return createImportJob(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
- * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
- * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
+ * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
+ * [KeyRing][google.cloud.kms.v1.KeyRing].
+ *
+ * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * GetPublicKeyRequest request = GetPublicKeyRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * PublicKey response = keyManagementServiceClient.getPublicKey(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CreateImportJobRequest request =
+ * CreateImportJobRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setImportJobId("importJobId1449444627")
+ * .setImportJob(ImportJob.newBuilder().build())
+ * .build();
+ * ImportJob response = keyManagementServiceClient.createImportJob(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final PublicKey getPublicKey(GetPublicKeyRequest request) {
- return getPublicKeyCallable().call(request);
+ public final ImportJob createImportJob(CreateImportJobRequest request) {
+ return createImportJobCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns the public key for the given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
- * The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN] or
- * [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
+ * Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
+ * [KeyRing][google.cloud.kms.v1.KeyRing].
+ *
+ * [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is required. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * GetPublicKeyRequest request = GetPublicKeyRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<PublicKey> future = keyManagementServiceClient.getPublicKeyCallable().futureCall(request);
- * // Do something
- * PublicKey response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CreateImportJobRequest request =
+ * CreateImportJobRequest.newBuilder()
+ * .setParent(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setImportJobId("importJobId1449444627")
+ * .setImportJob(ImportJob.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.createImportJobCallable().futureCall(request);
+ * // Do something.
+ * ImportJob response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]");
- * ImportJob response = keyManagementServiceClient.getImportJob(name);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKey cryptoKey = CryptoKey.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * CryptoKey response = keyManagementServiceClient.updateCryptoKey(cryptoKey, updateMask);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
- * [ImportJob][google.cloud.kms.v1.ImportJob] to get.
+ * @param cryptoKey Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
+ * @param updateMask Required. List of fields to be updated in this request.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ImportJob getImportJob(ImportJobName name) {
- GetImportJobRequest request =
- GetImportJobRequest.newBuilder().setName(name == null ? null : name.toString()).build();
- return getImportJob(request);
+ public final CryptoKey updateCryptoKey(CryptoKey cryptoKey, FieldMask updateMask) {
+ UpdateCryptoKeyRequest request =
+ UpdateCryptoKeyRequest.newBuilder()
+ .setCryptoKey(cryptoKey)
+ .setUpdateMask(updateMask)
+ .build();
+ return updateCryptoKey(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
+ * Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]");
- * ImportJob response = keyManagementServiceClient.getImportJob(name.toString());
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyRequest request =
+ * UpdateCryptoKeyRequest.newBuilder()
+ * .setCryptoKey(CryptoKey.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .build();
+ * CryptoKey response = keyManagementServiceClient.updateCryptoKey(request);
* }
- *
+ * }
*
- * @param name Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
- * [ImportJob][google.cloud.kms.v1.ImportJob] to get.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final ImportJob getImportJob(String name) {
- GetImportJobRequest request = GetImportJobRequest.newBuilder().setName(name).build();
- return getImportJob(request);
+ public final CryptoKey updateCryptoKey(UpdateCryptoKeyRequest request) {
+ return updateCryptoKeyCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
+ * Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]");
- * GetImportJobRequest request = GetImportJobRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ImportJob response = keyManagementServiceClient.getImportJob(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyRequest request =
+ * UpdateCryptoKeyRequest.newBuilder()
+ * .setCryptoKey(CryptoKey.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.updateCryptoKeyCallable().futureCall(request);
+ * // Do something.
+ * CryptoKey response = future.get();
* }
- *
- *
- * @param request The request object containing all of the parameters for the API call.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final ImportJob getImportJob(GetImportJobRequest request) {
- return getImportJobCallable().call(request);
+ public final UnaryCallable[state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this + * method. See + * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to + * move between other states. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]");
- * GetImportJobRequest request = GetImportJobRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<ImportJob> future = keyManagementServiceClient.getImportJobCallable().futureCall(request);
- * // Do something
- * ImportJob response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * CryptoKeyVersion response =
+ * keyManagementServiceClient.updateCryptoKeyVersion(cryptoKeyVersion, updateMask);
* }
- *
+ * }
+ *
+ * @param cryptoKeyVersion Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
+ * updated values.
+ * @param updateMask Required. List of fields to be updated in this request.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallable[state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this + * method. See + * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to + * move between other states. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * String keyRingId = "";
- * KeyRing keyRing = KeyRing.newBuilder().build();
- * KeyRing response = keyManagementServiceClient.createKeyRing(parent, keyRingId, keyRing);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyVersionRequest request =
+ * UpdateCryptoKeyVersionRequest.newBuilder()
+ * .setCryptoKeyVersion(CryptoKeyVersion.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .build();
+ * CryptoKeyVersion response = keyManagementServiceClient.updateCryptoKeyVersion(request);
* }
- *
+ * }
*
- * @param parent Required. The resource name of the location associated with the
- * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
- * @param keyRingId Required. It must be unique within a location and match the regular expression
- * `[a-zA-Z0-9_-]{1,63}`
- * @param keyRing Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final KeyRing createKeyRing(LocationName parent, String keyRingId, KeyRing keyRing) {
- CreateKeyRingRequest request =
- CreateKeyRingRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
- .setKeyRingId(keyRingId)
- .setKeyRing(keyRing)
- .build();
- return createKeyRing(request);
+ public final CryptoKeyVersion updateCryptoKeyVersion(UpdateCryptoKeyVersionRequest request) {
+ return updateCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location.
+ * Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
+ *
+ * [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between + * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this + * method. See + * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to + * move between other states. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * String keyRingId = "";
- * KeyRing keyRing = KeyRing.newBuilder().build();
- * KeyRing response = keyManagementServiceClient.createKeyRing(parent.toString(), keyRingId, keyRing);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyVersionRequest request =
+ * UpdateCryptoKeyVersionRequest.newBuilder()
+ * .setCryptoKeyVersion(CryptoKeyVersion.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.updateCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKeyVersion response = future.get();
* }
- *
- *
- * @param parent Required. The resource name of the location associated with the
- * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`.
- * @param keyRingId Required. It must be unique within a location and match the regular expression
- * `[a-zA-Z0-9_-]{1,63}`
- * @param keyRing Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field values.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ * }
*/
- public final KeyRing createKeyRing(String parent, String keyRingId, KeyRing keyRing) {
- CreateKeyRingRequest request =
- CreateKeyRingRequest.newBuilder()
- .setParent(parent)
- .setKeyRingId(keyRingId)
- .setKeyRing(keyRing)
- .build();
- return createKeyRing(request);
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * String keyRingId = "";
- * KeyRing keyRing = KeyRing.newBuilder().build();
- * CreateKeyRingRequest request = CreateKeyRingRequest.newBuilder()
- * .setParent(parent.toString())
- * .setKeyRingId(keyRingId)
- * .setKeyRing(keyRing)
- * .build();
- * KeyRing response = keyManagementServiceClient.createKeyRing(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * ResourceName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * ByteString plaintext = ByteString.EMPTY;
+ * EncryptResponse response = keyManagementServiceClient.encrypt(name, plaintext);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
+ * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its + * [primary version][google.cloud.kms.v1.CryptoKey.primary]. + * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. + *
The maximum size depends on the key version's + * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For + * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no + * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined + * length of the plaintext and additional_authenticated_data fields must be no larger than + * 8KiB. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ - public final KeyRing createKeyRing(CreateKeyRingRequest request) { - return createKeyRingCallable().call(request); - } - - // AUTO-GENERATED DOCUMENTATION AND METHOD - /** - * Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location. - * - *
Sample code: - * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
- * String keyRingId = "";
- * KeyRing keyRing = KeyRing.newBuilder().build();
- * CreateKeyRingRequest request = CreateKeyRingRequest.newBuilder()
- * .setParent(parent.toString())
- * .setKeyRingId(keyRingId)
- * .setKeyRing(keyRing)
- * .build();
- * ApiFuture<KeyRing> future = keyManagementServiceClient.createKeyRingCallable().futureCall(request);
- * // Do something
- * KeyRing response = future.get();
- * }
- *
- */
- public final UnaryCallableThe server will assign the next sequential id. If unset, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. + * Encrypts data, so that it can only be recovered by a call to + * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be + * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. * *
Sample code: * *
* 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);
+ * CryptoKeyPathName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
+ * ByteString plaintext = ByteString.copyFromUtf8("");
+ * EncryptResponse response = keyManagementServiceClient.encrypt(name, plaintext);
* }
*
*
- * @param parent Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
- * [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
- * [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
- * @param cryptoKeyVersion Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
- * with initial field values.
+ * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
+ * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its + * [primary version][google.cloud.kms.v1.CryptoKey.primary]. + * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. + *
The maximum size depends on the key version's + * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For + * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no + * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined + * length of the plaintext and additional_authenticated_data fields must be no larger than + * 8KiB. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ - public final CryptoKeyVersion createCryptoKeyVersion( - CryptoKeyName parent, CryptoKeyVersion cryptoKeyVersion) { - CreateCryptoKeyVersionRequest request = - CreateCryptoKeyVersionRequest.newBuilder() - .setParent(parent == null ? null : parent.toString()) - .setCryptoKeyVersion(cryptoKeyVersion) + public final EncryptResponse encrypt(CryptoKeyPathName name, ByteString plaintext) { + EncryptRequest request = + EncryptRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .setPlaintext(plaintext) .build(); - return createCryptoKeyVersion(request); + return encrypt(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a - * [CryptoKey][google.cloud.kms.v1.CryptoKey]. - * - *
The server will assign the next sequential id. If unset, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. + * Encrypts data, so that it can only be recovered by a call to + * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be + * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. * *
Sample code: * - *
- * 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.toString(), cryptoKeyVersion);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
+ * ByteString plaintext = ByteString.EMPTY;
+ * EncryptResponse response = keyManagementServiceClient.encrypt(name, plaintext);
* }
- *
+ * }
*
- * @param parent Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
- * [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
- * [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
- * @param cryptoKeyVersion Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
- * with initial field values.
+ * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
+ * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its + * [primary version][google.cloud.kms.v1.CryptoKey.primary]. + * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. + *
The maximum size depends on the key version's + * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For + * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no + * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined + * length of the plaintext and additional_authenticated_data fields must be no larger than + * 8KiB. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ - public final CryptoKeyVersion createCryptoKeyVersion( - String parent, CryptoKeyVersion cryptoKeyVersion) { - CreateCryptoKeyVersionRequest request = - CreateCryptoKeyVersionRequest.newBuilder() - .setParent(parent) - .setCryptoKeyVersion(cryptoKeyVersion) - .build(); - return createCryptoKeyVersion(request); + public final EncryptResponse encrypt(String name, ByteString plaintext) { + EncryptRequest request = + EncryptRequest.newBuilder().setName(name).setPlaintext(plaintext).build(); + return encrypt(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a - * [CryptoKey][google.cloud.kms.v1.CryptoKey]. - * - *
The server will assign the next sequential id. If unset, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. + * Encrypts data, so that it can only be recovered by a call to + * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be + * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
- * CreateCryptoKeyVersionRequest request = CreateCryptoKeyVersionRequest.newBuilder()
- * .setParent(parent.toString())
- * .setCryptoKeyVersion(cryptoKeyVersion)
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.createCryptoKeyVersion(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * EncryptRequest request =
+ * EncryptRequest.newBuilder()
+ * .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPlaintext(ByteString.EMPTY)
+ * .setAdditionalAuthenticatedData(ByteString.EMPTY)
+ * .setPlaintextCrc32C(Int64Value.newBuilder().build())
+ * .setAdditionalAuthenticatedDataCrc32C(Int64Value.newBuilder().build())
+ * .build();
+ * EncryptResponse response = keyManagementServiceClient.encrypt(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion createCryptoKeyVersion(CreateCryptoKeyVersionRequest request) {
- return createCryptoKeyVersionCallable().call(request);
+ public final EncryptResponse encrypt(EncryptRequest request) {
+ return encryptCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
- * [CryptoKey][google.cloud.kms.v1.CryptoKey].
- *
- * The server will assign the next sequential id. If unset, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]. + * Encrypts data, so that it can only be recovered by a call to + * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be + * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
- * CreateCryptoKeyVersionRequest request = CreateCryptoKeyVersionRequest.newBuilder()
- * .setParent(parent.toString())
- * .setCryptoKeyVersion(cryptoKeyVersion)
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.createCryptoKeyVersionCallable().futureCall(request);
- * // Do something
- * CryptoKeyVersion response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * EncryptRequest request =
+ * EncryptRequest.newBuilder()
+ * .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPlaintext(ByteString.EMPTY)
+ * .setAdditionalAuthenticatedData(ByteString.EMPTY)
+ * .setPlaintextCrc32C(Int64Value.newBuilder().build())
+ * .setAdditionalAuthenticatedDataCrc32C(Int64Value.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.encryptCallable().futureCall(request);
+ * // Do something.
+ * EncryptResponse response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableThe version ID will be assigned the next sequential id within the - * [CryptoKey][google.cloud.kms.v1.CryptoKey]. + * Decrypts data that was protected by + * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be + * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = CryptoKeyVersion.CryptoKeyVersionAlgorithm.CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED;
- * String importJob = "";
- * ImportCryptoKeyVersionRequest request = ImportCryptoKeyVersionRequest.newBuilder()
- * .setParent(parent.toString())
- * .setAlgorithm(algorithm)
- * .setImportJob(importJob)
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.importCryptoKeyVersion(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyName name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
+ * ByteString ciphertext = ByteString.EMPTY;
+ * DecryptResponse response = keyManagementServiceClient.decrypt(name, ciphertext);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
+ * use for decryption. The server will choose the appropriate version.
+ * @param ciphertext Required. The encrypted data originally returned in
+ * [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion importCryptoKeyVersion(ImportCryptoKeyVersionRequest request) {
- return importCryptoKeyVersionCallable().call(request);
- }
-
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Imports a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] into an existing
- * [CryptoKey][google.cloud.kms.v1.CryptoKey] using the wrapped key material provided in the
- * request.
- *
- * The version ID will be assigned the next sequential id within the - * [CryptoKey][google.cloud.kms.v1.CryptoKey]. - * - *
Sample code: - * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = CryptoKeyVersion.CryptoKeyVersionAlgorithm.CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED;
- * String importJob = "";
- * ImportCryptoKeyVersionRequest request = ImportCryptoKeyVersionRequest.newBuilder()
- * .setParent(parent.toString())
- * .setAlgorithm(algorithm)
- * .setImportJob(importJob)
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.importCryptoKeyVersionCallable().futureCall(request);
- * // Do something
- * CryptoKeyVersion response = future.get();
- * }
- *
- */
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKey cryptoKey = CryptoKey.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * CryptoKey response = keyManagementServiceClient.updateCryptoKey(cryptoKey, updateMask);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
+ * ByteString ciphertext = ByteString.EMPTY;
+ * DecryptResponse response = keyManagementServiceClient.decrypt(name, ciphertext);
* }
- *
+ * }
*
- * @param cryptoKey Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
- * @param updateMask Required. List of fields to be updated in this request.
+ * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
+ * use for decryption. The server will choose the appropriate version.
+ * @param ciphertext Required. The encrypted data originally returned in
+ * [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey updateCryptoKey(CryptoKey cryptoKey, FieldMask updateMask) {
- UpdateCryptoKeyRequest request =
- UpdateCryptoKeyRequest.newBuilder()
- .setCryptoKey(cryptoKey)
- .setUpdateMask(updateMask)
- .build();
- return updateCryptoKey(request);
+ public final DecryptResponse decrypt(String name, ByteString ciphertext) {
+ DecryptRequest request =
+ DecryptRequest.newBuilder().setName(name).setCiphertext(ciphertext).build();
+ return decrypt(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
+ * Decrypts data that was protected by
+ * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
+ * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
+ * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKey cryptoKey = CryptoKey.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * UpdateCryptoKeyRequest request = UpdateCryptoKeyRequest.newBuilder()
- * .setCryptoKey(cryptoKey)
- * .setUpdateMask(updateMask)
- * .build();
- * CryptoKey response = keyManagementServiceClient.updateCryptoKey(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * DecryptRequest request =
+ * DecryptRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setCiphertext(ByteString.EMPTY)
+ * .setAdditionalAuthenticatedData(ByteString.EMPTY)
+ * .setCiphertextCrc32C(Int64Value.newBuilder().build())
+ * .setAdditionalAuthenticatedDataCrc32C(Int64Value.newBuilder().build())
+ * .build();
+ * DecryptResponse response = keyManagementServiceClient.decrypt(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey updateCryptoKey(UpdateCryptoKeyRequest request) {
- return updateCryptoKeyCallable().call(request);
+ public final DecryptResponse decrypt(DecryptRequest request) {
+ return decryptCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
+ * Decrypts data that was protected by
+ * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
+ * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
+ * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKey cryptoKey = CryptoKey.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * UpdateCryptoKeyRequest request = UpdateCryptoKeyRequest.newBuilder()
- * .setCryptoKey(cryptoKey)
- * .setUpdateMask(updateMask)
- * .build();
- * ApiFuture<CryptoKey> future = keyManagementServiceClient.updateCryptoKeyCallable().futureCall(request);
- * // Do something
- * CryptoKey response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * DecryptRequest request =
+ * DecryptRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setCiphertext(ByteString.EMPTY)
+ * .setAdditionalAuthenticatedData(ByteString.EMPTY)
+ * .setCiphertextCrc32C(Int64Value.newBuilder().build())
+ * .setAdditionalAuthenticatedDataCrc32C(Int64Value.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.decryptCallable().futureCall(request);
+ * // Do something.
+ * DecryptResponse response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallable[state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this - * method. See - * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to - * move between other states. + * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a + * signature that can be verified with the public key retrieved from + * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * CryptoKeyVersion response = keyManagementServiceClient.updateCryptoKeyVersion(cryptoKeyVersion, updateMask);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param cryptoKeyVersion Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * updated values.
- * @param updateMask Required. List of fields to be updated in this request.
+ * @param name Required. The resource name of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
+ * @param digest Required. 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][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion updateCryptoKeyVersion(
- CryptoKeyVersion cryptoKeyVersion, FieldMask updateMask) {
- UpdateCryptoKeyVersionRequest request =
- UpdateCryptoKeyVersionRequest.newBuilder()
- .setCryptoKeyVersion(cryptoKeyVersion)
- .setUpdateMask(updateMask)
+ public final AsymmetricSignResponse asymmetricSign(CryptoKeyVersionName name, Digest digest) {
+ AsymmetricSignRequest request =
+ AsymmetricSignRequest.newBuilder()
+ .setName(name == null ? null : name.toString())
+ .setDigest(digest)
.build();
- return updateCryptoKeyVersion(request);
+ return asymmetricSign(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
- *
- * [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this - * method. See - * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to - * move between other states. + * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a + * signature that can be verified with the public key retrieved from + * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * UpdateCryptoKeyVersionRequest request = UpdateCryptoKeyVersionRequest.newBuilder()
- * .setCryptoKeyVersion(cryptoKeyVersion)
- * .setUpdateMask(updateMask)
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.updateCryptoKeyVersion(request);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param name Required. The resource name of the
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
+ * @param digest Required. 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][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion updateCryptoKeyVersion(UpdateCryptoKeyVersionRequest request) {
- return updateCryptoKeyVersionCallable().call(request);
+ public final AsymmetricSignResponse asymmetricSign(String name, Digest digest) {
+ AsymmetricSignRequest request =
+ AsymmetricSignRequest.newBuilder().setName(name).setDigest(digest).build();
+ return asymmetricSign(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s metadata.
- *
- * [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between - * [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] and - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED] using this - * method. See - * [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion] and - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] to - * move between other states. + * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a + * signature that can be verified with the public key retrieved from + * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
- * FieldMask updateMask = FieldMask.newBuilder().build();
- * UpdateCryptoKeyVersionRequest request = UpdateCryptoKeyVersionRequest.newBuilder()
- * .setCryptoKeyVersion(cryptoKeyVersion)
- * .setUpdateMask(updateMask)
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.updateCryptoKeyVersionCallable().futureCall(request);
- * // Do something
- * CryptoKeyVersion response = future.get();
+ * {@code
+ * 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())
+ * .build();
+ * AsymmetricSignResponse response = keyManagementServiceClient.asymmetricSign(request);
* }
- *
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString plaintext = ByteString.copyFromUtf8("");
- * EncryptResponse response = keyManagementServiceClient.encrypt(name, plaintext);
- * }
- *
- *
- * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
- * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its - * [primary version][google.cloud.kms.v1.CryptoKey.primary]. - * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. - *
The maximum size depends on the key version's - * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For - * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no - * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined - * length of the plaintext and additional_authenticated_data fields must be no larger than - * 8KiB. - * @throws com.google.api.gax.rpc.ApiException if the remote call fails + *
{@code
+ * 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())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.asymmetricSignCallable().futureCall(request);
+ * // Do something.
+ * AsymmetricSignResponse response = future.get();
+ * }
+ * }
*/
- public final EncryptResponse encrypt(ResourceName name, ByteString plaintext) {
- EncryptRequest request =
- EncryptRequest.newBuilder()
- .setName(name == null ? null : name.toString())
- .setPlaintext(plaintext)
- .build();
- return encrypt(request);
+ public final UnaryCallableSample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyPathName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString plaintext = ByteString.copyFromUtf8("");
- * EncryptResponse response = keyManagementServiceClient.encrypt(name, plaintext);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
- * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its - * [primary version][google.cloud.kms.v1.CryptoKey.primary]. - * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. - *
The maximum size depends on the key version's - * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For - * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no - * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined - * length of the plaintext and additional_authenticated_data fields must be no larger than - * 8KiB. + * @param name Required. The resource name of the + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for decryption. + * @param ciphertext Required. The data encrypted with the named + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using OAEP. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ - public final EncryptResponse encrypt(CryptoKeyPathName name, ByteString plaintext) { - EncryptRequest request = - EncryptRequest.newBuilder() + public final AsymmetricDecryptResponse asymmetricDecrypt( + CryptoKeyVersionName name, ByteString ciphertext) { + AsymmetricDecryptRequest request = + AsymmetricDecryptRequest.newBuilder() .setName(name == null ? null : name.toString()) - .setPlaintext(plaintext) + .setCiphertext(ciphertext) .build(); - return encrypt(request); + return asymmetricDecrypt(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Encrypts data, so that it can only be recovered by a call to - * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The - * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be - * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. + * Decrypts data that was encrypted with a public key retrieved from + * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString plaintext = ByteString.copyFromUtf8("");
- * EncryptResponse response = keyManagementServiceClient.encrypt(name.toString(), plaintext);
+ * {@code
+ * 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);
* }
- *
+ * }
*
- * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] or
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for encryption.
- * If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server will use its - * [primary version][google.cloud.kms.v1.CryptoKey.primary]. - * @param plaintext Required. The data to encrypt. Must be no larger than 64KiB. - *
The maximum size depends on the key version's - * [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]. For - * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the plaintext must be no - * larger than 64KiB. For [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined - * length of the plaintext and additional_authenticated_data fields must be no larger than - * 8KiB. + * @param name Required. The resource name of the + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for decryption. + * @param ciphertext Required. The data encrypted with the named + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using OAEP. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ - public final EncryptResponse encrypt(String name, ByteString plaintext) { - EncryptRequest request = - EncryptRequest.newBuilder().setName(name).setPlaintext(plaintext).build(); - return encrypt(request); + public final AsymmetricDecryptResponse asymmetricDecrypt(String name, ByteString ciphertext) { + AsymmetricDecryptRequest request = + AsymmetricDecryptRequest.newBuilder().setName(name).setCiphertext(ciphertext).build(); + return asymmetricDecrypt(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Encrypts data, so that it can only be recovered by a call to - * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The - * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be - * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]. + * Decrypts data that was encrypted with a public key retrieved from + * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a + * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with + * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString plaintext = ByteString.copyFromUtf8("");
- * EncryptRequest request = EncryptRequest.newBuilder()
- * .setName(name.toString())
- * .setPlaintext(plaintext)
- * .build();
- * EncryptResponse response = keyManagementServiceClient.encrypt(request);
+ * {@code
+ * 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);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final EncryptResponse encrypt(EncryptRequest request) {
- return encryptCallable().call(request);
+ public final AsymmetricDecryptResponse asymmetricDecrypt(AsymmetricDecryptRequest request) {
+ return asymmetricDecryptCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Encrypts data, so that it can only be recovered by a call to
- * [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
+ * Decrypts data that was encrypted with a public key retrieved from
+ * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
+ * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
*
* Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString plaintext = ByteString.copyFromUtf8("");
- * EncryptRequest request = EncryptRequest.newBuilder()
- * .setName(name.toString())
- * .setPlaintext(plaintext)
- * .build();
- * ApiFuture<EncryptResponse> future = keyManagementServiceClient.encryptCallable().futureCall(request);
- * // Do something
- * EncryptResponse response = future.get();
+ * {@code
+ * 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 future =
+ * keyManagementServiceClient.asymmetricDecryptCallable().futureCall(request);
+ * // Do something.
+ * AsymmetricDecryptResponse response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableReturns an error if called on an asymmetric key. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * DecryptResponse response = keyManagementServiceClient.decrypt(name, ciphertext);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyName name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
+ * String cryptoKeyVersionId = "cryptoKeyVersionId987674581";
+ * CryptoKey response =
+ * keyManagementServiceClient.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId);
* }
- *
+ * }
*
* @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * use for decryption. The server will choose the appropriate version.
- * @param ciphertext Required. The encrypted data originally returned in
- * [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
+ * update.
+ * @param cryptoKeyVersionId Required. The id of the child
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final DecryptResponse decrypt(CryptoKeyName name, ByteString ciphertext) {
- DecryptRequest request =
- DecryptRequest.newBuilder()
+ public final CryptoKey updateCryptoKeyPrimaryVersion(
+ CryptoKeyName name, String cryptoKeyVersionId) {
+ UpdateCryptoKeyPrimaryVersionRequest request =
+ UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
.setName(name == null ? null : name.toString())
- .setCiphertext(ciphertext)
+ .setCryptoKeyVersionId(cryptoKeyVersionId)
.build();
- return decrypt(request);
+ return updateCryptoKeyPrimaryVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was protected by
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
+ * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
+ * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ *
+ * Returns an error if called on an asymmetric key. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * DecryptResponse response = keyManagementServiceClient.decrypt(name.toString(), ciphertext);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
+ * String cryptoKeyVersionId = "cryptoKeyVersionId987674581";
+ * CryptoKey response =
+ * keyManagementServiceClient.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId);
* }
- *
+ * }
*
* @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * use for decryption. The server will choose the appropriate version.
- * @param ciphertext Required. The encrypted data originally returned in
- * [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
+ * update.
+ * @param cryptoKeyVersionId Required. The id of the child
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final DecryptResponse decrypt(String name, ByteString ciphertext) {
- DecryptRequest request =
- DecryptRequest.newBuilder().setName(name).setCiphertext(ciphertext).build();
- return decrypt(request);
+ public final CryptoKey updateCryptoKeyPrimaryVersion(String name, String cryptoKeyVersionId) {
+ UpdateCryptoKeyPrimaryVersionRequest request =
+ UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
+ .setName(name)
+ .setCryptoKeyVersionId(cryptoKeyVersionId)
+ .build();
+ return updateCryptoKeyPrimaryVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was protected by
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
+ * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
+ * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ *
+ * Returns an error if called on an asymmetric key. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * DecryptRequest request = DecryptRequest.newBuilder()
- * .setName(name.toString())
- * .setCiphertext(ciphertext)
- * .build();
- * DecryptResponse response = keyManagementServiceClient.decrypt(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyPrimaryVersionRequest request =
+ * UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setCryptoKeyVersionId("cryptoKeyVersionId987674581")
+ * .build();
+ * CryptoKey response = keyManagementServiceClient.updateCryptoKeyPrimaryVersion(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final DecryptResponse decrypt(DecryptRequest request) {
- return decryptCallable().call(request);
+ public final CryptoKey updateCryptoKeyPrimaryVersion(
+ UpdateCryptoKeyPrimaryVersionRequest request) {
+ return updateCryptoKeyPrimaryVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was protected by
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
- * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
+ * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
+ * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ *
+ * Returns an error if called on an asymmetric key. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * DecryptRequest request = DecryptRequest.newBuilder()
- * .setName(name.toString())
- * .setCiphertext(ciphertext)
- * .build();
- * ApiFuture<DecryptResponse> future = keyManagementServiceClient.decryptCallable().futureCall(request);
- * // Do something
- * DecryptResponse response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * UpdateCryptoKeyPrimaryVersionRequest request =
+ * UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
+ * .toString())
+ * .setCryptoKeyVersionId("cryptoKeyVersionId987674581")
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.updateCryptoKeyPrimaryVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKey response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableUpon calling this method, + * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] + * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 + * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] + * will be changed to + * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key + * material will be irrevocably destroyed. + * + *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may + * be called to reverse the process. * *
Sample code: * - *
- * 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);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyVersionName name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
+ * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(name);
* }
- *
+ * }
*
* @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
- * @param digest Required. 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][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricSignResponse asymmetricSign(CryptoKeyVersionName name, Digest digest) {
- AsymmetricSignRequest request =
- AsymmetricSignRequest.newBuilder()
+ public final CryptoKeyVersion destroyCryptoKeyVersion(CryptoKeyVersionName name) {
+ DestroyCryptoKeyVersionRequest request =
+ DestroyCryptoKeyVersionRequest.newBuilder()
.setName(name == null ? null : name.toString())
- .setDigest(digest)
.build();
- return asymmetricSign(request);
+ return destroyCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a
- * signature that can be verified with the public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
+ * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
+ *
+ * Upon calling this method, + * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] + * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 + * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] + * will be changed to + * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key + * material will be irrevocably destroyed. + * + *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may + * be called to reverse the process. * *
Sample code: * - *
- * 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.toString(), digest);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
+ * .toString();
+ * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(name);
* }
- *
+ * }
*
* @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for signing.
- * @param digest Required. 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][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricSignResponse asymmetricSign(String name, Digest digest) {
- AsymmetricSignRequest request =
- AsymmetricSignRequest.newBuilder().setName(name).setDigest(digest).build();
- return asymmetricSign(request);
+ public final CryptoKeyVersion destroyCryptoKeyVersion(String name) {
+ DestroyCryptoKeyVersionRequest request =
+ DestroyCryptoKeyVersionRequest.newBuilder().setName(name).build();
+ return destroyCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a
- * signature that can be verified with the public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
+ * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
+ *
+ * Upon calling this method, + * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] + * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 + * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] + * will be changed to + * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key + * material will be irrevocably destroyed. + * + *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may + * be called to reverse the process. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * Digest digest = Digest.newBuilder().build();
- * AsymmetricSignRequest request = AsymmetricSignRequest.newBuilder()
- * .setName(name.toString())
- * .setDigest(digest)
- * .build();
- * AsymmetricSignResponse response = keyManagementServiceClient.asymmetricSign(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * DestroyCryptoKeyVersionRequest request =
+ * DestroyCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricSignResponse asymmetricSign(AsymmetricSignRequest request) {
- return asymmetricSignCallable().call(request);
+ public final CryptoKeyVersion destroyCryptoKeyVersion(DestroyCryptoKeyVersionRequest request) {
+ return destroyCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_SIGN, producing a
- * signature that can be verified with the public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
+ * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
+ *
+ * Upon calling this method, + * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] + * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 + * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] + * will be changed to + * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key + * material will be irrevocably destroyed. + * + *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, + * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may + * be called to reverse the process. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * Digest digest = Digest.newBuilder().build();
- * AsymmetricSignRequest request = AsymmetricSignRequest.newBuilder()
- * .setName(name.toString())
- * .setDigest(digest)
- * .build();
- * ApiFuture<AsymmetricSignResponse> future = keyManagementServiceClient.asymmetricSignCallable().futureCall(request);
- * // Do something
- * AsymmetricSignResponse response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * DestroyCryptoKeyVersionRequest request =
+ * DestroyCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.destroyCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKeyVersion response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableUpon restoration of the CryptoKeyVersion, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and + * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * AsymmetricDecryptResponse response = keyManagementServiceClient.asymmetricDecrypt(name, ciphertext);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * CryptoKeyVersionName name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
+ * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(name);
* }
- *
+ * }
*
* @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for decryption.
- * @param ciphertext Required. The data encrypted with the named
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using OAEP.
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricDecryptResponse asymmetricDecrypt(
- CryptoKeyVersionName name, ByteString ciphertext) {
- AsymmetricDecryptRequest request =
- AsymmetricDecryptRequest.newBuilder()
+ public final CryptoKeyVersion restoreCryptoKeyVersion(CryptoKeyVersionName name) {
+ RestoreCryptoKeyVersionRequest request =
+ RestoreCryptoKeyVersionRequest.newBuilder()
.setName(name == null ? null : name.toString())
- .setCiphertext(ciphertext)
.build();
- return asymmetricDecrypt(request);
+ return restoreCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was encrypted with a public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
+ * Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
+ * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
+ * state.
+ *
+ * Upon restoration of the CryptoKeyVersion, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and + * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * AsymmetricDecryptResponse response = keyManagementServiceClient.asymmetricDecrypt(name.toString(), ciphertext);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * String name =
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]")
+ * .toString();
+ * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(name);
* }
- *
+ * }
*
* @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for decryption.
- * @param ciphertext Required. The data encrypted with the named
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using OAEP.
+ * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricDecryptResponse asymmetricDecrypt(String name, ByteString ciphertext) {
- AsymmetricDecryptRequest request =
- AsymmetricDecryptRequest.newBuilder().setName(name).setCiphertext(ciphertext).build();
- return asymmetricDecrypt(request);
+ public final CryptoKeyVersion restoreCryptoKeyVersion(String name) {
+ RestoreCryptoKeyVersionRequest request =
+ RestoreCryptoKeyVersionRequest.newBuilder().setName(name).build();
+ return restoreCryptoKeyVersion(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was encrypted with a public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
+ * Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
+ * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
+ * state.
+ *
+ * Upon restoration of the CryptoKeyVersion, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and + * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * AsymmetricDecryptRequest request = AsymmetricDecryptRequest.newBuilder()
- * .setName(name.toString())
- * .setCiphertext(ciphertext)
- * .build();
- * AsymmetricDecryptResponse response = keyManagementServiceClient.asymmetricDecrypt(request);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * RestoreCryptoKeyVersionRequest request =
+ * RestoreCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(request);
* }
- *
+ * }
*
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final AsymmetricDecryptResponse asymmetricDecrypt(AsymmetricDecryptRequest request) {
- return asymmetricDecryptCallable().call(request);
+ public final CryptoKeyVersion restoreCryptoKeyVersion(RestoreCryptoKeyVersionRequest request) {
+ return restoreCryptoKeyVersionCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Decrypts data that was encrypted with a public key retrieved from
- * [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey] corresponding to a
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
- * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] ASYMMETRIC_DECRYPT.
+ * Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
+ * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
+ * state.
+ *
+ * Upon restoration of the CryptoKeyVersion, + * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to + * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and + * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * ByteString ciphertext = ByteString.copyFromUtf8("");
- * AsymmetricDecryptRequest request = AsymmetricDecryptRequest.newBuilder()
- * .setName(name.toString())
- * .setCiphertext(ciphertext)
- * .build();
- * ApiFuture<AsymmetricDecryptResponse> future = keyManagementServiceClient.asymmetricDecryptCallable().futureCall(request);
- * // Do something
- * AsymmetricDecryptResponse response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * RestoreCryptoKeyVersionRequest request =
+ * RestoreCryptoKeyVersionRequest.newBuilder()
+ * .setName(
+ * CryptoKeyVersionName.of(
+ * "[PROJECT]",
+ * "[LOCATION]",
+ * "[KEY_RING]",
+ * "[CRYPTO_KEY]",
+ * "[CRYPTO_KEY_VERSION]")
+ * .toString())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.restoreCryptoKeyVersionCallable().futureCall(request);
+ * // Do something.
+ * CryptoKeyVersion response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableReturns an error if called on an asymmetric key. + *
Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`errors. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * String cryptoKeyVersionId = "";
- * CryptoKey response = keyManagementServiceClient.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * SetIamPolicyRequest request =
+ * SetIamPolicyRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPolicy(Policy.newBuilder().build())
+ * .build();
+ * Policy response = keyManagementServiceClient.setIamPolicy(request);
* }
- *
+ * }
*
- * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * update.
- * @param cryptoKeyVersionId Required. The id of the child
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey updateCryptoKeyPrimaryVersion(
- CryptoKeyName name, String cryptoKeyVersionId) {
- UpdateCryptoKeyPrimaryVersionRequest request =
- UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
- .setName(name == null ? null : name.toString())
- .setCryptoKeyVersionId(cryptoKeyVersionId)
- .build();
- return updateCryptoKeyPrimaryVersion(request);
+ public final Policy setIamPolicy(SetIamPolicyRequest request) {
+ return setIamPolicyCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // ADDED BY SYNTH
/**
- * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ * Sets the access control policy on the specified resource. Replaces any existing policy.
*
- * Returns an error if called on an asymmetric key. + *
Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * String cryptoKeyVersionId = "";
- * CryptoKey response = keyManagementServiceClient.updateCryptoKeyPrimaryVersion(name.toString(), cryptoKeyVersionId);
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * Policy policy = Policy.newBuilder().build();
+ * Policy response = keyManagementServiceClient.setIamPolicy(resource, policy);
* }
*
*
- * @param name Required. The resource name of the [CryptoKey][google.cloud.kms.v1.CryptoKey] to
- * update.
- * @param cryptoKeyVersionId Required. The id of the child
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
+ * @param resource REQUIRED: The resource for which the policy is being specified. See the
+ * operation documentation for the appropriate value for this field.
+ * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the
+ * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
+ * Platform services (such as Projects) might reject them.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey updateCryptoKeyPrimaryVersion(String name, String cryptoKeyVersionId) {
- UpdateCryptoKeyPrimaryVersionRequest request =
- UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
- .setName(name)
- .setCryptoKeyVersionId(cryptoKeyVersionId)
+ public final Policy setIamPolicy(KeyName resource, Policy policy) {
+ SetIamPolicyRequest request =
+ SetIamPolicyRequest.newBuilder()
+ .setResource(resource == null ? null : resource.toString())
+ .setPolicy(policy)
.build();
- return updateCryptoKeyPrimaryVersion(request);
+ return setIamPolicy(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // ADDED BY SYNTH
/**
- * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ * Sets the access control policy on the specified resource. Replaces any existing policy.
*
- * Returns an error if called on an asymmetric key. + *
Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * String cryptoKeyVersionId = "";
- * UpdateCryptoKeyPrimaryVersionRequest request = UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
- * .setName(name.toString())
- * .setCryptoKeyVersionId(cryptoKeyVersionId)
- * .build();
- * CryptoKey response = keyManagementServiceClient.updateCryptoKeyPrimaryVersion(request);
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * Policy policy = Policy.newBuilder().build();
+ * Policy response = keyManagementServiceClient.setIamPolicy(resource.toString(), policy);
* }
*
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param resource REQUIRED: The resource for which the policy is being specified. See the
+ * operation documentation for the appropriate value for this field.
+ * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the
+ * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
+ * Platform services (such as Projects) might reject them.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKey updateCryptoKeyPrimaryVersion(
- UpdateCryptoKeyPrimaryVersionRequest request) {
- return updateCryptoKeyPrimaryVersionCallable().call(request);
+ public final Policy setIamPolicy(String resource, Policy policy) {
+ SetIamPolicyRequest request =
+ SetIamPolicyRequest.newBuilder().setResource(resource).setPolicy(policy).build();
+ return setIamPolicy(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that will be used in
- * [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
+ * Sets the access control policy on the specified resource. Replacesany existing policy.
*
- * Returns an error if called on an asymmetric key. + *
Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`errors. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
- * String cryptoKeyVersionId = "";
- * UpdateCryptoKeyPrimaryVersionRequest request = UpdateCryptoKeyPrimaryVersionRequest.newBuilder()
- * .setName(name.toString())
- * .setCryptoKeyVersionId(cryptoKeyVersionId)
- * .build();
- * ApiFuture<CryptoKey> future = keyManagementServiceClient.updateCryptoKeyPrimaryVersionCallable().futureCall(request);
- * // Do something
- * CryptoKey response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * SetIamPolicyRequest request =
+ * SetIamPolicyRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setPolicy(Policy.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.setIamPolicyCallable().futureCall(request);
+ * // Do something.
+ * Policy response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableUpon calling this method, - * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] - * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 - * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] - * will be changed to - * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key - * material will be irrevocably destroyed. - * - *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may - * be called to reverse the process. + * Gets the access control policy for a resource. Returns an empty policyif the resource exists + * and does not have a policy set. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(name);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetIamPolicyRequest request =
+ * GetIamPolicyRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setOptions(GetPolicyOptions.newBuilder().build())
+ * .build();
+ * Policy response = keyManagementServiceClient.getIamPolicy(request);
* }
- *
+ * }
*
- * @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion destroyCryptoKeyVersion(CryptoKeyVersionName name) {
- DestroyCryptoKeyVersionRequest request =
- DestroyCryptoKeyVersionRequest.newBuilder()
- .setName(name == null ? null : name.toString())
- .build();
- return destroyCryptoKeyVersion(request);
+ public final Policy getIamPolicy(GetIamPolicyRequest request) {
+ return getIamPolicyCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // ADDED BY SYNTH
/**
- * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
- *
- * Upon calling this method, - * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] - * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 - * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] - * will be changed to - * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key - * material will be irrevocably destroyed. - * - *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may - * be called to reverse the process. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists + * and does not have a policy set. * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(name.toString());
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * Policy response = keyManagementServiceClient.getIamPolicy(resource);
* }
*
*
- * @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
+ * @param resource REQUIRED: The resource for which the policy is being requested. See the
+ * operation documentation for the appropriate value for this field.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion destroyCryptoKeyVersion(String name) {
- DestroyCryptoKeyVersionRequest request =
- DestroyCryptoKeyVersionRequest.newBuilder().setName(name).build();
- return destroyCryptoKeyVersion(request);
+ public final Policy getIamPolicy(KeyName resource) {
+ GetIamPolicyRequest request =
+ GetIamPolicyRequest.newBuilder()
+ .setResource(resource == null ? null : resource.toString())
+ .build();
+ return getIamPolicy(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // ADDED BY SYNTH
/**
- * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
- *
- * Upon calling this method, - * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] - * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 - * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] - * will be changed to - * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key - * material will be irrevocably destroyed. - * - *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may - * be called to reverse the process. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists + * and does not have a policy set. * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * DestroyCryptoKeyVersionRequest request = DestroyCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.destroyCryptoKeyVersion(request);
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * Policy response = keyManagementServiceClient.getIamPolicy(resource.toString());
* }
*
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param resource REQUIRED: The resource for which the policy is being requested. See the
+ * operation documentation for the appropriate value for this field.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion destroyCryptoKeyVersion(DestroyCryptoKeyVersionRequest request) {
- return destroyCryptoKeyVersionCallable().call(request);
+ public final Policy getIamPolicy(String resource) {
+ GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder().setResource(resource).build();
+ return getIamPolicy(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for destruction.
- *
- * Upon calling this method, - * [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] - * and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be set to a time 24 - * hours in the future, at which point the [state][google.cloud.kms.v1.CryptoKeyVersion.state] - * will be changed to - * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED], and the key - * material will be irrevocably destroyed. - * - *
Before the [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is reached, - * [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion] may - * be called to reverse the process. + * Gets the access control policy for a resource. Returns an empty policyif the resource exists + * and does not have a policy set. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * DestroyCryptoKeyVersionRequest request = DestroyCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.destroyCryptoKeyVersionCallable().futureCall(request);
- * // Do something
- * CryptoKeyVersion response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * GetIamPolicyRequest request =
+ * GetIamPolicyRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .setOptions(GetPolicyOptions.newBuilder().build())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.getIamPolicyCallable().futureCall(request);
+ * // Do something.
+ * Policy response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableUpon restoration of the CryptoKeyVersion, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and - * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. + *
Note: This operation is designed to be used for buildingpermission-aware UIs and + * command-line tools, not for authorizationchecking. This operation may "fail open" without + * warning. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(name);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * TestIamPermissionsRequest request =
+ * TestIamPermissionsRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .addAllPermissions(new ArrayList())
+ * .build();
+ * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(request);
* }
- *
+ * }
*
- * @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
+ * @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion restoreCryptoKeyVersion(CryptoKeyVersionName name) {
- RestoreCryptoKeyVersionRequest request =
- RestoreCryptoKeyVersionRequest.newBuilder()
- .setName(name == null ? null : name.toString())
- .build();
- return restoreCryptoKeyVersion(request);
+ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request) {
+ return testIamPermissionsCallable().call(request);
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
+ // ADDED BY SYNTH
/**
- * Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
- * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
- * state.
+ * Returns permissions that a caller has on the specified resource. If the resource does not
+ * exist, this will return an empty set of permissions, not a NOT_FOUND error.
*
- * Upon restoration of the CryptoKeyVersion, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and - * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. + *
Note: This operation is designed to be used for building permission-aware UIs and + * command-line tools, not for authorization checking. This operation may "fail open" without + * warning. * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(name.toString());
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * List<String> permissions = new ArrayList<>();
+ * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(resource, permissions);
* }
*
*
- * @param name Required. The resource name of the
- * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
+ * @param resource REQUIRED: The resource for which the policy detail is being requested. See the
+ * operation documentation for the appropriate value for this field.
+ * @param permissions The set of permissions to check for the `resource`. Permissions with
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more information see
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion restoreCryptoKeyVersion(String name) {
- RestoreCryptoKeyVersionRequest request =
- RestoreCryptoKeyVersionRequest.newBuilder().setName(name).build();
- return restoreCryptoKeyVersion(request);
+ public final TestIamPermissionsResponse testIamPermissions(
+ KeyName resource, ListUpon restoration of the CryptoKeyVersion, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and - * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. + *
Note: This operation is designed to be used for building permission-aware UIs and + * command-line tools, not for authorization checking. This operation may "fail open" without + * warning. * *
Sample code: * *
* try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * RestoreCryptoKeyVersionRequest request = RestoreCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * CryptoKeyVersion response = keyManagementServiceClient.restoreCryptoKeyVersion(request);
+ * KeyName resource = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * List<String> permissions = new ArrayList<>();
+ * TestIamPermissionsResponse response = keyManagementServiceClient.testIamPermissions(resource.toString(), permissions);
* }
*
*
- * @param request The request object containing all of the parameters for the API call.
+ * @param resource REQUIRED: The resource for which the policy detail is being requested. See the
+ * operation documentation for the appropriate value for this field.
+ * @param permissions The set of permissions to check for the `resource`. Permissions with
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more information see
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final CryptoKeyVersion restoreCryptoKeyVersion(RestoreCryptoKeyVersionRequest request) {
- return restoreCryptoKeyVersionCallable().call(request);
+ public final TestIamPermissionsResponse testIamPermissions(
+ String resource, ListUpon restoration of the CryptoKeyVersion, - * [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to - * [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED], and - * [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will be cleared. + *
Note: This operation is designed to be used for buildingpermission-aware UIs and + * command-line tools, not for authorizationchecking. This operation may "fail open" without + * warning. * *
Sample code: * - *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * CryptoKeyVersionName name = CryptoKeyVersionName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]");
- * RestoreCryptoKeyVersionRequest request = RestoreCryptoKeyVersionRequest.newBuilder()
- * .setName(name.toString())
- * .build();
- * ApiFuture<CryptoKeyVersion> future = keyManagementServiceClient.restoreCryptoKeyVersionCallable().futureCall(request);
- * // Do something
- * CryptoKeyVersion response = future.get();
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * TestIamPermissionsRequest request =
+ * TestIamPermissionsRequest.newBuilder()
+ * .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString())
+ * .addAllPermissions(new ArrayList())
+ * .build();
+ * ApiFuture future =
+ * keyManagementServiceClient.testIamPermissionsCallable().futureCall(request);
+ * // Do something.
+ * TestIamPermissionsResponse response = future.get();
* }
- *
+ * }
*/
- public final UnaryCallableThe builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * - *
For example, to set the total timeout of createImportJob to 30 seconds: + *
For example, to set the total timeout of getKeyRing to 30 seconds: * - *
- *
+ * {@code
* KeyManagementServiceSettings.Builder keyManagementServiceSettingsBuilder =
* KeyManagementServiceSettings.newBuilder();
* keyManagementServiceSettingsBuilder
- * .createImportJobSettings()
+ * .getKeyRingSettings()
* .setRetrySettings(
- * keyManagementServiceSettingsBuilder.createImportJobSettings().getRetrySettings().toBuilder()
+ * keyManagementServiceSettingsBuilder
+ * .getKeyRingSettings()
+ * .getRetrySettings()
+ * .toBuilder()
* .setTotalTimeout(Duration.ofSeconds(30))
* .build());
- * KeyManagementServiceSettings keyManagementServiceSettings = keyManagementServiceSettingsBuilder.build();
- *
- *
+ * KeyManagementServiceSettings keyManagementServiceSettings =
+ * keyManagementServiceSettingsBuilder.build();
+ * }
*/
-@Generated("by gapic-generator")
-@BetaApi
+@Generated("by gapic-generator-java")
public class KeyManagementServiceSettings extends ClientSettingsThe interfaces provided are listed below, along with usage samples. * - *
========================== KeyManagementServiceClient ========================== + *
======================= KeyManagementServiceClient ======================= * *
Service Description: Google Cloud Key Management Service * *
Manages cryptographic keys and operations using those keys. Implements a REST model with the * following objects: * - *
* [KeyRing][google.cloud.kms.v1.KeyRing] * [CryptoKey][google.cloud.kms.v1.CryptoKey] - * * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] * - * [ImportJob][google.cloud.kms.v1.ImportJob] + *
If you are using manual gRPC libraries, see [Using gRPC with Cloud * KMS](https://cloud.google.com/kms/docs/grpc). * *
Sample for KeyManagementServiceClient: * - *
- *
- * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) {
- * KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
- * String importJobId = "my-import-job";
- * ImportJob.ImportMethod importMethod = ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256;
- * ProtectionLevel protectionLevel = ProtectionLevel.HSM;
- * ImportJob importJob = ImportJob.newBuilder()
- * .setImportMethod(importMethod)
- * .setProtectionLevel(protectionLevel)
- * .build();
- * ImportJob response = keyManagementServiceClient.createImportJob(parent, importJobId, importJob);
+ * {@code
+ * try (KeyManagementServiceClient keyManagementServiceClient =
+ * KeyManagementServiceClient.create()) {
+ * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
+ * KeyRing response = keyManagementServiceClient.getKeyRing(name);
* }
- *
- *
+ * }
*/
-@Generated("by gapic-generator")
+@Generated("by gapic-generator-java")
package com.google.cloud.kms.v1;
import javax.annotation.Generated;
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java
index a286206e..2b94e5ff 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java
@@ -1,11 +1,11 @@
/*
- * Copyright 2020 Google LLC
+ * Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * https://www.apache.org/licenses/LICENSE-2.0
+ * https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.google.cloud.kms.v1.stub;
-import com.google.api.core.BetaApi;
import com.google.api.gax.grpc.GrpcCallSettings;
import com.google.api.gax.grpc.GrpcCallableFactory;
import com.google.api.gax.grpc.GrpcStubCallableFactory;
@@ -31,18 +31,19 @@
import com.google.api.gax.rpc.StreamingCallSettings;
import com.google.api.gax.rpc.UnaryCallSettings;
import com.google.api.gax.rpc.UnaryCallable;
+import com.google.longrunning.Operation;
import com.google.longrunning.stub.OperationsStub;
import javax.annotation.Generated;
-// AUTO-GENERATED DOCUMENTATION AND CLASS
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
/**
- * gRPC callable factory implementation for Cloud Key Management Service (KMS) API.
+ * gRPC callable factory implementation for the KeyManagementService service API.
*
* This class is for advanced usage.
*/
-@Generated("by gapic-generator")
-@BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+@Generated("by gapic-generator-java")
public class GrpcKeyManagementServiceCallableFactory implements GrpcStubCallableFactory {
+
@Override
public This class is for advanced usage and reflects the underlying API directly.
*/
-@Generated("by gapic-generator")
-@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
+@Generated("by gapic-generator-java")
public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub {
-
- private static final MethodDescriptor