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 createImportJobCallable() { - return stub.createImportJobCallable(); + public final UnaryCallable + listKeyRingsPagedCallable() { + return stub.listKeyRingsPagedCallable(); } - // 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]. + * Lists [KeyRings][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: + * + *

{@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 UnaryCallable listKeyRingsCallable() { + return stub.listKeyRingsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. * *

Sample 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 UnaryCallable createCryptoKeyCallable() { - return stub.createCryptoKeyCallable(); + public final UnaryCallable + listCryptoKeysPagedCallable() { + return stub.listCryptoKeysPagedCallable(); } - // 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 [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 UnaryCallable + listCryptoKeysCallable() { + return stub.listCryptoKeysCallable(); } - // 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, 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 UnaryCallable setIamPolicyCallable() { - return stub.setIamPolicyCallable(); + public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions( + ListCryptoKeyVersionsRequest request) { + return listCryptoKeyVersionsPagedCallable().call(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 [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. * *

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();
-   *   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 UnaryCallable + listCryptoKeyVersionsPagedCallable() { + return stub.listCryptoKeyVersionsPagedCallable(); } - // ADDED BY SYNTH + // 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 [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. * *

Sample 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 UnaryCallable + listCryptoKeyVersionsCallable() { + return stub.listCryptoKeyVersionsCallable(); } - // ADDED BY SYNTH + // 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()) {
-   *   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 UnaryCallable getIamPolicyCallable() { - return stub.getIamPolicyCallable(); + public final ListImportJobsPagedResponse listImportJobs(String parent) { + ListImportJobsRequest request = ListImportJobsRequest.newBuilder().setParent(parent).build(); + return listImportJobs(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // 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()) {
-   *   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, List permissions) { - TestIamPermissionsRequest request = - TestIamPermissionsRequest.newBuilder() - .setResource(resource == null ? null : resource.toString()) - .addAllPermissions(permissions) - .build(); - return testIamPermissions(request); + public final UnaryCallable + listImportJobsPagedCallable() { + return stub.listImportJobsPagedCallable(); } - // 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. + * Lists [ImportJobs][google.cloud.kms.v1.ImportJob]. * - *

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: + * + *

{@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 UnaryCallable + listImportJobsCallable() { + return stub.listImportJobsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing]. * *

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.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, List permissions) { - TestIamPermissionsRequest request = - TestIamPermissionsRequest.newBuilder() - .setResource(resource) - .addAllPermissions(permissions) - .build(); - return testIamPermissions(request); + public final KeyRing getKeyRing(KeyRingName name) { + GetKeyRingRequest request = + GetKeyRingRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getKeyRing(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // 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. + * 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 UnaryCallable - testIamPermissionsCallable() { - return stub.testIamPermissionsCallable(); + public final KeyRing getKeyRing(String name) { + GetKeyRingRequest request = GetKeyRingRequest.newBuilder().setName(name).build(); + return getKeyRing(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).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 UnaryCallable getKeyRingCallable() { + return stub.getKeyRingCallable(); + } + + // 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]. * - * @param parent Required. The resource name of the location associated with the - * [KeyRings][google.cloud.kms.v1.KeyRing], in the format `projects/*/locations/*`. + *

Sample 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 UnaryCallable - listKeyRingsPagedCallable() { - return stub.listKeyRingsPagedCallable(); + public final CryptoKey getCryptoKey(GetCryptoKeyRequest request) { + return getCryptoKeyCallable().call(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();
-   *   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 UnaryCallable listKeyRingsCallable() { - return stub.listKeyRingsCallable(); + public final UnaryCallable getCryptoKeyCallable() { + return stub.getCryptoKeyCallable(); } - // 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).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 UnaryCallable - listCryptoKeysPagedCallable() { - return stub.listCryptoKeysPagedCallable(); + public final UnaryCallable + getCryptoKeyVersionCallable() { + return stub.getCryptoKeyVersionCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey]. + * 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()) {
-   *   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 UnaryCallable - listCryptoKeysCallable() { - return stub.listCryptoKeysCallable(); - } - - // AUTO-GENERATED DOCUMENTATION AND METHOD - /** - * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. - * - *

Sample 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 UnaryCallable - listCryptoKeyVersionsPagedCallable() { - return stub.listCryptoKeyVersionsPagedCallable(); + public final UnaryCallable getPublicKeyCallable() { + return stub.getPublicKeyCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. + * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob]. * *

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();
-   *   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 UnaryCallable - listCryptoKeyVersionsCallable() { - return stub.listCryptoKeyVersionsCallable(); + public final ImportJob getImportJob(ImportJobName name) { + GetImportJobRequest request = + GetImportJobRequest.newBuilder().setName(name == null ? null : name.toString()).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).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 UnaryCallable getImportJobCallable() { + return stub.getImportJobCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists [ImportJobs][google.cloud.kms.v1.ImportJob]. + * Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location. * *

Sample 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 UnaryCallable - listImportJobsPagedCallable() { - return stub.listImportJobsPagedCallable(); + 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); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists [ImportJobs][google.cloud.kms.v1.ImportJob]. + * Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and Location. * *

Sample 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 UnaryCallable - listImportJobsCallable() { - return stub.listImportJobsCallable(); + public final KeyRing createKeyRing(String parent, String keyRingId, KeyRing keyRing) { + CreateKeyRingRequest request = + CreateKeyRingRequest.newBuilder() + .setParent(parent) + .setKeyRingId(keyRingId) + .setKeyRing(keyRing) + .build(); + return createKeyRing(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);
+   * 
{@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 createKeyRingCallable() { + return stub.createKeyRingCallable(); } - // 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();
-   *   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 getKeyRingCallable() { - return stub.getKeyRingCallable(); + public final CryptoKey createCryptoKey(String parent, String cryptoKeyId, CryptoKey cryptoKey) { + CreateCryptoKeyRequest request = + CreateCryptoKeyRequest.newBuilder() + .setParent(parent) + .setCryptoKeyId(cryptoKeyId) + .setCryptoKey(cryptoKey) + .build(); + return createCryptoKey(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);
+   * 
{@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 UnaryCallable createCryptoKeyCallable() { + return stub.createCryptoKeyCallable(); } - // 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();
-   *   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 UnaryCallable getCryptoKeyCallable() { - return stub.getCryptoKeyCallable(); + public final CryptoKeyVersion createCryptoKeyVersion( + String parent, CryptoKeyVersion cryptoKeyVersion) { + CreateCryptoKeyVersionRequest request = + CreateCryptoKeyVersionRequest.newBuilder() + .setParent(parent) + .setCryptoKeyVersion(cryptoKeyVersion) + .build(); + return createCryptoKeyVersion(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);
+   * 
{@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 UnaryCallable + createCryptoKeyVersionCallable() { + return stub.createCryptoKeyVersionCallable(); } - // 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();
-   *   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 - getCryptoKeyVersionCallable() { - return stub.getCryptoKeyVersionCallable(); + public final UnaryCallable + importCryptoKeyVersionCallable() { + return stub.importCryptoKeyVersionCallable(); } - // 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);
+   * 
{@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 UnaryCallable getPublicKeyCallable() { - return stub.getPublicKeyCallable(); + public final UnaryCallable createImportJobCallable() { + return stub.createImportJobCallable(); } - // 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);
+   * 
{@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 updateCryptoKeyCallable() { + return stub.updateCryptoKeyCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob]. + * 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()) {
-   *   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 getImportJobCallable() { - return stub.getImportJobCallable(); + public final CryptoKeyVersion updateCryptoKeyVersion( + CryptoKeyVersion cryptoKeyVersion, FieldMask updateMask) { + UpdateCryptoKeyVersionRequest request = + UpdateCryptoKeyVersionRequest.newBuilder() + .setCryptoKeyVersion(cryptoKeyVersion) + .setUpdateMask(updateMask) + .build(); + return updateCryptoKeyVersion(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, 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 UnaryCallable + updateCryptoKeyVersionCallable() { + return stub.updateCryptoKeyVersionCallable(); } - // 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. + * 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()) {
-   *   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 UnaryCallable createKeyRingCallable() { - return stub.createKeyRingCallable(); + public final EncryptResponse encrypt(ResourceName name, ByteString plaintext) { + EncryptRequest request = + EncryptRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .setPlaintext(plaintext) + .build(); + return encrypt(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // ADDED BY SYNTH /** - * 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, 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 UnaryCallable - createCryptoKeyVersionCallable() { - return stub.createCryptoKeyVersionCallable(); + public final UnaryCallable encryptCallable() { + return stub.encryptCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // 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]. + * 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 UnaryCallable - importCryptoKeyVersionCallable() { - return stub.importCryptoKeyVersionCallable(); + public final DecryptResponse decrypt(CryptoKeyName name, ByteString ciphertext) { + DecryptRequest request = + DecryptRequest.newBuilder() + .setName(name == null ? null : name.toString()) + .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();
-   *   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 updateCryptoKeyCallable() { - return stub.updateCryptoKeyCallable(); + public final UnaryCallable decryptCallable() { + return stub.decryptCallable(); } - // 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();
-   *   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 UnaryCallable - updateCryptoKeyVersionCallable() { - return stub.updateCryptoKeyVersionCallable(); + public final AsymmetricSignResponse asymmetricSign(AsymmetricSignRequest request) { + return asymmetricSignCallable().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]. + * 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()) {
-   *   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 UnaryCallable + asymmetricSignCallable() { + return stub.asymmetricSignCallable(); } - // ADDED BY SYNTH + // 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()) {
-   *   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 UnaryCallable encryptCallable() { - return stub.encryptCallable(); + public final UnaryCallable + asymmetricDecryptCallable() { + return stub.asymmetricDecryptCallable(); } - // 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, 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 UnaryCallable decryptCallable() { - return stub.decryptCallable(); + public final UnaryCallable + updateCryptoKeyPrimaryVersionCallable() { + return stub.updateCryptoKeyPrimaryVersionCallable(); } - // 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, 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 UnaryCallable - asymmetricSignCallable() { - return stub.asymmetricSignCallable(); + public final UnaryCallable + destroyCryptoKeyVersionCallable() { + return stub.destroyCryptoKeyVersionCallable(); } - // 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, 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 UnaryCallable - asymmetricDecryptCallable() { - return stub.asymmetricDecryptCallable(); + public final UnaryCallable + restoreCryptoKeyVersionCallable() { + return stub.restoreCryptoKeyVersionCallable(); } - // 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 = "";
-   *   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 UnaryCallable - updateCryptoKeyPrimaryVersionCallable() { - return stub.updateCryptoKeyPrimaryVersionCallable(); + public final UnaryCallable setIamPolicyCallable() { + return stub.setIamPolicyCallable(); } - // 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]");
-   *   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 UnaryCallable - destroyCryptoKeyVersionCallable() { - return stub.destroyCryptoKeyVersionCallable(); + public final UnaryCallable getIamPolicyCallable() { + return stub.getIamPolicyCallable(); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * 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 theresource does not exist, + * this will return an empty set ofpermissions, 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 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, List permissions) { + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .addAllPermissions(permissions) + .build(); + return testIamPermissions(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]");
-   *   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, List permissions) { + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(resource) + .addAllPermissions(permissions) + .build(); + return testIamPermissions(request); } - // AUTO-GENERATED DOCUMENTATION AND METHOD + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * 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 theresource does not exist, + * this will return an empty set ofpermissions, 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 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 UnaryCallable - restoreCryptoKeyVersionCallable() { - return stub.restoreCryptoKeyVersionCallable(); + public final UnaryCallable + testIamPermissionsCallable() { + return stub.testIamPermissionsCallable(); } @Override diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java index e0cd3b97..09586f01 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.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 static com.google.cloud.kms.v1.KeyManagementServiceClient.ListCryptoKeyVersionsPagedResponse; @@ -41,7 +42,7 @@ import java.util.List; import javax.annotation.Generated; -// AUTO-GENERATED DOCUMENTATION AND CLASS +// AUTO-GENERATED DOCUMENTATION AND CLASS. /** * Settings class to configure an instance of {@link KeyManagementServiceClient}. * @@ -56,50 +57,26 @@ *

The 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 ClientSettings { - /** Returns the object with the settings used for calls to createImportJob. */ - public UnaryCallSettings createImportJobSettings() { - return ((KeyManagementServiceStubSettings) getStubSettings()).createImportJobSettings(); - } - - /** Returns the object with the settings used for calls to createCryptoKey. */ - public UnaryCallSettings createCryptoKeySettings() { - return ((KeyManagementServiceStubSettings) getStubSettings()).createCryptoKeySettings(); - } - - /** Returns the object with the settings used for calls to setIamPolicy. */ - public UnaryCallSettings setIamPolicySettings() { - return ((KeyManagementServiceStubSettings) getStubSettings()).setIamPolicySettings(); - } - - /** Returns the object with the settings used for calls to getIamPolicy. */ - public UnaryCallSettings getIamPolicySettings() { - return ((KeyManagementServiceStubSettings) getStubSettings()).getIamPolicySettings(); - } - - /** Returns the object with the settings used for calls to testIamPermissions. */ - public UnaryCallSettings - testIamPermissionsSettings() { - return ((KeyManagementServiceStubSettings) getStubSettings()).testIamPermissionsSettings(); - } /** Returns the object with the settings used for calls to listKeyRings. */ public PagedCallSettings @@ -161,6 +138,11 @@ public UnaryCallSettings createKeyRingSettings() return ((KeyManagementServiceStubSettings) getStubSettings()).createKeyRingSettings(); } + /** Returns the object with the settings used for calls to createCryptoKey. */ + public UnaryCallSettings createCryptoKeySettings() { + return ((KeyManagementServiceStubSettings) getStubSettings()).createCryptoKeySettings(); + } + /** Returns the object with the settings used for calls to createCryptoKeyVersion. */ public UnaryCallSettings createCryptoKeyVersionSettings() { @@ -173,6 +155,11 @@ public UnaryCallSettings createKeyRingSettings() return ((KeyManagementServiceStubSettings) getStubSettings()).importCryptoKeyVersionSettings(); } + /** Returns the object with the settings used for calls to createImportJob. */ + public UnaryCallSettings createImportJobSettings() { + return ((KeyManagementServiceStubSettings) getStubSettings()).createImportJobSettings(); + } + /** Returns the object with the settings used for calls to updateCryptoKey. */ public UnaryCallSettings updateCryptoKeySettings() { return ((KeyManagementServiceStubSettings) getStubSettings()).updateCryptoKeySettings(); @@ -224,6 +211,22 @@ public UnaryCallSettings asymmetr return ((KeyManagementServiceStubSettings) getStubSettings()).restoreCryptoKeyVersionSettings(); } + /** Returns the object with the settings used for calls to setIamPolicy. */ + public UnaryCallSettings setIamPolicySettings() { + return ((KeyManagementServiceStubSettings) getStubSettings()).setIamPolicySettings(); + } + + /** Returns the object with the settings used for calls to getIamPolicy. */ + public UnaryCallSettings getIamPolicySettings() { + return ((KeyManagementServiceStubSettings) getStubSettings()).getIamPolicySettings(); + } + + /** Returns the object with the settings used for calls to testIamPermissions. */ + public UnaryCallSettings + testIamPermissionsSettings() { + return ((KeyManagementServiceStubSettings) getStubSettings()).testIamPermissionsSettings(); + } + public static final KeyManagementServiceSettings create(KeyManagementServiceStubSettings stub) throws IOException { return new KeyManagementServiceSettings.Builder(stub.toBuilder()).build(); @@ -285,18 +288,15 @@ protected KeyManagementServiceSettings(Builder settingsBuilder) throws IOExcepti /** Builder for KeyManagementServiceSettings. */ public static class Builder extends ClientSettings.Builder { + protected Builder() throws IOException { - this((ClientContext) null); + this(((ClientContext) null)); } protected Builder(ClientContext clientContext) { super(KeyManagementServiceStubSettings.newBuilder(clientContext)); } - private static Builder createDefault() { - return new Builder(KeyManagementServiceStubSettings.newBuilder()); - } - protected Builder(KeyManagementServiceSettings settings) { super(settings.getStubSettings().toBuilder()); } @@ -305,11 +305,15 @@ protected Builder(KeyManagementServiceStubSettings.Builder stubSettings) { super(stubSettings); } + private static Builder createDefault() { + return new Builder(KeyManagementServiceStubSettings.newBuilder()); + } + public KeyManagementServiceStubSettings.Builder getStubSettingsBuilder() { return ((KeyManagementServiceStubSettings.Builder) getStubSettings()); } - // NEXT_MAJOR_VER: remove 'throws Exception' + // NEXT_MAJOR_VER: remove 'throws Exception'. /** * Applies the given settings updater function to all of the unary API methods in this service. * @@ -322,32 +326,6 @@ public Builder applyToAllUnaryMethods( return this; } - /** Returns the builder for the settings used for calls to createImportJob. */ - public UnaryCallSettings.Builder createImportJobSettings() { - return getStubSettingsBuilder().createImportJobSettings(); - } - - /** Returns the builder for the settings used for calls to createCryptoKey. */ - public UnaryCallSettings.Builder createCryptoKeySettings() { - return getStubSettingsBuilder().createCryptoKeySettings(); - } - - /** Returns the builder for the settings used for calls to setIamPolicy. */ - public UnaryCallSettings.Builder setIamPolicySettings() { - return getStubSettingsBuilder().setIamPolicySettings(); - } - - /** Returns the builder for the settings used for calls to getIamPolicy. */ - public UnaryCallSettings.Builder getIamPolicySettings() { - return getStubSettingsBuilder().getIamPolicySettings(); - } - - /** Returns the builder for the settings used for calls to testIamPermissions. */ - public UnaryCallSettings.Builder - testIamPermissionsSettings() { - return getStubSettingsBuilder().testIamPermissionsSettings(); - } - /** Returns the builder for the settings used for calls to listKeyRings. */ public PagedCallSettings.Builder< ListKeyRingsRequest, ListKeyRingsResponse, ListKeyRingsPagedResponse> @@ -409,6 +387,11 @@ public UnaryCallSettings.Builder createKeyRingSet return getStubSettingsBuilder().createKeyRingSettings(); } + /** Returns the builder for the settings used for calls to createCryptoKey. */ + public UnaryCallSettings.Builder createCryptoKeySettings() { + return getStubSettingsBuilder().createCryptoKeySettings(); + } + /** Returns the builder for the settings used for calls to createCryptoKeyVersion. */ public UnaryCallSettings.Builder createCryptoKeyVersionSettings() { @@ -421,6 +404,11 @@ public UnaryCallSettings.Builder createKeyRingSet return getStubSettingsBuilder().importCryptoKeyVersionSettings(); } + /** Returns the builder for the settings used for calls to createImportJob. */ + public UnaryCallSettings.Builder createImportJobSettings() { + return getStubSettingsBuilder().createImportJobSettings(); + } + /** Returns the builder for the settings used for calls to updateCryptoKey. */ public UnaryCallSettings.Builder updateCryptoKeySettings() { return getStubSettingsBuilder().updateCryptoKeySettings(); @@ -472,6 +460,22 @@ public UnaryCallSettings.Builder decryptSetting return getStubSettingsBuilder().restoreCryptoKeyVersionSettings(); } + /** Returns the builder for the settings used for calls to setIamPolicy. */ + public UnaryCallSettings.Builder setIamPolicySettings() { + return getStubSettingsBuilder().setIamPolicySettings(); + } + + /** Returns the builder for the settings used for calls to getIamPolicy. */ + public UnaryCallSettings.Builder getIamPolicySettings() { + return getStubSettingsBuilder().getIamPolicySettings(); + } + + /** Returns the builder for the settings used for calls to testIamPermissions. */ + public UnaryCallSettings.Builder + testIamPermissionsSettings() { + return getStubSettingsBuilder().testIamPermissionsSettings(); + } + @Override public KeyManagementServiceSettings build() throws IOException { return new KeyManagementServiceSettings(this); diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/gapic_metadata.json b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/gapic_metadata.json new file mode 100644 index 00000000..e34e14ad --- /dev/null +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/gapic_metadata.json @@ -0,0 +1,96 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.kms.v1", + "libraryPackage": "com.google.cloud.kms.v1", + "services": { + "KeyManagementService": { + "clients": { + "grpc": { + "libraryClient": "KeyManagementServiceClient", + "rpcs": { + "AsymmetricDecrypt": { + "methods": ["asymmetricDecrypt", "asymmetricDecrypt", "asymmetricDecrypt", "asymmetricDecryptCallable"] + }, + "AsymmetricSign": { + "methods": ["asymmetricSign", "asymmetricSign", "asymmetricSign", "asymmetricSignCallable"] + }, + "CreateCryptoKey": { + "methods": ["createCryptoKey", "createCryptoKey", "createCryptoKey", "createCryptoKeyCallable"] + }, + "CreateCryptoKeyVersion": { + "methods": ["createCryptoKeyVersion", "createCryptoKeyVersion", "createCryptoKeyVersion", "createCryptoKeyVersionCallable"] + }, + "CreateImportJob": { + "methods": ["createImportJob", "createImportJob", "createImportJob", "createImportJobCallable"] + }, + "CreateKeyRing": { + "methods": ["createKeyRing", "createKeyRing", "createKeyRing", "createKeyRingCallable"] + }, + "Decrypt": { + "methods": ["decrypt", "decrypt", "decrypt", "decryptCallable"] + }, + "DestroyCryptoKeyVersion": { + "methods": ["destroyCryptoKeyVersion", "destroyCryptoKeyVersion", "destroyCryptoKeyVersion", "destroyCryptoKeyVersionCallable"] + }, + "Encrypt": { + "methods": ["encrypt", "encrypt", "encrypt", "encryptCallable"] + }, + "GetCryptoKey": { + "methods": ["getCryptoKey", "getCryptoKey", "getCryptoKey", "getCryptoKeyCallable"] + }, + "GetCryptoKeyVersion": { + "methods": ["getCryptoKeyVersion", "getCryptoKeyVersion", "getCryptoKeyVersion", "getCryptoKeyVersionCallable"] + }, + "GetIamPolicy": { + "methods": ["getIamPolicy", "getIamPolicyCallable"] + }, + "GetImportJob": { + "methods": ["getImportJob", "getImportJob", "getImportJob", "getImportJobCallable"] + }, + "GetKeyRing": { + "methods": ["getKeyRing", "getKeyRing", "getKeyRing", "getKeyRingCallable"] + }, + "GetPublicKey": { + "methods": ["getPublicKey", "getPublicKey", "getPublicKey", "getPublicKeyCallable"] + }, + "ImportCryptoKeyVersion": { + "methods": ["importCryptoKeyVersion", "importCryptoKeyVersionCallable"] + }, + "ListCryptoKeyVersions": { + "methods": ["listCryptoKeyVersions", "listCryptoKeyVersions", "listCryptoKeyVersions", "listCryptoKeyVersionsPagedCallable", "listCryptoKeyVersionsCallable"] + }, + "ListCryptoKeys": { + "methods": ["listCryptoKeys", "listCryptoKeys", "listCryptoKeys", "listCryptoKeysPagedCallable", "listCryptoKeysCallable"] + }, + "ListImportJobs": { + "methods": ["listImportJobs", "listImportJobs", "listImportJobs", "listImportJobsPagedCallable", "listImportJobsCallable"] + }, + "ListKeyRings": { + "methods": ["listKeyRings", "listKeyRings", "listKeyRings", "listKeyRingsPagedCallable", "listKeyRingsCallable"] + }, + "RestoreCryptoKeyVersion": { + "methods": ["restoreCryptoKeyVersion", "restoreCryptoKeyVersion", "restoreCryptoKeyVersion", "restoreCryptoKeyVersionCallable"] + }, + "SetIamPolicy": { + "methods": ["setIamPolicy", "setIamPolicyCallable"] + }, + "TestIamPermissions": { + "methods": ["testIamPermissions", "testIamPermissionsCallable"] + }, + "UpdateCryptoKey": { + "methods": ["updateCryptoKey", "updateCryptoKey", "updateCryptoKeyCallable"] + }, + "UpdateCryptoKeyPrimaryVersion": { + "methods": ["updateCryptoKeyPrimaryVersion", "updateCryptoKeyPrimaryVersion", "updateCryptoKeyPrimaryVersion", "updateCryptoKeyPrimaryVersionCallable"] + }, + "UpdateCryptoKeyVersion": { + "methods": ["updateCryptoKeyVersion", "updateCryptoKeyVersion", "updateCryptoKeyVersionCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java index 61b74f5e..387836b4 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.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, @@ -15,43 +15,38 @@ */ /** - * A client to Cloud Key Management Service (KMS) API. + * A client to Cloud Key Management Service (KMS) API * *

The 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] + *

    + *
  • [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 UnaryCallable createUnaryCallable( GrpcCallSettings grpcCallSettings, @@ -55,61 +56,58 @@ public UnaryCallable createUnaryCalla public UnaryCallable createPagedCallable( GrpcCallSettings grpcCallSettings, - PagedCallSettings pagedCallSettings, + PagedCallSettings callSettings, ClientContext clientContext) { - return GrpcCallableFactory.createPagedCallable( - grpcCallSettings, pagedCallSettings, clientContext); + return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext); } @Override public UnaryCallable createBatchingCallable( GrpcCallSettings grpcCallSettings, - BatchingCallSettings batchingCallSettings, + BatchingCallSettings callSettings, ClientContext clientContext) { return GrpcCallableFactory.createBatchingCallable( - grpcCallSettings, batchingCallSettings, clientContext); + grpcCallSettings, callSettings, clientContext); } - @BetaApi( - "The surface for long-running operations is not stable yet and may change in the future.") @Override public OperationCallable createOperationCallable( - GrpcCallSettings grpcCallSettings, - OperationCallSettings operationCallSettings, + GrpcCallSettings grpcCallSettings, + OperationCallSettings callSettings, ClientContext clientContext, OperationsStub operationsStub) { return GrpcCallableFactory.createOperationCallable( - grpcCallSettings, operationCallSettings, clientContext, operationsStub); + grpcCallSettings, callSettings, clientContext, operationsStub); } @Override public BidiStreamingCallable createBidiStreamingCallable( GrpcCallSettings grpcCallSettings, - StreamingCallSettings streamingCallSettings, + StreamingCallSettings callSettings, ClientContext clientContext) { return GrpcCallableFactory.createBidiStreamingCallable( - grpcCallSettings, streamingCallSettings, clientContext); + grpcCallSettings, callSettings, clientContext); } @Override public ServerStreamingCallable createServerStreamingCallable( GrpcCallSettings grpcCallSettings, - ServerStreamingCallSettings streamingCallSettings, + ServerStreamingCallSettings callSettings, ClientContext clientContext) { return GrpcCallableFactory.createServerStreamingCallable( - grpcCallSettings, streamingCallSettings, clientContext); + grpcCallSettings, callSettings, clientContext); } @Override public ClientStreamingCallable createClientStreamingCallable( GrpcCallSettings grpcCallSettings, - StreamingCallSettings streamingCallSettings, + StreamingCallSettings callSettings, ClientContext clientContext) { return GrpcCallableFactory.createClientStreamingCallable( - grpcCallSettings, streamingCallSettings, clientContext); + grpcCallSettings, callSettings, clientContext); } } diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java index baf4f75d..1cd6b000 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.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.stub; import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListCryptoKeyVersionsPagedResponse; @@ -20,7 +21,6 @@ import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListImportJobsPagedResponse; import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListKeyRingsPagedResponse; -import com.google.api.core.BetaApi; import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.core.BackgroundResourceAggregation; import com.google.api.gax.grpc.GrpcCallSettings; @@ -70,6 +70,7 @@ import com.google.iam.v1.SetIamPolicyRequest; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; +import com.google.longrunning.stub.GrpcOperationsStub; import io.grpc.MethodDescriptor; import io.grpc.protobuf.ProtoUtils; import java.io.IOException; @@ -77,58 +78,14 @@ import java.util.concurrent.TimeUnit; import javax.annotation.Generated; -// AUTO-GENERATED DOCUMENTATION AND CLASS +// AUTO-GENERATED DOCUMENTATION AND CLASS. /** - * gRPC stub implementation for Cloud Key Management Service (KMS) API. + * gRPC stub implementation for the KeyManagementService service API. * *

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 - createImportJobMethodDescriptor = - MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName("google.cloud.kms.v1.KeyManagementService/CreateImportJob") - .setRequestMarshaller( - ProtoUtils.marshaller(CreateImportJobRequest.getDefaultInstance())) - .setResponseMarshaller(ProtoUtils.marshaller(ImportJob.getDefaultInstance())) - .build(); - private static final MethodDescriptor - createCryptoKeyMethodDescriptor = - MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName("google.cloud.kms.v1.KeyManagementService/CreateCryptoKey") - .setRequestMarshaller( - ProtoUtils.marshaller(CreateCryptoKeyRequest.getDefaultInstance())) - .setResponseMarshaller(ProtoUtils.marshaller(CryptoKey.getDefaultInstance())) - .build(); - private static final MethodDescriptor setIamPolicyMethodDescriptor = - MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName("google.iam.v1.IAMPolicy/SetIamPolicy") - .setRequestMarshaller(ProtoUtils.marshaller(SetIamPolicyRequest.getDefaultInstance())) - .setResponseMarshaller(ProtoUtils.marshaller(Policy.getDefaultInstance())) - .build(); - private static final MethodDescriptor getIamPolicyMethodDescriptor = - MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName("google.iam.v1.IAMPolicy/GetIamPolicy") - .setRequestMarshaller(ProtoUtils.marshaller(GetIamPolicyRequest.getDefaultInstance())) - .setResponseMarshaller(ProtoUtils.marshaller(Policy.getDefaultInstance())) - .build(); - private static final MethodDescriptor - testIamPermissionsMethodDescriptor = - MethodDescriptor.newBuilder() - .setType(MethodDescriptor.MethodType.UNARY) - .setFullMethodName("google.iam.v1.IAMPolicy/TestIamPermissions") - .setRequestMarshaller( - ProtoUtils.marshaller(TestIamPermissionsRequest.getDefaultInstance())) - .setResponseMarshaller( - ProtoUtils.marshaller(TestIamPermissionsResponse.getDefaultInstance())) - .build(); private static final MethodDescriptor listKeyRingsMethodDescriptor = MethodDescriptor.newBuilder() @@ -138,6 +95,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(ListKeyRingsResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor listCryptoKeysMethodDescriptor = MethodDescriptor.newBuilder() @@ -148,6 +106,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(ListCryptoKeysResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor listCryptoKeyVersionsMethodDescriptor = MethodDescriptor.newBuilder() @@ -158,6 +117,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(ListCryptoKeyVersionsResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor listImportJobsMethodDescriptor = MethodDescriptor.newBuilder() @@ -168,6 +128,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(ListImportJobsResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor getKeyRingMethodDescriptor = MethodDescriptor.newBuilder() .setType(MethodDescriptor.MethodType.UNARY) @@ -175,6 +136,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(GetKeyRingRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(KeyRing.getDefaultInstance())) .build(); + private static final MethodDescriptor getCryptoKeyMethodDescriptor = MethodDescriptor.newBuilder() @@ -183,6 +145,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(GetCryptoKeyRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKey.getDefaultInstance())) .build(); + private static final MethodDescriptor getCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -192,6 +155,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(GetCryptoKeyVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); + private static final MethodDescriptor getPublicKeyMethodDescriptor = MethodDescriptor.newBuilder() @@ -200,6 +164,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(GetPublicKeyRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(PublicKey.getDefaultInstance())) .build(); + private static final MethodDescriptor getImportJobMethodDescriptor = MethodDescriptor.newBuilder() @@ -208,6 +173,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(GetImportJobRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(ImportJob.getDefaultInstance())) .build(); + private static final MethodDescriptor createKeyRingMethodDescriptor = MethodDescriptor.newBuilder() @@ -217,6 +183,17 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(CreateKeyRingRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(KeyRing.getDefaultInstance())) .build(); + + private static final MethodDescriptor + createCryptoKeyMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.kms.v1.KeyManagementService/CreateCryptoKey") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateCryptoKeyRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(CryptoKey.getDefaultInstance())) + .build(); + private static final MethodDescriptor createCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -226,6 +203,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(CreateCryptoKeyVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); + private static final MethodDescriptor importCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -235,6 +213,17 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(ImportCryptoKeyVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); + + private static final MethodDescriptor + createImportJobMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.kms.v1.KeyManagementService/CreateImportJob") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateImportJobRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(ImportJob.getDefaultInstance())) + .build(); + private static final MethodDescriptor updateCryptoKeyMethodDescriptor = MethodDescriptor.newBuilder() @@ -244,6 +233,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(UpdateCryptoKeyRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKey.getDefaultInstance())) .build(); + private static final MethodDescriptor updateCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -253,6 +243,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(UpdateCryptoKeyVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); + private static final MethodDescriptor encryptMethodDescriptor = MethodDescriptor.newBuilder() .setType(MethodDescriptor.MethodType.UNARY) @@ -260,6 +251,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(EncryptRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(EncryptResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor decryptMethodDescriptor = MethodDescriptor.newBuilder() .setType(MethodDescriptor.MethodType.UNARY) @@ -267,6 +259,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setRequestMarshaller(ProtoUtils.marshaller(DecryptRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(DecryptResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor asymmetricSignMethodDescriptor = MethodDescriptor.newBuilder() @@ -277,6 +270,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(AsymmetricSignResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor asymmetricDecryptMethodDescriptor = MethodDescriptor.newBuilder() @@ -287,6 +281,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller( ProtoUtils.marshaller(AsymmetricDecryptResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor updateCryptoKeyPrimaryVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -297,6 +292,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(UpdateCryptoKeyPrimaryVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKey.getDefaultInstance())) .build(); + private static final MethodDescriptor destroyCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -306,6 +302,7 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { ProtoUtils.marshaller(DestroyCryptoKeyVersionRequest.getDefaultInstance())) .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); + private static final MethodDescriptor restoreCryptoKeyVersionMethodDescriptor = MethodDescriptor.newBuilder() @@ -316,14 +313,33 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { .setResponseMarshaller(ProtoUtils.marshaller(CryptoKeyVersion.getDefaultInstance())) .build(); - private final BackgroundResource backgroundResources; + private static final MethodDescriptor setIamPolicyMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.iam.v1.IAMPolicy/SetIamPolicy") + .setRequestMarshaller(ProtoUtils.marshaller(SetIamPolicyRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Policy.getDefaultInstance())) + .build(); + + private static final MethodDescriptor getIamPolicyMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.iam.v1.IAMPolicy/GetIamPolicy") + .setRequestMarshaller(ProtoUtils.marshaller(GetIamPolicyRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Policy.getDefaultInstance())) + .build(); + + private static final MethodDescriptor + testIamPermissionsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.iam.v1.IAMPolicy/TestIamPermissions") + .setRequestMarshaller( + ProtoUtils.marshaller(TestIamPermissionsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(TestIamPermissionsResponse.getDefaultInstance())) + .build(); - private final UnaryCallable createImportJobCallable; - private final UnaryCallable createCryptoKeyCallable; - private final UnaryCallable setIamPolicyCallable; - private final UnaryCallable getIamPolicyCallable; - private final UnaryCallable - testIamPermissionsCallable; private final UnaryCallable listKeyRingsCallable; private final UnaryCallable listKeyRingsPagedCallable; @@ -344,10 +360,12 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { private final UnaryCallable getPublicKeyCallable; private final UnaryCallable getImportJobCallable; private final UnaryCallable createKeyRingCallable; + private final UnaryCallable createCryptoKeyCallable; private final UnaryCallable createCryptoKeyVersionCallable; private final UnaryCallable importCryptoKeyVersionCallable; + private final UnaryCallable createImportJobCallable; private final UnaryCallable updateCryptoKeyCallable; private final UnaryCallable updateCryptoKeyVersionCallable; @@ -362,7 +380,13 @@ public class GrpcKeyManagementServiceStub extends KeyManagementServiceStub { destroyCryptoKeyVersionCallable; private final UnaryCallable restoreCryptoKeyVersionCallable; + private final UnaryCallable setIamPolicyCallable; + private final UnaryCallable getIamPolicyCallable; + private final UnaryCallable + testIamPermissionsCallable; + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; private final GrpcStubCallableFactory callableFactory; public static final GrpcKeyManagementServiceStub create(KeyManagementServiceStubSettings settings) @@ -403,73 +427,8 @@ protected GrpcKeyManagementServiceStub( GrpcStubCallableFactory callableFactory) throws IOException { this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); - GrpcCallSettings createImportJobTransportSettings = - GrpcCallSettings.newBuilder() - .setMethodDescriptor(createImportJobMethodDescriptor) - .setParamsExtractor( - new RequestParamsExtractor() { - @Override - public Map extract(CreateImportJobRequest request) { - ImmutableMap.Builder params = ImmutableMap.builder(); - params.put("parent", String.valueOf(request.getParent())); - return params.build(); - } - }) - .build(); - GrpcCallSettings createCryptoKeyTransportSettings = - GrpcCallSettings.newBuilder() - .setMethodDescriptor(createCryptoKeyMethodDescriptor) - .setParamsExtractor( - new RequestParamsExtractor() { - @Override - public Map extract(CreateCryptoKeyRequest request) { - ImmutableMap.Builder params = ImmutableMap.builder(); - params.put("parent", String.valueOf(request.getParent())); - return params.build(); - } - }) - .build(); - GrpcCallSettings setIamPolicyTransportSettings = - GrpcCallSettings.newBuilder() - .setMethodDescriptor(setIamPolicyMethodDescriptor) - .setParamsExtractor( - new RequestParamsExtractor() { - @Override - public Map extract(SetIamPolicyRequest request) { - ImmutableMap.Builder params = ImmutableMap.builder(); - params.put("resource", String.valueOf(request.getResource())); - return params.build(); - } - }) - .build(); - GrpcCallSettings getIamPolicyTransportSettings = - GrpcCallSettings.newBuilder() - .setMethodDescriptor(getIamPolicyMethodDescriptor) - .setParamsExtractor( - new RequestParamsExtractor() { - @Override - public Map extract(GetIamPolicyRequest request) { - ImmutableMap.Builder params = ImmutableMap.builder(); - params.put("resource", String.valueOf(request.getResource())); - return params.build(); - } - }) - .build(); - GrpcCallSettings - testIamPermissionsTransportSettings = - GrpcCallSettings.newBuilder() - .setMethodDescriptor(testIamPermissionsMethodDescriptor) - .setParamsExtractor( - new RequestParamsExtractor() { - @Override - public Map extract(TestIamPermissionsRequest request) { - ImmutableMap.Builder params = ImmutableMap.builder(); - params.put("resource", String.valueOf(request.getResource())); - return params.build(); - } - }) - .build(); GrpcCallSettings listKeyRingsTransportSettings = GrpcCallSettings.newBuilder() .setMethodDescriptor(listKeyRingsMethodDescriptor) @@ -605,6 +564,19 @@ public Map extract(CreateKeyRingRequest request) { } }) .build(); + GrpcCallSettings createCryptoKeyTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createCryptoKeyMethodDescriptor) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(CreateCryptoKeyRequest request) { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("parent", String.valueOf(request.getParent())); + return params.build(); + } + }) + .build(); GrpcCallSettings createCryptoKeyVersionTransportSettings = GrpcCallSettings.newBuilder() @@ -633,6 +605,19 @@ public Map extract(ImportCryptoKeyVersionRequest request) { } }) .build(); + GrpcCallSettings createImportJobTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createImportJobMethodDescriptor) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(CreateImportJobRequest request) { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("parent", String.valueOf(request.getParent())); + return params.build(); + } + }) + .build(); GrpcCallSettings updateCryptoKeyTransportSettings = GrpcCallSettings.newBuilder() .setMethodDescriptor(updateCryptoKeyMethodDescriptor) @@ -759,24 +744,47 @@ public Map extract(RestoreCryptoKeyVersionRequest request) { } }) .build(); + GrpcCallSettings setIamPolicyTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(setIamPolicyMethodDescriptor) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(SetIamPolicyRequest request) { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("resource", String.valueOf(request.getResource())); + return params.build(); + } + }) + .build(); + GrpcCallSettings getIamPolicyTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getIamPolicyMethodDescriptor) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(GetIamPolicyRequest request) { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("resource", String.valueOf(request.getResource())); + return params.build(); + } + }) + .build(); + GrpcCallSettings + testIamPermissionsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(testIamPermissionsMethodDescriptor) + .setParamsExtractor( + new RequestParamsExtractor() { + @Override + public Map extract(TestIamPermissionsRequest request) { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("resource", String.valueOf(request.getResource())); + return params.build(); + } + }) + .build(); - this.createImportJobCallable = - callableFactory.createUnaryCallable( - createImportJobTransportSettings, settings.createImportJobSettings(), clientContext); - this.createCryptoKeyCallable = - callableFactory.createUnaryCallable( - createCryptoKeyTransportSettings, settings.createCryptoKeySettings(), clientContext); - this.setIamPolicyCallable = - callableFactory.createUnaryCallable( - setIamPolicyTransportSettings, settings.setIamPolicySettings(), clientContext); - this.getIamPolicyCallable = - callableFactory.createUnaryCallable( - getIamPolicyTransportSettings, settings.getIamPolicySettings(), clientContext); - this.testIamPermissionsCallable = - callableFactory.createUnaryCallable( - testIamPermissionsTransportSettings, - settings.testIamPermissionsSettings(), - clientContext); this.listKeyRingsCallable = callableFactory.createUnaryCallable( listKeyRingsTransportSettings, settings.listKeyRingsSettings(), clientContext); @@ -825,6 +833,9 @@ public Map extract(RestoreCryptoKeyVersionRequest request) { this.createKeyRingCallable = callableFactory.createUnaryCallable( createKeyRingTransportSettings, settings.createKeyRingSettings(), clientContext); + this.createCryptoKeyCallable = + callableFactory.createUnaryCallable( + createCryptoKeyTransportSettings, settings.createCryptoKeySettings(), clientContext); this.createCryptoKeyVersionCallable = callableFactory.createUnaryCallable( createCryptoKeyVersionTransportSettings, @@ -835,6 +846,9 @@ public Map extract(RestoreCryptoKeyVersionRequest request) { importCryptoKeyVersionTransportSettings, settings.importCryptoKeyVersionSettings(), clientContext); + this.createImportJobCallable = + callableFactory.createUnaryCallable( + createImportJobTransportSettings, settings.createImportJobSettings(), clientContext); this.updateCryptoKeyCallable = callableFactory.createUnaryCallable( updateCryptoKeyTransportSettings, settings.updateCryptoKeySettings(), clientContext); @@ -872,142 +886,188 @@ public Map extract(RestoreCryptoKeyVersionRequest request) { restoreCryptoKeyVersionTransportSettings, settings.restoreCryptoKeyVersionSettings(), clientContext); + this.setIamPolicyCallable = + callableFactory.createUnaryCallable( + setIamPolicyTransportSettings, settings.setIamPolicySettings(), clientContext); + this.getIamPolicyCallable = + callableFactory.createUnaryCallable( + getIamPolicyTransportSettings, settings.getIamPolicySettings(), clientContext); + this.testIamPermissionsCallable = + callableFactory.createUnaryCallable( + testIamPermissionsTransportSettings, + settings.testIamPermissionsSettings(), + clientContext); - backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); - } - - public UnaryCallable createImportJobCallable() { - return createImportJobCallable; - } - - public UnaryCallable createCryptoKeyCallable() { - return createCryptoKeyCallable; - } - - public UnaryCallable setIamPolicyCallable() { - return setIamPolicyCallable; + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); } - public UnaryCallable getIamPolicyCallable() { - return getIamPolicyCallable; + public GrpcOperationsStub getOperationsStub() { + return operationsStub; } - public UnaryCallable - testIamPermissionsCallable() { - return testIamPermissionsCallable; + @Override + public UnaryCallable listKeyRingsCallable() { + return listKeyRingsCallable; } + @Override public UnaryCallable listKeyRingsPagedCallable() { return listKeyRingsPagedCallable; } - public UnaryCallable listKeyRingsCallable() { - return listKeyRingsCallable; + @Override + public UnaryCallable listCryptoKeysCallable() { + return listCryptoKeysCallable; } + @Override public UnaryCallable listCryptoKeysPagedCallable() { return listCryptoKeysPagedCallable; } - public UnaryCallable listCryptoKeysCallable() { - return listCryptoKeysCallable; + @Override + public UnaryCallable + listCryptoKeyVersionsCallable() { + return listCryptoKeyVersionsCallable; } + @Override public UnaryCallable listCryptoKeyVersionsPagedCallable() { return listCryptoKeyVersionsPagedCallable; } - public UnaryCallable - listCryptoKeyVersionsCallable() { - return listCryptoKeyVersionsCallable; + @Override + public UnaryCallable listImportJobsCallable() { + return listImportJobsCallable; } + @Override public UnaryCallable listImportJobsPagedCallable() { return listImportJobsPagedCallable; } - public UnaryCallable listImportJobsCallable() { - return listImportJobsCallable; - } - + @Override public UnaryCallable getKeyRingCallable() { return getKeyRingCallable; } + @Override public UnaryCallable getCryptoKeyCallable() { return getCryptoKeyCallable; } + @Override public UnaryCallable getCryptoKeyVersionCallable() { return getCryptoKeyVersionCallable; } + @Override public UnaryCallable getPublicKeyCallable() { return getPublicKeyCallable; } + @Override public UnaryCallable getImportJobCallable() { return getImportJobCallable; } + @Override public UnaryCallable createKeyRingCallable() { return createKeyRingCallable; } + @Override + public UnaryCallable createCryptoKeyCallable() { + return createCryptoKeyCallable; + } + + @Override public UnaryCallable createCryptoKeyVersionCallable() { return createCryptoKeyVersionCallable; } + @Override public UnaryCallable importCryptoKeyVersionCallable() { return importCryptoKeyVersionCallable; } + @Override + public UnaryCallable createImportJobCallable() { + return createImportJobCallable; + } + + @Override public UnaryCallable updateCryptoKeyCallable() { return updateCryptoKeyCallable; } + @Override public UnaryCallable updateCryptoKeyVersionCallable() { return updateCryptoKeyVersionCallable; } + @Override public UnaryCallable encryptCallable() { return encryptCallable; } + @Override public UnaryCallable decryptCallable() { return decryptCallable; } + @Override public UnaryCallable asymmetricSignCallable() { return asymmetricSignCallable; } + @Override public UnaryCallable asymmetricDecryptCallable() { return asymmetricDecryptCallable; } + @Override public UnaryCallable updateCryptoKeyPrimaryVersionCallable() { return updateCryptoKeyPrimaryVersionCallable; } + @Override public UnaryCallable destroyCryptoKeyVersionCallable() { return destroyCryptoKeyVersionCallable; } + @Override public UnaryCallable restoreCryptoKeyVersionCallable() { return restoreCryptoKeyVersionCallable; } + @Override + public UnaryCallable setIamPolicyCallable() { + return setIamPolicyCallable; + } + + @Override + public UnaryCallable getIamPolicyCallable() { + return getIamPolicyCallable; + } + + @Override + public UnaryCallable + testIamPermissionsCallable() { + return testIamPermissionsCallable; + } + @Override public final void close() { shutdown(); diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java index 9279d209..45c4fb2e 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.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.stub; import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListCryptoKeyVersionsPagedResponse; @@ -20,7 +21,6 @@ import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListImportJobsPagedResponse; import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListKeyRingsPagedResponse; -import com.google.api.core.BetaApi; import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.rpc.UnaryCallable; import com.google.cloud.kms.v1.AsymmetricDecryptRequest; @@ -66,37 +66,15 @@ import com.google.iam.v1.TestIamPermissionsResponse; import javax.annotation.Generated; -// AUTO-GENERATED DOCUMENTATION AND CLASS +// AUTO-GENERATED DOCUMENTATION AND CLASS. /** - * Base stub class for Cloud Key Management Service (KMS) API. + * Base stub class for the KeyManagementService service API. * *

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 abstract class KeyManagementServiceStub implements BackgroundResource { - public UnaryCallable createImportJobCallable() { - throw new UnsupportedOperationException("Not implemented: createImportJobCallable()"); - } - - public UnaryCallable createCryptoKeyCallable() { - throw new UnsupportedOperationException("Not implemented: createCryptoKeyCallable()"); - } - - public UnaryCallable setIamPolicyCallable() { - throw new UnsupportedOperationException("Not implemented: setIamPolicyCallable()"); - } - - public UnaryCallable getIamPolicyCallable() { - throw new UnsupportedOperationException("Not implemented: getIamPolicyCallable()"); - } - - public UnaryCallable - testIamPermissionsCallable() { - throw new UnsupportedOperationException("Not implemented: testIamPermissionsCallable()"); - } - public UnaryCallable listKeyRingsPagedCallable() { throw new UnsupportedOperationException("Not implemented: listKeyRingsPagedCallable()"); } @@ -158,6 +136,10 @@ public UnaryCallable createKeyRingCallable() { throw new UnsupportedOperationException("Not implemented: createKeyRingCallable()"); } + public UnaryCallable createCryptoKeyCallable() { + throw new UnsupportedOperationException("Not implemented: createCryptoKeyCallable()"); + } + public UnaryCallable createCryptoKeyVersionCallable() { throw new UnsupportedOperationException("Not implemented: createCryptoKeyVersionCallable()"); @@ -168,6 +150,10 @@ public UnaryCallable createKeyRingCallable() { throw new UnsupportedOperationException("Not implemented: importCryptoKeyVersionCallable()"); } + public UnaryCallable createImportJobCallable() { + throw new UnsupportedOperationException("Not implemented: createImportJobCallable()"); + } + public UnaryCallable updateCryptoKeyCallable() { throw new UnsupportedOperationException("Not implemented: updateCryptoKeyCallable()"); } @@ -210,6 +196,19 @@ public UnaryCallable asymmetricSi throw new UnsupportedOperationException("Not implemented: restoreCryptoKeyVersionCallable()"); } + public UnaryCallable setIamPolicyCallable() { + throw new UnsupportedOperationException("Not implemented: setIamPolicyCallable()"); + } + + public UnaryCallable getIamPolicyCallable() { + throw new UnsupportedOperationException("Not implemented: getIamPolicyCallable()"); + } + + public UnaryCallable + testIamPermissionsCallable() { + throw new UnsupportedOperationException("Not implemented: testIamPermissionsCallable()"); + } + @Override public abstract void close(); } diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java index 2e60f128..55dc9636 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.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.stub; import static com.google.cloud.kms.v1.KeyManagementServiceClient.ListCryptoKeyVersionsPagedResponse; @@ -92,7 +93,7 @@ import javax.annotation.Generated; import org.threeten.bp.Duration; -// AUTO-GENERATED DOCUMENTATION AND CLASS +// AUTO-GENERATED DOCUMENTATION AND CLASS. /** * Settings class to configure an instance of {@link KeyManagementServiceStub}. * @@ -107,24 +108,25 @@ *

The 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
  * KeyManagementServiceStubSettings.Builder keyManagementServiceSettingsBuilder =
  *     KeyManagementServiceStubSettings.newBuilder();
  * keyManagementServiceSettingsBuilder
- *     .createImportJobSettings()
+ *     .getKeyRingSettings()
  *     .setRetrySettings(
- *         keyManagementServiceSettingsBuilder.createImportJobSettings().getRetrySettings().toBuilder()
+ *         keyManagementServiceSettingsBuilder
+ *             .getKeyRingSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
  *             .build());
- * KeyManagementServiceStubSettings keyManagementServiceSettings = keyManagementServiceSettingsBuilder.build();
- * 
- * 
+ * KeyManagementServiceStubSettings keyManagementServiceSettings = + * keyManagementServiceSettingsBuilder.build(); + * }
*/ -@Generated("by gapic-generator") -@BetaApi +@Generated("by gapic-generator-java") public class KeyManagementServiceStubSettings extends StubSettings { /** The default scopes of the service. */ @@ -134,12 +136,6 @@ public class KeyManagementServiceStubSettings .add("https://www.googleapis.com/auth/cloudkms") .build(); - private final UnaryCallSettings createImportJobSettings; - private final UnaryCallSettings createCryptoKeySettings; - private final UnaryCallSettings setIamPolicySettings; - private final UnaryCallSettings getIamPolicySettings; - private final UnaryCallSettings - testIamPermissionsSettings; private final PagedCallSettings< ListKeyRingsRequest, ListKeyRingsResponse, ListKeyRingsPagedResponse> listKeyRingsSettings; @@ -161,10 +157,12 @@ public class KeyManagementServiceStubSettings private final UnaryCallSettings getPublicKeySettings; private final UnaryCallSettings getImportJobSettings; private final UnaryCallSettings createKeyRingSettings; + private final UnaryCallSettings createCryptoKeySettings; private final UnaryCallSettings createCryptoKeyVersionSettings; private final UnaryCallSettings importCryptoKeyVersionSettings; + private final UnaryCallSettings createImportJobSettings; private final UnaryCallSettings updateCryptoKeySettings; private final UnaryCallSettings updateCryptoKeyVersionSettings; @@ -180,252 +178,10 @@ public class KeyManagementServiceStubSettings destroyCryptoKeyVersionSettings; private final UnaryCallSettings restoreCryptoKeyVersionSettings; - - /** Returns the object with the settings used for calls to createImportJob. */ - public UnaryCallSettings createImportJobSettings() { - return createImportJobSettings; - } - - /** Returns the object with the settings used for calls to createCryptoKey. */ - public UnaryCallSettings createCryptoKeySettings() { - return createCryptoKeySettings; - } - - /** Returns the object with the settings used for calls to setIamPolicy. */ - public UnaryCallSettings setIamPolicySettings() { - return setIamPolicySettings; - } - - /** Returns the object with the settings used for calls to getIamPolicy. */ - public UnaryCallSettings getIamPolicySettings() { - return getIamPolicySettings; - } - - /** Returns the object with the settings used for calls to testIamPermissions. */ - public UnaryCallSettings - testIamPermissionsSettings() { - return testIamPermissionsSettings; - } - - /** Returns the object with the settings used for calls to listKeyRings. */ - public PagedCallSettings - listKeyRingsSettings() { - return listKeyRingsSettings; - } - - /** Returns the object with the settings used for calls to listCryptoKeys. */ - public PagedCallSettings< - ListCryptoKeysRequest, ListCryptoKeysResponse, ListCryptoKeysPagedResponse> - listCryptoKeysSettings() { - return listCryptoKeysSettings; - } - - /** Returns the object with the settings used for calls to listCryptoKeyVersions. */ - public PagedCallSettings< - ListCryptoKeyVersionsRequest, - ListCryptoKeyVersionsResponse, - ListCryptoKeyVersionsPagedResponse> - listCryptoKeyVersionsSettings() { - return listCryptoKeyVersionsSettings; - } - - /** Returns the object with the settings used for calls to listImportJobs. */ - public PagedCallSettings< - ListImportJobsRequest, ListImportJobsResponse, ListImportJobsPagedResponse> - listImportJobsSettings() { - return listImportJobsSettings; - } - - /** Returns the object with the settings used for calls to getKeyRing. */ - public UnaryCallSettings getKeyRingSettings() { - return getKeyRingSettings; - } - - /** Returns the object with the settings used for calls to getCryptoKey. */ - public UnaryCallSettings getCryptoKeySettings() { - return getCryptoKeySettings; - } - - /** Returns the object with the settings used for calls to getCryptoKeyVersion. */ - public UnaryCallSettings - getCryptoKeyVersionSettings() { - return getCryptoKeyVersionSettings; - } - - /** Returns the object with the settings used for calls to getPublicKey. */ - public UnaryCallSettings getPublicKeySettings() { - return getPublicKeySettings; - } - - /** Returns the object with the settings used for calls to getImportJob. */ - public UnaryCallSettings getImportJobSettings() { - return getImportJobSettings; - } - - /** Returns the object with the settings used for calls to createKeyRing. */ - public UnaryCallSettings createKeyRingSettings() { - return createKeyRingSettings; - } - - /** Returns the object with the settings used for calls to createCryptoKeyVersion. */ - public UnaryCallSettings - createCryptoKeyVersionSettings() { - return createCryptoKeyVersionSettings; - } - - /** Returns the object with the settings used for calls to importCryptoKeyVersion. */ - public UnaryCallSettings - importCryptoKeyVersionSettings() { - return importCryptoKeyVersionSettings; - } - - /** Returns the object with the settings used for calls to updateCryptoKey. */ - public UnaryCallSettings updateCryptoKeySettings() { - return updateCryptoKeySettings; - } - - /** Returns the object with the settings used for calls to updateCryptoKeyVersion. */ - public UnaryCallSettings - updateCryptoKeyVersionSettings() { - return updateCryptoKeyVersionSettings; - } - - /** Returns the object with the settings used for calls to encrypt. */ - public UnaryCallSettings encryptSettings() { - return encryptSettings; - } - - /** Returns the object with the settings used for calls to decrypt. */ - public UnaryCallSettings decryptSettings() { - return decryptSettings; - } - - /** Returns the object with the settings used for calls to asymmetricSign. */ - public UnaryCallSettings asymmetricSignSettings() { - return asymmetricSignSettings; - } - - /** Returns the object with the settings used for calls to asymmetricDecrypt. */ - public UnaryCallSettings - asymmetricDecryptSettings() { - return asymmetricDecryptSettings; - } - - /** Returns the object with the settings used for calls to updateCryptoKeyPrimaryVersion. */ - public UnaryCallSettings - updateCryptoKeyPrimaryVersionSettings() { - return updateCryptoKeyPrimaryVersionSettings; - } - - /** Returns the object with the settings used for calls to destroyCryptoKeyVersion. */ - public UnaryCallSettings - destroyCryptoKeyVersionSettings() { - return destroyCryptoKeyVersionSettings; - } - - /** Returns the object with the settings used for calls to restoreCryptoKeyVersion. */ - public UnaryCallSettings - restoreCryptoKeyVersionSettings() { - return restoreCryptoKeyVersionSettings; - } - - @BetaApi("A restructuring of stub classes is planned, so this may break in the future") - public KeyManagementServiceStub createStub() throws IOException { - if (getTransportChannelProvider() - .getTransportName() - .equals(GrpcTransportChannel.getGrpcTransportName())) { - return GrpcKeyManagementServiceStub.create(this); - } else { - throw new UnsupportedOperationException( - "Transport not supported: " + getTransportChannelProvider().getTransportName()); - } - } - - /** Returns a builder for the default ExecutorProvider for this service. */ - public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { - return InstantiatingExecutorProvider.newBuilder(); - } - - /** Returns the default service endpoint. */ - public static String getDefaultEndpoint() { - return "cloudkms.googleapis.com:443"; - } - - /** Returns the default service scopes. */ - public static List getDefaultServiceScopes() { - return DEFAULT_SERVICE_SCOPES; - } - - /** Returns a builder for the default credentials for this service. */ - public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { - return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); - } - - /** Returns a builder for the default ChannelProvider for this service. */ - public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { - return InstantiatingGrpcChannelProvider.newBuilder() - .setMaxInboundMessageSize(Integer.MAX_VALUE); - } - - public static TransportChannelProvider defaultTransportChannelProvider() { - return defaultGrpcTransportProviderBuilder().build(); - } - - @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") - public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { - return ApiClientHeaderProvider.newBuilder() - .setGeneratedLibToken( - "gapic", GaxProperties.getLibraryVersion(KeyManagementServiceStubSettings.class)) - .setTransportToken( - GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); - } - - /** Returns a new builder for this class. */ - public static Builder newBuilder() { - return Builder.createDefault(); - } - - /** Returns a new builder for this class. */ - public static Builder newBuilder(ClientContext clientContext) { - return new Builder(clientContext); - } - - /** Returns a builder containing all the values of this settings class. */ - public Builder toBuilder() { - return new Builder(this); - } - - protected KeyManagementServiceStubSettings(Builder settingsBuilder) throws IOException { - super(settingsBuilder); - - createImportJobSettings = settingsBuilder.createImportJobSettings().build(); - createCryptoKeySettings = settingsBuilder.createCryptoKeySettings().build(); - setIamPolicySettings = settingsBuilder.setIamPolicySettings().build(); - getIamPolicySettings = settingsBuilder.getIamPolicySettings().build(); - testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build(); - listKeyRingsSettings = settingsBuilder.listKeyRingsSettings().build(); - listCryptoKeysSettings = settingsBuilder.listCryptoKeysSettings().build(); - listCryptoKeyVersionsSettings = settingsBuilder.listCryptoKeyVersionsSettings().build(); - listImportJobsSettings = settingsBuilder.listImportJobsSettings().build(); - getKeyRingSettings = settingsBuilder.getKeyRingSettings().build(); - getCryptoKeySettings = settingsBuilder.getCryptoKeySettings().build(); - getCryptoKeyVersionSettings = settingsBuilder.getCryptoKeyVersionSettings().build(); - getPublicKeySettings = settingsBuilder.getPublicKeySettings().build(); - getImportJobSettings = settingsBuilder.getImportJobSettings().build(); - createKeyRingSettings = settingsBuilder.createKeyRingSettings().build(); - createCryptoKeyVersionSettings = settingsBuilder.createCryptoKeyVersionSettings().build(); - importCryptoKeyVersionSettings = settingsBuilder.importCryptoKeyVersionSettings().build(); - updateCryptoKeySettings = settingsBuilder.updateCryptoKeySettings().build(); - updateCryptoKeyVersionSettings = settingsBuilder.updateCryptoKeyVersionSettings().build(); - encryptSettings = settingsBuilder.encryptSettings().build(); - decryptSettings = settingsBuilder.decryptSettings().build(); - asymmetricSignSettings = settingsBuilder.asymmetricSignSettings().build(); - asymmetricDecryptSettings = settingsBuilder.asymmetricDecryptSettings().build(); - updateCryptoKeyPrimaryVersionSettings = - settingsBuilder.updateCryptoKeyPrimaryVersionSettings().build(); - destroyCryptoKeyVersionSettings = settingsBuilder.destroyCryptoKeyVersionSettings().build(); - restoreCryptoKeyVersionSettings = settingsBuilder.restoreCryptoKeyVersionSettings().build(); - } + private final UnaryCallSettings setIamPolicySettings; + private final UnaryCallSettings getIamPolicySettings; + private final UnaryCallSettings + testIamPermissionsSettings; private static final PagedListDescriptor LIST_KEY_RINGS_PAGE_STR_DESC = @@ -457,9 +213,9 @@ public String extractNextToken(ListKeyRingsResponse payload) { @Override public Iterable extractResources(ListKeyRingsResponse payload) { - return payload.getKeyRingsList() != null - ? payload.getKeyRingsList() - : ImmutableList.of(); + return payload.getKeyRingsList() == null + ? ImmutableList.of() + : payload.getKeyRingsList(); } }; @@ -494,9 +250,9 @@ public String extractNextToken(ListCryptoKeysResponse payload) { @Override public Iterable extractResources(ListCryptoKeysResponse payload) { - return payload.getCryptoKeysList() != null - ? payload.getCryptoKeysList() - : ImmutableList.of(); + return payload.getCryptoKeysList() == null + ? ImmutableList.of() + : payload.getCryptoKeysList(); } }; @@ -535,9 +291,9 @@ public String extractNextToken(ListCryptoKeyVersionsResponse payload) { @Override public Iterable extractResources( ListCryptoKeyVersionsResponse payload) { - return payload.getCryptoKeyVersionsList() != null - ? payload.getCryptoKeyVersionsList() - : ImmutableList.of(); + return payload.getCryptoKeyVersionsList() == null + ? ImmutableList.of() + : payload.getCryptoKeyVersionsList(); } }; @@ -572,9 +328,9 @@ public String extractNextToken(ListImportJobsResponse payload) { @Override public Iterable extractResources(ListImportJobsResponse payload) { - return payload.getImportJobsList() != null - ? payload.getImportJobsList() - : ImmutableList.of(); + return payload.getImportJobsList() == null + ? ImmutableList.of() + : payload.getImportJobsList(); } }; @@ -653,19 +409,256 @@ public ApiFuture getFuturePagedResponse( } }; + /** Returns the object with the settings used for calls to listKeyRings. */ + public PagedCallSettings + listKeyRingsSettings() { + return listKeyRingsSettings; + } + + /** Returns the object with the settings used for calls to listCryptoKeys. */ + public PagedCallSettings< + ListCryptoKeysRequest, ListCryptoKeysResponse, ListCryptoKeysPagedResponse> + listCryptoKeysSettings() { + return listCryptoKeysSettings; + } + + /** Returns the object with the settings used for calls to listCryptoKeyVersions. */ + public PagedCallSettings< + ListCryptoKeyVersionsRequest, + ListCryptoKeyVersionsResponse, + ListCryptoKeyVersionsPagedResponse> + listCryptoKeyVersionsSettings() { + return listCryptoKeyVersionsSettings; + } + + /** Returns the object with the settings used for calls to listImportJobs. */ + public PagedCallSettings< + ListImportJobsRequest, ListImportJobsResponse, ListImportJobsPagedResponse> + listImportJobsSettings() { + return listImportJobsSettings; + } + + /** Returns the object with the settings used for calls to getKeyRing. */ + public UnaryCallSettings getKeyRingSettings() { + return getKeyRingSettings; + } + + /** Returns the object with the settings used for calls to getCryptoKey. */ + public UnaryCallSettings getCryptoKeySettings() { + return getCryptoKeySettings; + } + + /** Returns the object with the settings used for calls to getCryptoKeyVersion. */ + public UnaryCallSettings + getCryptoKeyVersionSettings() { + return getCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to getPublicKey. */ + public UnaryCallSettings getPublicKeySettings() { + return getPublicKeySettings; + } + + /** Returns the object with the settings used for calls to getImportJob. */ + public UnaryCallSettings getImportJobSettings() { + return getImportJobSettings; + } + + /** Returns the object with the settings used for calls to createKeyRing. */ + public UnaryCallSettings createKeyRingSettings() { + return createKeyRingSettings; + } + + /** Returns the object with the settings used for calls to createCryptoKey. */ + public UnaryCallSettings createCryptoKeySettings() { + return createCryptoKeySettings; + } + + /** Returns the object with the settings used for calls to createCryptoKeyVersion. */ + public UnaryCallSettings + createCryptoKeyVersionSettings() { + return createCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to importCryptoKeyVersion. */ + public UnaryCallSettings + importCryptoKeyVersionSettings() { + return importCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to createImportJob. */ + public UnaryCallSettings createImportJobSettings() { + return createImportJobSettings; + } + + /** Returns the object with the settings used for calls to updateCryptoKey. */ + public UnaryCallSettings updateCryptoKeySettings() { + return updateCryptoKeySettings; + } + + /** Returns the object with the settings used for calls to updateCryptoKeyVersion. */ + public UnaryCallSettings + updateCryptoKeyVersionSettings() { + return updateCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to encrypt. */ + public UnaryCallSettings encryptSettings() { + return encryptSettings; + } + + /** Returns the object with the settings used for calls to decrypt. */ + public UnaryCallSettings decryptSettings() { + return decryptSettings; + } + + /** Returns the object with the settings used for calls to asymmetricSign. */ + public UnaryCallSettings asymmetricSignSettings() { + return asymmetricSignSettings; + } + + /** Returns the object with the settings used for calls to asymmetricDecrypt. */ + public UnaryCallSettings + asymmetricDecryptSettings() { + return asymmetricDecryptSettings; + } + + /** Returns the object with the settings used for calls to updateCryptoKeyPrimaryVersion. */ + public UnaryCallSettings + updateCryptoKeyPrimaryVersionSettings() { + return updateCryptoKeyPrimaryVersionSettings; + } + + /** Returns the object with the settings used for calls to destroyCryptoKeyVersion. */ + public UnaryCallSettings + destroyCryptoKeyVersionSettings() { + return destroyCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to restoreCryptoKeyVersion. */ + public UnaryCallSettings + restoreCryptoKeyVersionSettings() { + return restoreCryptoKeyVersionSettings; + } + + /** Returns the object with the settings used for calls to setIamPolicy. */ + public UnaryCallSettings setIamPolicySettings() { + return setIamPolicySettings; + } + + /** Returns the object with the settings used for calls to getIamPolicy. */ + public UnaryCallSettings getIamPolicySettings() { + return getIamPolicySettings; + } + + /** Returns the object with the settings used for calls to testIamPermissions. */ + public UnaryCallSettings + testIamPermissionsSettings() { + return testIamPermissionsSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public KeyManagementServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcKeyManagementServiceStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "cloudkms.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(KeyManagementServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected KeyManagementServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + listKeyRingsSettings = settingsBuilder.listKeyRingsSettings().build(); + listCryptoKeysSettings = settingsBuilder.listCryptoKeysSettings().build(); + listCryptoKeyVersionsSettings = settingsBuilder.listCryptoKeyVersionsSettings().build(); + listImportJobsSettings = settingsBuilder.listImportJobsSettings().build(); + getKeyRingSettings = settingsBuilder.getKeyRingSettings().build(); + getCryptoKeySettings = settingsBuilder.getCryptoKeySettings().build(); + getCryptoKeyVersionSettings = settingsBuilder.getCryptoKeyVersionSettings().build(); + getPublicKeySettings = settingsBuilder.getPublicKeySettings().build(); + getImportJobSettings = settingsBuilder.getImportJobSettings().build(); + createKeyRingSettings = settingsBuilder.createKeyRingSettings().build(); + createCryptoKeySettings = settingsBuilder.createCryptoKeySettings().build(); + createCryptoKeyVersionSettings = settingsBuilder.createCryptoKeyVersionSettings().build(); + importCryptoKeyVersionSettings = settingsBuilder.importCryptoKeyVersionSettings().build(); + createImportJobSettings = settingsBuilder.createImportJobSettings().build(); + updateCryptoKeySettings = settingsBuilder.updateCryptoKeySettings().build(); + updateCryptoKeyVersionSettings = settingsBuilder.updateCryptoKeyVersionSettings().build(); + encryptSettings = settingsBuilder.encryptSettings().build(); + decryptSettings = settingsBuilder.decryptSettings().build(); + asymmetricSignSettings = settingsBuilder.asymmetricSignSettings().build(); + asymmetricDecryptSettings = settingsBuilder.asymmetricDecryptSettings().build(); + updateCryptoKeyPrimaryVersionSettings = + settingsBuilder.updateCryptoKeyPrimaryVersionSettings().build(); + destroyCryptoKeyVersionSettings = settingsBuilder.destroyCryptoKeyVersionSettings().build(); + restoreCryptoKeyVersionSettings = settingsBuilder.restoreCryptoKeyVersionSettings().build(); + setIamPolicySettings = settingsBuilder.setIamPolicySettings().build(); + getIamPolicySettings = settingsBuilder.getIamPolicySettings().build(); + testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build(); + } + /** Builder for KeyManagementServiceStubSettings. */ public static class Builder extends StubSettings.Builder { private final ImmutableList> unaryMethodSettingsBuilders; - - private final UnaryCallSettings.Builder - createImportJobSettings; - private final UnaryCallSettings.Builder - createCryptoKeySettings; - private final UnaryCallSettings.Builder setIamPolicySettings; - private final UnaryCallSettings.Builder getIamPolicySettings; - private final UnaryCallSettings.Builder - testIamPermissionsSettings; private final PagedCallSettings.Builder< ListKeyRingsRequest, ListKeyRingsResponse, ListKeyRingsPagedResponse> listKeyRingsSettings; @@ -687,10 +680,14 @@ public static class Builder private final UnaryCallSettings.Builder getPublicKeySettings; private final UnaryCallSettings.Builder getImportJobSettings; private final UnaryCallSettings.Builder createKeyRingSettings; + private final UnaryCallSettings.Builder + createCryptoKeySettings; private final UnaryCallSettings.Builder createCryptoKeyVersionSettings; private final UnaryCallSettings.Builder importCryptoKeyVersionSettings; + private final UnaryCallSettings.Builder + createImportJobSettings; private final UnaryCallSettings.Builder updateCryptoKeySettings; private final UnaryCallSettings.Builder @@ -707,7 +704,10 @@ public static class Builder destroyCryptoKeyVersionSettings; private final UnaryCallSettings.Builder restoreCryptoKeyVersionSettings; - + private final UnaryCallSettings.Builder setIamPolicySettings; + private final UnaryCallSettings.Builder getIamPolicySettings; + private final UnaryCallSettings.Builder + testIamPermissionsSettings; private static final ImmutableMap> RETRYABLE_CODE_DEFINITIONS; @@ -719,9 +719,8 @@ public static class Builder ImmutableSet.copyOf( Lists.newArrayList( StatusCode.Code.UNAVAILABLE, StatusCode.Code.DEADLINE_EXCEEDED))); - definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); definitions.put( - "no_retry_1_codes", ImmutableSet.copyOf(Lists.newArrayList())); + "no_retry_0_codes", ImmutableSet.copyOf(Lists.newArrayList())); RETRYABLE_CODE_DEFINITIONS = definitions.build(); } @@ -741,8 +740,6 @@ public static class Builder .setTotalTimeout(Duration.ofMillis(60000L)) .build(); definitions.put("retry_policy_1_params", settings); - settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); - definitions.put("no_retry_params", settings); settings = RetrySettings.newBuilder() .setInitialRpcTimeout(Duration.ofMillis(60000L)) @@ -750,77 +747,109 @@ public static class Builder .setMaxRpcTimeout(Duration.ofMillis(60000L)) .setTotalTimeout(Duration.ofMillis(60000L)) .build(); - definitions.put("no_retry_1_params", settings); + definitions.put("no_retry_0_params", settings); RETRY_PARAM_DEFINITIONS = definitions.build(); - } - - protected Builder() { - this((ClientContext) null); - } - - protected Builder(ClientContext clientContext) { - super(clientContext); - - createImportJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - - createCryptoKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - - setIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + } - getIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + protected Builder() { + this(((ClientContext) null)); + } - testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + protected Builder(ClientContext clientContext) { + super(clientContext); listKeyRingsSettings = PagedCallSettings.newBuilder(LIST_KEY_RINGS_PAGE_STR_FACT); - listCryptoKeysSettings = PagedCallSettings.newBuilder(LIST_CRYPTO_KEYS_PAGE_STR_FACT); - listCryptoKeyVersionsSettings = PagedCallSettings.newBuilder(LIST_CRYPTO_KEY_VERSIONS_PAGE_STR_FACT); - listImportJobsSettings = PagedCallSettings.newBuilder(LIST_IMPORT_JOBS_PAGE_STR_FACT); - getKeyRingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - getCryptoKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - getCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - getPublicKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - getImportJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - createKeyRingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - + createCryptoKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); createCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - importCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - + createImportJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); updateCryptoKeySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - updateCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - encryptSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - decryptSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - asymmetricSignSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - asymmetricDecryptSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - updateCryptoKeyPrimaryVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - destroyCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); - restoreCryptoKeyVersionSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + setIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + getIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); unaryMethodSettingsBuilders = ImmutableList.>of( - createImportJobSettings, + listKeyRingsSettings, + listCryptoKeysSettings, + listCryptoKeyVersionsSettings, + listImportJobsSettings, + getKeyRingSettings, + getCryptoKeySettings, + getCryptoKeyVersionSettings, + getPublicKeySettings, + getImportJobSettings, + createKeyRingSettings, createCryptoKeySettings, + createCryptoKeyVersionSettings, + importCryptoKeyVersionSettings, + createImportJobSettings, + updateCryptoKeySettings, + updateCryptoKeyVersionSettings, + encryptSettings, + decryptSettings, + asymmetricSignSettings, + asymmetricDecryptSettings, + updateCryptoKeyPrimaryVersionSettings, + destroyCryptoKeyVersionSettings, + restoreCryptoKeyVersionSettings, setIamPolicySettings, getIamPolicySettings, - testIamPermissionsSettings, + testIamPermissionsSettings); + initDefaults(this); + } + + protected Builder(KeyManagementServiceStubSettings settings) { + super(settings); + + listKeyRingsSettings = settings.listKeyRingsSettings.toBuilder(); + listCryptoKeysSettings = settings.listCryptoKeysSettings.toBuilder(); + listCryptoKeyVersionsSettings = settings.listCryptoKeyVersionsSettings.toBuilder(); + listImportJobsSettings = settings.listImportJobsSettings.toBuilder(); + getKeyRingSettings = settings.getKeyRingSettings.toBuilder(); + getCryptoKeySettings = settings.getCryptoKeySettings.toBuilder(); + getCryptoKeyVersionSettings = settings.getCryptoKeyVersionSettings.toBuilder(); + getPublicKeySettings = settings.getPublicKeySettings.toBuilder(); + getImportJobSettings = settings.getImportJobSettings.toBuilder(); + createKeyRingSettings = settings.createKeyRingSettings.toBuilder(); + createCryptoKeySettings = settings.createCryptoKeySettings.toBuilder(); + createCryptoKeyVersionSettings = settings.createCryptoKeyVersionSettings.toBuilder(); + importCryptoKeyVersionSettings = settings.importCryptoKeyVersionSettings.toBuilder(); + createImportJobSettings = settings.createImportJobSettings.toBuilder(); + updateCryptoKeySettings = settings.updateCryptoKeySettings.toBuilder(); + updateCryptoKeyVersionSettings = settings.updateCryptoKeyVersionSettings.toBuilder(); + encryptSettings = settings.encryptSettings.toBuilder(); + decryptSettings = settings.decryptSettings.toBuilder(); + asymmetricSignSettings = settings.asymmetricSignSettings.toBuilder(); + asymmetricDecryptSettings = settings.asymmetricDecryptSettings.toBuilder(); + updateCryptoKeyPrimaryVersionSettings = + settings.updateCryptoKeyPrimaryVersionSettings.toBuilder(); + destroyCryptoKeyVersionSettings = settings.destroyCryptoKeyVersionSettings.toBuilder(); + restoreCryptoKeyVersionSettings = settings.restoreCryptoKeyVersionSettings.toBuilder(); + setIamPolicySettings = settings.setIamPolicySettings.toBuilder(); + getIamPolicySettings = settings.getIamPolicySettings.toBuilder(); + testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( listKeyRingsSettings, listCryptoKeysSettings, listCryptoKeyVersionsSettings, @@ -831,8 +860,10 @@ protected Builder(ClientContext clientContext) { getPublicKeySettings, getImportJobSettings, createKeyRingSettings, + createCryptoKeySettings, createCryptoKeyVersionSettings, importCryptoKeyVersionSettings, + createImportJobSettings, updateCryptoKeySettings, updateCryptoKeyVersionSettings, encryptSettings, @@ -841,47 +872,24 @@ protected Builder(ClientContext clientContext) { asymmetricDecryptSettings, updateCryptoKeyPrimaryVersionSettings, destroyCryptoKeyVersionSettings, - restoreCryptoKeyVersionSettings); - - initDefaults(this); + restoreCryptoKeyVersionSettings, + setIamPolicySettings, + getIamPolicySettings, + testIamPermissionsSettings); } private static Builder createDefault() { - Builder builder = new Builder((ClientContext) null); + Builder builder = new Builder(((ClientContext) null)); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); } private static Builder initDefaults(Builder builder) { - - builder - .createImportJobSettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - - builder - .createCryptoKeySettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - - builder - .setIamPolicySettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - - builder - .getIamPolicySettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - - builder - .testIamPermissionsSettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - builder .listKeyRingsSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) @@ -932,15 +940,25 @@ private static Builder initDefaults(Builder builder) { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); + builder + .createCryptoKeySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); + builder .createCryptoKeyVersionSettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); builder .importCryptoKeyVersionSettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) - .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); + + builder + .createImportJobSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); builder .updateCryptoKeySettings() @@ -987,71 +1005,25 @@ private static Builder initDefaults(Builder builder) { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - return builder; - } + builder + .setIamPolicySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - protected Builder(KeyManagementServiceStubSettings settings) { - super(settings); + builder + .getIamPolicySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - createImportJobSettings = settings.createImportJobSettings.toBuilder(); - createCryptoKeySettings = settings.createCryptoKeySettings.toBuilder(); - setIamPolicySettings = settings.setIamPolicySettings.toBuilder(); - getIamPolicySettings = settings.getIamPolicySettings.toBuilder(); - testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder(); - listKeyRingsSettings = settings.listKeyRingsSettings.toBuilder(); - listCryptoKeysSettings = settings.listCryptoKeysSettings.toBuilder(); - listCryptoKeyVersionsSettings = settings.listCryptoKeyVersionsSettings.toBuilder(); - listImportJobsSettings = settings.listImportJobsSettings.toBuilder(); - getKeyRingSettings = settings.getKeyRingSettings.toBuilder(); - getCryptoKeySettings = settings.getCryptoKeySettings.toBuilder(); - getCryptoKeyVersionSettings = settings.getCryptoKeyVersionSettings.toBuilder(); - getPublicKeySettings = settings.getPublicKeySettings.toBuilder(); - getImportJobSettings = settings.getImportJobSettings.toBuilder(); - createKeyRingSettings = settings.createKeyRingSettings.toBuilder(); - createCryptoKeyVersionSettings = settings.createCryptoKeyVersionSettings.toBuilder(); - importCryptoKeyVersionSettings = settings.importCryptoKeyVersionSettings.toBuilder(); - updateCryptoKeySettings = settings.updateCryptoKeySettings.toBuilder(); - updateCryptoKeyVersionSettings = settings.updateCryptoKeyVersionSettings.toBuilder(); - encryptSettings = settings.encryptSettings.toBuilder(); - decryptSettings = settings.decryptSettings.toBuilder(); - asymmetricSignSettings = settings.asymmetricSignSettings.toBuilder(); - asymmetricDecryptSettings = settings.asymmetricDecryptSettings.toBuilder(); - updateCryptoKeyPrimaryVersionSettings = - settings.updateCryptoKeyPrimaryVersionSettings.toBuilder(); - destroyCryptoKeyVersionSettings = settings.destroyCryptoKeyVersionSettings.toBuilder(); - restoreCryptoKeyVersionSettings = settings.restoreCryptoKeyVersionSettings.toBuilder(); + builder + .testIamPermissionsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); - unaryMethodSettingsBuilders = - ImmutableList.>of( - createImportJobSettings, - createCryptoKeySettings, - setIamPolicySettings, - getIamPolicySettings, - testIamPermissionsSettings, - listKeyRingsSettings, - listCryptoKeysSettings, - listCryptoKeyVersionsSettings, - listImportJobsSettings, - getKeyRingSettings, - getCryptoKeySettings, - getCryptoKeyVersionSettings, - getPublicKeySettings, - getImportJobSettings, - createKeyRingSettings, - createCryptoKeyVersionSettings, - importCryptoKeyVersionSettings, - updateCryptoKeySettings, - updateCryptoKeyVersionSettings, - encryptSettings, - decryptSettings, - asymmetricSignSettings, - asymmetricDecryptSettings, - updateCryptoKeyPrimaryVersionSettings, - destroyCryptoKeyVersionSettings, - restoreCryptoKeyVersionSettings); + return builder; } - // NEXT_MAJOR_VER: remove 'throws Exception' + // NEXT_MAJOR_VER: remove 'throws Exception'. /** * Applies the given settings updater function to all of the unary API methods in this service. * @@ -1067,32 +1039,6 @@ public Builder applyToAllUnaryMethods( return unaryMethodSettingsBuilders; } - /** Returns the builder for the settings used for calls to createImportJob. */ - public UnaryCallSettings.Builder createImportJobSettings() { - return createImportJobSettings; - } - - /** Returns the builder for the settings used for calls to createCryptoKey. */ - public UnaryCallSettings.Builder createCryptoKeySettings() { - return createCryptoKeySettings; - } - - /** Returns the builder for the settings used for calls to setIamPolicy. */ - public UnaryCallSettings.Builder setIamPolicySettings() { - return setIamPolicySettings; - } - - /** Returns the builder for the settings used for calls to getIamPolicy. */ - public UnaryCallSettings.Builder getIamPolicySettings() { - return getIamPolicySettings; - } - - /** Returns the builder for the settings used for calls to testIamPermissions. */ - public UnaryCallSettings.Builder - testIamPermissionsSettings() { - return testIamPermissionsSettings; - } - /** Returns the builder for the settings used for calls to listKeyRings. */ public PagedCallSettings.Builder< ListKeyRingsRequest, ListKeyRingsResponse, ListKeyRingsPagedResponse> @@ -1154,6 +1100,11 @@ public UnaryCallSettings.Builder createKeyRingSet return createKeyRingSettings; } + /** Returns the builder for the settings used for calls to createCryptoKey. */ + public UnaryCallSettings.Builder createCryptoKeySettings() { + return createCryptoKeySettings; + } + /** Returns the builder for the settings used for calls to createCryptoKeyVersion. */ public UnaryCallSettings.Builder createCryptoKeyVersionSettings() { @@ -1166,6 +1117,11 @@ public UnaryCallSettings.Builder createKeyRingSet return importCryptoKeyVersionSettings; } + /** Returns the builder for the settings used for calls to createImportJob. */ + public UnaryCallSettings.Builder createImportJobSettings() { + return createImportJobSettings; + } + /** Returns the builder for the settings used for calls to updateCryptoKey. */ public UnaryCallSettings.Builder updateCryptoKeySettings() { return updateCryptoKeySettings; @@ -1217,6 +1173,22 @@ public UnaryCallSettings.Builder decryptSetting return restoreCryptoKeyVersionSettings; } + /** Returns the builder for the settings used for calls to setIamPolicy. */ + public UnaryCallSettings.Builder setIamPolicySettings() { + return setIamPolicySettings; + } + + /** Returns the builder for the settings used for calls to getIamPolicy. */ + public UnaryCallSettings.Builder getIamPolicySettings() { + return getIamPolicySettings; + } + + /** Returns the builder for the settings used for calls to testIamPermissions. */ + public UnaryCallSettings.Builder + testIamPermissionsSettings() { + return testIamPermissionsSettings; + } + @Override public KeyManagementServiceStubSettings build() throws IOException { return new KeyManagementServiceStubSettings(this); diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java index 4e5d25c3..c893e292 100644 --- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java +++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.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 static com.google.cloud.kms.v1.KeyManagementServiceClient.ListCryptoKeyVersionsPagedResponse; @@ -29,24 +30,27 @@ import com.google.api.gax.rpc.InvalidArgumentException; import com.google.api.resourcenames.ResourceName; import com.google.common.collect.Lists; +import com.google.iam.v1.Binding; import com.google.iam.v1.GetIamPolicyRequest; +import com.google.iam.v1.GetPolicyOptions; +import com.google.iam.v1.MockIAMPolicy; import com.google.iam.v1.Policy; import com.google.iam.v1.SetIamPolicyRequest; import com.google.iam.v1.TestIamPermissionsRequest; import com.google.iam.v1.TestIamPermissionsResponse; import com.google.protobuf.AbstractMessage; import com.google.protobuf.ByteString; -import com.google.protobuf.Duration; import com.google.protobuf.FieldMask; +import com.google.protobuf.Int64Value; import com.google.protobuf.Timestamp; -import io.grpc.Status; import io.grpc.StatusRuntimeException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; -import java.util.Objects; import java.util.UUID; +import javax.annotation.Generated; import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; @@ -54,34 +58,34 @@ import org.junit.BeforeClass; import org.junit.Test; -@javax.annotation.Generated("by GAPIC") +@Generated("by gapic-generator-java") public class KeyManagementServiceClientTest { private static MockKeyManagementService mockKeyManagementService; - private static MockIAMPolicy mockIAMPolicy; - private static MockServiceHelper serviceHelper; + private static MockServiceHelper mockServiceHelper; private KeyManagementServiceClient client; + private static MockIAMPolicy mockIAMPolicy; private LocalChannelProvider channelProvider; @BeforeClass public static void startStaticServer() { mockKeyManagementService = new MockKeyManagementService(); mockIAMPolicy = new MockIAMPolicy(); - serviceHelper = + mockServiceHelper = new MockServiceHelper( UUID.randomUUID().toString(), Arrays.asList(mockKeyManagementService, mockIAMPolicy)); - serviceHelper.start(); + mockServiceHelper.start(); } @AfterClass public static void stopServer() { - serviceHelper.stop(); + mockServiceHelper.stop(); } @Before public void setUp() throws IOException { - serviceHelper.reset(); - channelProvider = serviceHelper.createChannelProvider(); + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); KeyManagementServiceSettings settings = KeyManagementServiceSettings.newBuilder() .setTransportChannelProvider(channelProvider) @@ -96,32 +100,29 @@ public void tearDown() throws Exception { } @Test - @SuppressWarnings("all") - public void createImportJobTest() { - ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); - ImportJob expectedResponse = ImportJob.newBuilder().setName(name.toString()).build(); + public void listKeyRingsTest() throws Exception { + KeyRing responsesElement = KeyRing.newBuilder().build(); + ListKeyRingsResponse expectedResponse = + ListKeyRingsResponse.newBuilder() + .setNextPageToken("") + .addAllKeyRings(Arrays.asList(responsesElement)) + .build(); mockKeyManagementService.addResponse(expectedResponse); - 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(); + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); - ImportJob actualResponse = client.createImportJob(parent, importJobId, importJob); - Assert.assertEquals(expectedResponse, actualResponse); + ListKeyRingsPagedResponse pagedListResponse = client.listKeyRings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getKeyRingsList().get(0), resources.get(0)); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - CreateImportJobRequest actualRequest = (CreateImportJobRequest) actualRequests.get(0); + ListKeyRingsRequest actualRequest = ((ListKeyRingsRequest) actualRequests.get(0)); - Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); - Assert.assertEquals(importJobId, actualRequest.getImportJobId()); - Assert.assertEquals(importJob, actualRequest.getImportJob()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -129,60 +130,43 @@ public void createImportJobTest() { } @Test - @SuppressWarnings("all") - public void createImportJobExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void listKeyRingsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - 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(); - - client.createImportJob(parent, importJobId, importJob); + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listKeyRings(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void createCryptoKeyTest() { - CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name.toString()).build(); + public void listKeyRingsTest2() throws Exception { + KeyRing responsesElement = KeyRing.newBuilder().build(); + ListKeyRingsResponse expectedResponse = + ListKeyRingsResponse.newBuilder() + .setNextPageToken("") + .addAllKeyRings(Arrays.asList(responsesElement)) + .build(); mockKeyManagementService.addResponse(expectedResponse); - 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(); + String parent = "parent-995424086"; - CryptoKey actualResponse = client.createCryptoKey(parent, cryptoKeyId, cryptoKey); - Assert.assertEquals(expectedResponse, actualResponse); + ListKeyRingsPagedResponse pagedListResponse = client.listKeyRings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getKeyRingsList().get(0), resources.get(0)); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - CreateCryptoKeyRequest actualRequest = (CreateCryptoKeyRequest) actualRequests.get(0); + ListKeyRingsRequest actualRequest = ((ListKeyRingsRequest) actualRequests.get(0)); - Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); - Assert.assertEquals(cryptoKeyId, actualRequest.getCryptoKeyId()); - Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); + Assert.assertEquals(parent, actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -190,56 +174,43 @@ public void createCryptoKeyTest() { } @Test - @SuppressWarnings("all") - public void createCryptoKeyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void listKeyRingsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - 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(); - - client.createCryptoKey(parent, cryptoKeyId, cryptoKey); + String parent = "parent-995424086"; + client.listKeyRings(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void setIamPolicyTest() { - int version = 351608024; - ByteString etag = ByteString.copyFromUtf8("21"); - Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build(); - mockIAMPolicy.addResponse(expectedResponse); + public void listCryptoKeysTest() throws Exception { + CryptoKey responsesElement = CryptoKey.newBuilder().build(); + ListCryptoKeysResponse expectedResponse = + ListCryptoKeysResponse.newBuilder() + .setNextPageToken("") + .addAllCryptoKeys(Arrays.asList(responsesElement)) + .build(); + mockKeyManagementService.addResponse(expectedResponse); - 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(); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - Policy actualResponse = client.setIamPolicy(request); - Assert.assertEquals(expectedResponse, actualResponse); + ListCryptoKeysPagedResponse pagedListResponse = client.listCryptoKeys(parent); - List actualRequests = mockIAMPolicy.getRequests(); + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getCryptoKeysList().get(0), resources.get(0)); + + List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - SetIamPolicyRequest actualRequest = (SetIamPolicyRequest) actualRequests.get(0); + ListCryptoKeysRequest actualRequest = ((ListCryptoKeysRequest) actualRequests.get(0)); - Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource())); - Assert.assertEquals(policy, actualRequest.getPolicy()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -247,49 +218,43 @@ public void setIamPolicyTest() { } @Test - @SuppressWarnings("all") - public void setIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); - mockIAMPolicy.addException(exception); + public void listCryptoKeysExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); try { - 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(); - - client.setIamPolicy(request); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + client.listCryptoKeys(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getIamPolicyTest() { - int version = 351608024; - ByteString etag = ByteString.copyFromUtf8("21"); - Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build(); - mockIAMPolicy.addResponse(expectedResponse); + public void listCryptoKeysTest2() throws Exception { + CryptoKey responsesElement = CryptoKey.newBuilder().build(); + ListCryptoKeysResponse expectedResponse = + ListCryptoKeysResponse.newBuilder() + .setNextPageToken("") + .addAllCryptoKeys(Arrays.asList(responsesElement)) + .build(); + mockKeyManagementService.addResponse(expectedResponse); - ResourceName resource = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - GetIamPolicyRequest request = - GetIamPolicyRequest.newBuilder().setResource(resource.toString()).build(); + String parent = "parent-995424086"; - Policy actualResponse = client.getIamPolicy(request); - Assert.assertEquals(expectedResponse, actualResponse); + ListCryptoKeysPagedResponse pagedListResponse = client.listCryptoKeys(parent); - List actualRequests = mockIAMPolicy.getRequests(); + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getCryptoKeysList().get(0), resources.get(0)); + + List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetIamPolicyRequest actualRequest = (GetIamPolicyRequest) actualRequests.get(0); + ListCryptoKeysRequest actualRequest = ((ListCryptoKeysRequest) actualRequests.get(0)); - Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource())); + Assert.assertEquals(parent, actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -297,48 +262,45 @@ public void getIamPolicyTest() { } @Test - @SuppressWarnings("all") - public void getIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); - mockIAMPolicy.addException(exception); + public void listCryptoKeysExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); try { - ResourceName resource = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - GetIamPolicyRequest request = - GetIamPolicyRequest.newBuilder().setResource(resource.toString()).build(); - - client.getIamPolicy(request); + String parent = "parent-995424086"; + client.listCryptoKeys(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void testIamPermissionsTest() { - TestIamPermissionsResponse expectedResponse = TestIamPermissionsResponse.newBuilder().build(); - mockIAMPolicy.addResponse(expectedResponse); + public void listCryptoKeyVersionsTest() throws Exception { + CryptoKeyVersion responsesElement = CryptoKeyVersion.newBuilder().build(); + ListCryptoKeyVersionsResponse expectedResponse = + ListCryptoKeyVersionsResponse.newBuilder() + .setNextPageToken("") + .addAllCryptoKeyVersions(Arrays.asList(responsesElement)) + .build(); + mockKeyManagementService.addResponse(expectedResponse); - ResourceName resource = + CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - List permissions = new ArrayList<>(); - TestIamPermissionsRequest request = - TestIamPermissionsRequest.newBuilder() - .setResource(resource.toString()) - .addAllPermissions(permissions) - .build(); - TestIamPermissionsResponse actualResponse = client.testIamPermissions(request); - Assert.assertEquals(expectedResponse, actualResponse); + ListCryptoKeyVersionsPagedResponse pagedListResponse = client.listCryptoKeyVersions(parent); - List actualRequests = mockIAMPolicy.getRequests(); + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getCryptoKeyVersionsList().get(0), resources.get(0)); + + List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - TestIamPermissionsRequest actualRequest = (TestIamPermissionsRequest) actualRequests.get(0); + ListCryptoKeyVersionsRequest actualRequest = + ((ListCryptoKeyVersionsRequest) actualRequests.get(0)); - Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource())); - Assert.assertEquals(permissions, actualRequest.getPermissionsList()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -346,56 +308,45 @@ public void testIamPermissionsTest() { } @Test - @SuppressWarnings("all") - public void testIamPermissionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); - mockIAMPolicy.addException(exception); + public void listCryptoKeyVersionsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); try { - ResourceName resource = + CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - List permissions = new ArrayList<>(); - TestIamPermissionsRequest request = - TestIamPermissionsRequest.newBuilder() - .setResource(resource.toString()) - .addAllPermissions(permissions) - .build(); - - client.testIamPermissions(request); + client.listCryptoKeyVersions(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void listKeyRingsTest() { - String nextPageToken = ""; - int totalSize = 705419236; - KeyRing keyRingsElement = KeyRing.newBuilder().build(); - List keyRings = Arrays.asList(keyRingsElement); - ListKeyRingsResponse expectedResponse = - ListKeyRingsResponse.newBuilder() - .setNextPageToken(nextPageToken) - .setTotalSize(totalSize) - .addAllKeyRings(keyRings) + public void listCryptoKeyVersionsTest2() throws Exception { + CryptoKeyVersion responsesElement = CryptoKeyVersion.newBuilder().build(); + ListCryptoKeyVersionsResponse expectedResponse = + ListCryptoKeyVersionsResponse.newBuilder() + .setNextPageToken("") + .addAllCryptoKeyVersions(Arrays.asList(responsesElement)) .build(); mockKeyManagementService.addResponse(expectedResponse); - LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + String parent = "parent-995424086"; - ListKeyRingsPagedResponse pagedListResponse = client.listKeyRings(parent); + ListCryptoKeyVersionsPagedResponse pagedListResponse = client.listCryptoKeyVersions(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); - List resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); - Assert.assertEquals(expectedResponse.getKeyRingsList().get(0), resources.get(0)); + Assert.assertEquals(expectedResponse.getCryptoKeyVersionsList().get(0), resources.get(0)); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - ListKeyRingsRequest actualRequest = (ListKeyRingsRequest) actualRequests.get(0); + ListCryptoKeyVersionsRequest actualRequest = + ((ListCryptoKeyVersionsRequest) actualRequests.get(0)); - Assert.assertEquals(parent, LocationName.parse(actualRequest.getParent())); + Assert.assertEquals(parent, actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -403,49 +354,43 @@ public void listKeyRingsTest() { } @Test - @SuppressWarnings("all") - public void listKeyRingsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void listCryptoKeyVersionsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); - - client.listKeyRings(parent); + String parent = "parent-995424086"; + client.listCryptoKeyVersions(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void listCryptoKeysTest() { - String nextPageToken = ""; - int totalSize = 705419236; - CryptoKey cryptoKeysElement = CryptoKey.newBuilder().build(); - List cryptoKeys = Arrays.asList(cryptoKeysElement); - ListCryptoKeysResponse expectedResponse = - ListCryptoKeysResponse.newBuilder() - .setNextPageToken(nextPageToken) - .setTotalSize(totalSize) - .addAllCryptoKeys(cryptoKeys) + public void listImportJobsTest() throws Exception { + ImportJob responsesElement = ImportJob.newBuilder().build(); + ListImportJobsResponse expectedResponse = + ListImportJobsResponse.newBuilder() + .setNextPageToken("") + .addAllImportJobs(Arrays.asList(responsesElement)) .build(); mockKeyManagementService.addResponse(expectedResponse); KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - ListCryptoKeysPagedResponse pagedListResponse = client.listCryptoKeys(parent); + ListImportJobsPagedResponse pagedListResponse = client.listImportJobs(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); - List resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); - Assert.assertEquals(expectedResponse.getCryptoKeysList().get(0), resources.get(0)); + Assert.assertEquals(expectedResponse.getImportJobsList().get(0), resources.get(0)); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - ListCryptoKeysRequest actualRequest = (ListCryptoKeysRequest) actualRequests.get(0); + ListImportJobsRequest actualRequest = ((ListImportJobsRequest) actualRequests.get(0)); - Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -453,51 +398,43 @@ public void listCryptoKeysTest() { } @Test - @SuppressWarnings("all") - public void listCryptoKeysExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void listImportJobsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - - client.listCryptoKeys(parent); + client.listImportJobs(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void listCryptoKeyVersionsTest() { - String nextPageToken = ""; - int totalSize = 705419236; - CryptoKeyVersion cryptoKeyVersionsElement = CryptoKeyVersion.newBuilder().build(); - List cryptoKeyVersions = Arrays.asList(cryptoKeyVersionsElement); - ListCryptoKeyVersionsResponse expectedResponse = - ListCryptoKeyVersionsResponse.newBuilder() - .setNextPageToken(nextPageToken) - .setTotalSize(totalSize) - .addAllCryptoKeyVersions(cryptoKeyVersions) + public void listImportJobsTest2() throws Exception { + ImportJob responsesElement = ImportJob.newBuilder().build(); + ListImportJobsResponse expectedResponse = + ListImportJobsResponse.newBuilder() + .setNextPageToken("") + .addAllImportJobs(Arrays.asList(responsesElement)) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + String parent = "parent-995424086"; - ListCryptoKeyVersionsPagedResponse pagedListResponse = client.listCryptoKeyVersions(parent); + ListImportJobsPagedResponse pagedListResponse = client.listImportJobs(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); - List resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); - Assert.assertEquals(expectedResponse.getCryptoKeyVersionsList().get(0), resources.get(0)); + Assert.assertEquals(expectedResponse.getImportJobsList().get(0), resources.get(0)); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - ListCryptoKeyVersionsRequest actualRequest = - (ListCryptoKeyVersionsRequest) actualRequests.get(0); + ListImportJobsRequest actualRequest = ((ListImportJobsRequest) actualRequests.get(0)); - Assert.assertEquals(parent, CryptoKeyName.parse(actualRequest.getParent())); + Assert.assertEquals(parent, actualRequest.getParent()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -505,50 +442,38 @@ public void listCryptoKeyVersionsTest() { } @Test - @SuppressWarnings("all") - public void listCryptoKeyVersionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void listImportJobsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - - client.listCryptoKeyVersions(parent); + String parent = "parent-995424086"; + client.listImportJobs(parent); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void listImportJobsTest() { - String nextPageToken = ""; - int totalSize = 705419236; - ImportJob importJobsElement = ImportJob.newBuilder().build(); - List importJobs = Arrays.asList(importJobsElement); - ListImportJobsResponse expectedResponse = - ListImportJobsResponse.newBuilder() - .setNextPageToken(nextPageToken) - .setTotalSize(totalSize) - .addAllImportJobs(importJobs) + public void getKeyRingTest() throws Exception { + KeyRing expectedResponse = + KeyRing.newBuilder() + .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - - ListImportJobsPagedResponse pagedListResponse = client.listImportJobs(parent); + KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - List resources = Lists.newArrayList(pagedListResponse.iterateAll()); - Assert.assertEquals(1, resources.size()); - Assert.assertEquals(expectedResponse.getImportJobsList().get(0), resources.get(0)); + KeyRing actualResponse = client.getKeyRing(name); + Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - ListImportJobsRequest actualRequest = (ListImportJobsRequest) actualRequests.get(0); + GetKeyRingRequest actualRequest = ((GetKeyRingRequest) actualRequests.get(0)); - Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); + Assert.assertEquals(name.toString(), actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -556,38 +481,38 @@ public void listImportJobsTest() { } @Test - @SuppressWarnings("all") - public void listImportJobsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getKeyRingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - - client.listImportJobs(parent); + KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + client.getKeyRing(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getKeyRingTest() { - KeyRingName name2 = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - KeyRing expectedResponse = KeyRing.newBuilder().setName(name2.toString()).build(); + public void getKeyRingTest2() throws Exception { + KeyRing expectedResponse = + KeyRing.newBuilder() + .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + String name = "name3373707"; KeyRing actualResponse = client.getKeyRing(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetKeyRingRequest actualRequest = (GetKeyRingRequest) actualRequests.get(0); + GetKeyRingRequest actualRequest = ((GetKeyRingRequest) actualRequests.get(0)); - Assert.assertEquals(name, KeyRingName.parse(actualRequest.getName())); + Assert.assertEquals(name, actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -595,26 +520,32 @@ public void getKeyRingTest() { } @Test - @SuppressWarnings("all") - public void getKeyRingExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getKeyRingExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - + String name = "name3373707"; client.getKeyRing(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getCryptoKeyTest() { - CryptoKeyName name2 = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name2.toString()).build(); + public void getCryptoKeyTest() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) + .build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); @@ -624,9 +555,9 @@ public void getCryptoKeyTest() { List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetCryptoKeyRequest actualRequest = (GetCryptoKeyRequest) actualRequests.get(0); + GetCryptoKeyRequest actualRequest = ((GetCryptoKeyRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); + Assert.assertEquals(name.toString(), actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -634,50 +565,45 @@ public void getCryptoKeyTest() { } @Test - @SuppressWarnings("all") public void getCryptoKeyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - client.getCryptoKey(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getCryptoKeyVersionTest() { - CryptoKeyVersionName name2 = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob = "importJob2125587491"; - String importFailureReason = "importFailureReason-494073229"; - CryptoKeyVersion expectedResponse = - CryptoKeyVersion.newBuilder() - .setName(name2.toString()) - .setImportJob(importJob) - .setImportFailureReason(importFailureReason) + public void getCryptoKeyTest2() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + String name = "name3373707"; - CryptoKeyVersion actualResponse = client.getCryptoKeyVersion(name); + CryptoKey actualResponse = client.getCryptoKey(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetCryptoKeyVersionRequest actualRequest = (GetCryptoKeyVersionRequest) actualRequests.get(0); + GetCryptoKeyRequest actualRequest = ((GetCryptoKeyRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); + Assert.assertEquals(name, actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -685,46 +611,56 @@ public void getCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void getCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getCryptoKeyExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - - client.getCryptoKeyVersion(name); + String name = "name3373707"; + client.getCryptoKey(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getPublicKeyTest() { - String pem = "pem110872"; - PublicKeyName name2 = - PublicKeyName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - PublicKey expectedResponse = - PublicKey.newBuilder().setPem(pem).setName(name2.toString()).build(); + public void getCryptoKeyVersionTest() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyVersionName name = CryptoKeyVersionName.of( "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - PublicKey actualResponse = client.getPublicKey(name); + CryptoKeyVersion actualResponse = client.getCryptoKeyVersion(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetPublicKeyRequest actualRequest = (GetPublicKeyRequest) actualRequests.get(0); + GetCryptoKeyVersionRequest actualRequest = ((GetCryptoKeyVersionRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); + Assert.assertEquals(name.toString(), actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -732,40 +668,56 @@ public void getPublicKeyTest() { } @Test - @SuppressWarnings("all") - public void getPublicKeyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { CryptoKeyVersionName name = CryptoKeyVersionName.of( "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - - client.getPublicKey(name); + client.getCryptoKeyVersion(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void getImportJobTest() { - ImportJobName name2 = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); - ImportJob expectedResponse = ImportJob.newBuilder().setName(name2.toString()).build(); + public void getCryptoKeyVersionTest2() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); + String name = "name3373707"; - ImportJob actualResponse = client.getImportJob(name); + CryptoKeyVersion actualResponse = client.getCryptoKeyVersion(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - GetImportJobRequest actualRequest = (GetImportJobRequest) actualRequests.get(0); + GetCryptoKeyVersionRequest actualRequest = ((GetCryptoKeyVersionRequest) actualRequests.get(0)); - Assert.assertEquals(name, ImportJobName.parse(actualRequest.getName())); + Assert.assertEquals(name, actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -773,43 +725,48 @@ public void getImportJobTest() { } @Test - @SuppressWarnings("all") - public void getImportJobExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getCryptoKeyVersionExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - ImportJobName name = - ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); - - client.getImportJob(name); + String name = "name3373707"; + client.getCryptoKeyVersion(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void createKeyRingTest() { - KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); - KeyRing expectedResponse = KeyRing.newBuilder().setName(name.toString()).build(); + public void getPublicKeyTest() throws Exception { + PublicKey expectedResponse = + PublicKey.newBuilder() + .setPem("pem110872") + .setPemCrc32C(Int64Value.newBuilder().build()) + .setName( + PublicKeyName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); - String keyRingId = "keyRingId-2056646742"; - KeyRing keyRing = KeyRing.newBuilder().build(); + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - KeyRing actualResponse = client.createKeyRing(parent, keyRingId, keyRing); + PublicKey actualResponse = client.getPublicKey(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - CreateKeyRingRequest actualRequest = (CreateKeyRingRequest) actualRequests.get(0); + GetPublicKeyRequest actualRequest = ((GetPublicKeyRequest) actualRequests.get(0)); - Assert.assertEquals(parent, LocationName.parse(actualRequest.getParent())); - Assert.assertEquals(keyRingId, actualRequest.getKeyRingId()); - Assert.assertEquals(keyRing, actualRequest.getKeyRing()); + Assert.assertEquals(name.toString(), actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -817,53 +774,48 @@ public void createKeyRingTest() { } @Test - @SuppressWarnings("all") - public void createKeyRingExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getPublicKeyExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); - String keyRingId = "keyRingId-2056646742"; - KeyRing keyRing = KeyRing.newBuilder().build(); - - client.createKeyRing(parent, keyRingId, keyRing); + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + client.getPublicKey(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void createCryptoKeyVersionTest() { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob = "importJob2125587491"; - String importFailureReason = "importFailureReason-494073229"; - CryptoKeyVersion expectedResponse = - CryptoKeyVersion.newBuilder() - .setName(name.toString()) - .setImportJob(importJob) - .setImportFailureReason(importFailureReason) + public void getPublicKeyTest2() throws Exception { + PublicKey expectedResponse = + PublicKey.newBuilder() + .setPem("pem110872") + .setPemCrc32C(Int64Value.newBuilder().build()) + .setName( + PublicKeyName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); + String name = "name3373707"; - CryptoKeyVersion actualResponse = client.createCryptoKeyVersion(parent, cryptoKeyVersion); + PublicKey actualResponse = client.getPublicKey(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - CreateCryptoKeyVersionRequest actualRequest = - (CreateCryptoKeyVersionRequest) actualRequests.get(0); + GetPublicKeyRequest actualRequest = ((GetPublicKeyRequest) actualRequests.get(0)); - Assert.assertEquals(parent, CryptoKeyName.parse(actualRequest.getParent())); - Assert.assertEquals(cryptoKeyVersion, actualRequest.getCryptoKeyVersion()); + Assert.assertEquals(name, actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -871,62 +823,46 @@ public void createCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void createCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getPublicKeyExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); - - client.createCryptoKeyVersion(parent, cryptoKeyVersion); + String name = "name3373707"; + client.getPublicKey(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void importCryptoKeyVersionTest() { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob2 = "importJob2-1714851050"; - String importFailureReason = "importFailureReason-494073229"; - CryptoKeyVersion expectedResponse = - CryptoKeyVersion.newBuilder() - .setName(name.toString()) - .setImportJob(importJob2) - .setImportFailureReason(importFailureReason) + public void getImportJobTest() throws Exception { + ImportJob expectedResponse = + ImportJob.newBuilder() + .setName( + ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setExpireEventTime(Timestamp.newBuilder().build()) + .setPublicKey(ImportJob.WrappingPublicKey.newBuilder().build()) + .setAttestation(KeyOperationAttestation.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = - CryptoKeyVersion.CryptoKeyVersionAlgorithm.CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED; - String importJob = "importJob2125587491"; - ImportCryptoKeyVersionRequest request = - ImportCryptoKeyVersionRequest.newBuilder() - .setParent(parent.toString()) - .setAlgorithm(algorithm) - .setImportJob(importJob) - .build(); + ImportJobName name = ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); - CryptoKeyVersion actualResponse = client.importCryptoKeyVersion(request); + ImportJob actualResponse = client.getImportJob(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - ImportCryptoKeyVersionRequest actualRequest = - (ImportCryptoKeyVersionRequest) actualRequests.get(0); + GetImportJobRequest actualRequest = ((GetImportJobRequest) actualRequests.get(0)); - Assert.assertEquals(parent, CryptoKeyName.parse(actualRequest.getParent())); - Assert.assertEquals(algorithm, actualRequest.getAlgorithm()); - Assert.assertEquals(importJob, actualRequest.getImportJob()); + Assert.assertEquals(name.toString(), actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -934,50 +870,47 @@ public void importCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void importCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getImportJobExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyName parent = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = - CryptoKeyVersion.CryptoKeyVersionAlgorithm.CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED; - String importJob = "importJob2125587491"; - ImportCryptoKeyVersionRequest request = - ImportCryptoKeyVersionRequest.newBuilder() - .setParent(parent.toString()) - .setAlgorithm(algorithm) - .setImportJob(importJob) - .build(); - - client.importCryptoKeyVersion(request); + ImportJobName name = + ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]"); + client.getImportJob(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void updateCryptoKeyTest() { - CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name.toString()).build(); + public void getImportJobTest2() throws Exception { + ImportJob expectedResponse = + ImportJob.newBuilder() + .setName( + ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setExpireEventTime(Timestamp.newBuilder().build()) + .setPublicKey(ImportJob.WrappingPublicKey.newBuilder().build()) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKey cryptoKey = CryptoKey.newBuilder().build(); - FieldMask updateMask = FieldMask.newBuilder().build(); + String name = "name3373707"; - CryptoKey actualResponse = client.updateCryptoKey(cryptoKey, updateMask); + ImportJob actualResponse = client.getImportJob(name); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - UpdateCryptoKeyRequest actualRequest = (UpdateCryptoKeyRequest) actualRequests.get(0); + GetImportJobRequest actualRequest = ((GetImportJobRequest) actualRequests.get(0)); - Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); - Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertEquals(name, actualRequest.getName()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -985,51 +918,42 @@ public void updateCryptoKeyTest() { } @Test - @SuppressWarnings("all") - public void updateCryptoKeyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void getImportJobExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKey cryptoKey = CryptoKey.newBuilder().build(); - FieldMask updateMask = FieldMask.newBuilder().build(); - - client.updateCryptoKey(cryptoKey, updateMask); + String name = "name3373707"; + client.getImportJob(name); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void updateCryptoKeyVersionTest() { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob = "importJob2125587491"; - String importFailureReason = "importFailureReason-494073229"; - CryptoKeyVersion expectedResponse = - CryptoKeyVersion.newBuilder() - .setName(name.toString()) - .setImportJob(importJob) - .setImportFailureReason(importFailureReason) + public void createKeyRingTest() throws Exception { + KeyRing expectedResponse = + KeyRing.newBuilder() + .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); - FieldMask updateMask = FieldMask.newBuilder().build(); + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + String keyRingId = "keyRingId-2027180374"; + KeyRing keyRing = KeyRing.newBuilder().build(); - CryptoKeyVersion actualResponse = client.updateCryptoKeyVersion(cryptoKeyVersion, updateMask); + KeyRing actualResponse = client.createKeyRing(parent, keyRingId, keyRing); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - UpdateCryptoKeyVersionRequest actualRequest = - (UpdateCryptoKeyVersionRequest) actualRequests.get(0); + CreateKeyRingRequest actualRequest = ((CreateKeyRingRequest) actualRequests.get(0)); - Assert.assertEquals(cryptoKeyVersion, actualRequest.getCryptoKeyVersion()); - Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(keyRingId, actualRequest.getKeyRingId()); + Assert.assertEquals(keyRing, actualRequest.getKeyRing()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1037,50 +961,44 @@ public void updateCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void updateCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createKeyRingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); - FieldMask updateMask = FieldMask.newBuilder().build(); - - client.updateCryptoKeyVersion(cryptoKeyVersion, updateMask); + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + String keyRingId = "keyRingId-2027180374"; + KeyRing keyRing = KeyRing.newBuilder().build(); + client.createKeyRing(parent, keyRingId, keyRing); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void encryptTest() { - String name2 = "name2-1052831874"; - ByteString ciphertext = ByteString.copyFromUtf8("-72"); - boolean verifiedPlaintextCrc32c = false; - boolean verifiedAdditionalAuthenticatedDataCrc32c = true; - EncryptResponse expectedResponse = - EncryptResponse.newBuilder() - .setName(name2) - .setCiphertext(ciphertext) - .setVerifiedPlaintextCrc32C(verifiedPlaintextCrc32c) - .setVerifiedAdditionalAuthenticatedDataCrc32C(verifiedAdditionalAuthenticatedDataCrc32c) + public void createKeyRingTest2() throws Exception { + KeyRing expectedResponse = + KeyRing.newBuilder() + .setName(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setCreateTime(Timestamp.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - ByteString plaintext = ByteString.copyFromUtf8("-9"); + String parent = "parent-995424086"; + String keyRingId = "keyRingId-2027180374"; + KeyRing keyRing = KeyRing.newBuilder().build(); - EncryptResponse actualResponse = client.encrypt(name, plaintext); + KeyRing actualResponse = client.createKeyRing(parent, keyRingId, keyRing); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - EncryptRequest actualRequest = (EncryptRequest) actualRequests.get(0); + CreateKeyRingRequest actualRequest = ((CreateKeyRingRequest) actualRequests.get(0)); - Assert.assertEquals(Objects.toString(name), Objects.toString(actualRequest.getName())); - Assert.assertEquals(plaintext, actualRequest.getPlaintext()); + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(keyRingId, actualRequest.getKeyRingId()); + Assert.assertEquals(keyRing, actualRequest.getKeyRing()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1088,41 +1006,50 @@ public void encryptTest() { } @Test - @SuppressWarnings("all") - public void encryptExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createKeyRingExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - ByteString plaintext = ByteString.copyFromUtf8("-9"); - - client.encrypt(name, plaintext); + String parent = "parent-995424086"; + String keyRingId = "keyRingId-2027180374"; + KeyRing keyRing = KeyRing.newBuilder().build(); + client.createKeyRing(parent, keyRingId, keyRing); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void decryptTest() { - ByteString plaintext = ByteString.copyFromUtf8("-9"); - DecryptResponse expectedResponse = DecryptResponse.newBuilder().setPlaintext(plaintext).build(); + public void createCryptoKeyTest() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - ByteString ciphertext = ByteString.copyFromUtf8("-72"); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + String cryptoKeyId = "cryptoKeyId-1643185255"; + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); - DecryptResponse actualResponse = client.decrypt(name, ciphertext); + CryptoKey actualResponse = client.createCryptoKey(parent, cryptoKeyId, cryptoKey); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - DecryptRequest actualRequest = (DecryptRequest) actualRequests.get(0); + CreateCryptoKeyRequest actualRequest = ((CreateCryptoKeyRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); - Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(cryptoKeyId, actualRequest.getCryptoKeyId()); + Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1130,51 +1057,50 @@ public void decryptTest() { } @Test - @SuppressWarnings("all") - public void decryptExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createCryptoKeyExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyName name = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - ByteString ciphertext = ByteString.copyFromUtf8("-72"); - - client.decrypt(name, ciphertext); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + String cryptoKeyId = "cryptoKeyId-1643185255"; + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); + client.createCryptoKey(parent, cryptoKeyId, cryptoKey); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void asymmetricSignTest() { - ByteString signature = ByteString.copyFromUtf8("-72"); - boolean verifiedDigestCrc32c = true; - String name2 = "name2-1052831874"; - AsymmetricSignResponse expectedResponse = - AsymmetricSignResponse.newBuilder() - .setSignature(signature) - .setVerifiedDigestCrc32C(verifiedDigestCrc32c) - .setName(name2) + public void createCryptoKeyTest2() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - Digest digest = Digest.newBuilder().build(); + String parent = "parent-995424086"; + String cryptoKeyId = "cryptoKeyId-1643185255"; + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); - AsymmetricSignResponse actualResponse = client.asymmetricSign(name, digest); + CryptoKey actualResponse = client.createCryptoKey(parent, cryptoKeyId, cryptoKey); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - AsymmetricSignRequest actualRequest = (AsymmetricSignRequest) actualRequests.get(0); + CreateCryptoKeyRequest actualRequest = ((CreateCryptoKeyRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); - Assert.assertEquals(digest, actualRequest.getDigest()); + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(cryptoKeyId, actualRequest.getCryptoKeyId()); + Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1182,50 +1108,60 @@ public void asymmetricSignTest() { } @Test - @SuppressWarnings("all") - public void asymmetricSignExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createCryptoKeyExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - Digest digest = Digest.newBuilder().build(); - - client.asymmetricSign(name, digest); + String parent = "parent-995424086"; + String cryptoKeyId = "cryptoKeyId-1643185255"; + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); + client.createCryptoKey(parent, cryptoKeyId, cryptoKey); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void asymmetricDecryptTest() { - ByteString plaintext = ByteString.copyFromUtf8("-9"); - boolean verifiedCiphertextCrc32c = true; - AsymmetricDecryptResponse expectedResponse = - AsymmetricDecryptResponse.newBuilder() - .setPlaintext(plaintext) - .setVerifiedCiphertextCrc32C(verifiedCiphertextCrc32c) + public void createCryptoKeyVersionTest() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - ByteString ciphertext = ByteString.copyFromUtf8("-72"); + CryptoKeyName parent = + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); - AsymmetricDecryptResponse actualResponse = client.asymmetricDecrypt(name, ciphertext); + CryptoKeyVersion actualResponse = client.createCryptoKeyVersion(parent, cryptoKeyVersion); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - AsymmetricDecryptRequest actualRequest = (AsymmetricDecryptRequest) actualRequests.get(0); + CreateCryptoKeyVersionRequest actualRequest = + ((CreateCryptoKeyVersionRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); - Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(cryptoKeyVersion, actualRequest.getCryptoKeyVersion()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1233,44 +1169,59 @@ public void asymmetricDecryptTest() { } @Test - @SuppressWarnings("all") - public void asymmetricDecryptExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - ByteString ciphertext = ByteString.copyFromUtf8("-72"); - - client.asymmetricDecrypt(name, ciphertext); + CryptoKeyName parent = + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); + client.createCryptoKeyVersion(parent, cryptoKeyVersion); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void updateCryptoKeyPrimaryVersionTest() { - CryptoKeyName name2 = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name2.toString()).build(); + public void createCryptoKeyVersionTest2() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - String cryptoKeyVersionId = "cryptoKeyVersionId729489152"; + String parent = "parent-995424086"; + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); - CryptoKey actualResponse = client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + CryptoKeyVersion actualResponse = client.createCryptoKeyVersion(parent, cryptoKeyVersion); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - UpdateCryptoKeyPrimaryVersionRequest actualRequest = - (UpdateCryptoKeyPrimaryVersionRequest) actualRequests.get(0); + CreateCryptoKeyVersionRequest actualRequest = + ((CreateCryptoKeyVersionRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); - Assert.assertEquals(cryptoKeyVersionId, actualRequest.getCryptoKeyVersionId()); + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(cryptoKeyVersion, actualRequest.getCryptoKeyVersion()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1278,52 +1229,65 @@ public void updateCryptoKeyPrimaryVersionTest() { } @Test - @SuppressWarnings("all") - public void updateCryptoKeyPrimaryVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createCryptoKeyVersionExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyName name = - CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); - String cryptoKeyVersionId = "cryptoKeyVersionId729489152"; - - client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + String parent = "parent-995424086"; + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); + client.createCryptoKeyVersion(parent, cryptoKeyVersion); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void destroyCryptoKeyVersionTest() { - CryptoKeyVersionName name2 = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob = "importJob2125587491"; - String importFailureReason = "importFailureReason-494073229"; + public void importCryptoKeyVersionTest() throws Exception { CryptoKeyVersion expectedResponse = CryptoKeyVersion.newBuilder() - .setName(name2.toString()) - .setImportJob(importJob) - .setImportFailureReason(importFailureReason) + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + ImportCryptoKeyVersionRequest request = + ImportCryptoKeyVersionRequest.newBuilder() + .setParent( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setImportJob("importJob-208547368") + .build(); - CryptoKeyVersion actualResponse = client.destroyCryptoKeyVersion(name); + CryptoKeyVersion actualResponse = client.importCryptoKeyVersion(request); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - DestroyCryptoKeyVersionRequest actualRequest = - (DestroyCryptoKeyVersionRequest) actualRequests.get(0); + ImportCryptoKeyVersionRequest actualRequest = + ((ImportCryptoKeyVersionRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); + Assert.assertEquals(request.getParent(), actualRequest.getParent()); + Assert.assertEquals(request.getAlgorithm(), actualRequest.getAlgorithm()); + Assert.assertEquals(request.getImportJob(), actualRequest.getImportJob()); + Assert.assertEquals(request.getRsaAesWrappedKey(), actualRequest.getRsaAesWrappedKey()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1331,52 +1295,56 @@ public void destroyCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void destroyCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void importCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - - client.destroyCryptoKeyVersion(name); + ImportCryptoKeyVersionRequest request = + ImportCryptoKeyVersionRequest.newBuilder() + .setParent( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setImportJob("importJob-208547368") + .build(); + client.importCryptoKeyVersion(request); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } @Test - @SuppressWarnings("all") - public void restoreCryptoKeyVersionTest() { - CryptoKeyVersionName name2 = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - String importJob = "importJob2125587491"; - String importFailureReason = "importFailureReason-494073229"; - CryptoKeyVersion expectedResponse = - CryptoKeyVersion.newBuilder() - .setName(name2.toString()) - .setImportJob(importJob) - .setImportFailureReason(importFailureReason) + public void createImportJobTest() throws Exception { + ImportJob expectedResponse = + ImportJob.newBuilder() + .setName( + ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setExpireEventTime(Timestamp.newBuilder().build()) + .setPublicKey(ImportJob.WrappingPublicKey.newBuilder().build()) + .setAttestation(KeyOperationAttestation.newBuilder().build()) .build(); mockKeyManagementService.addResponse(expectedResponse); - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + String importJobId = "importJobId1449444627"; + ImportJob importJob = ImportJob.newBuilder().build(); - CryptoKeyVersion actualResponse = client.restoreCryptoKeyVersion(name); + ImportJob actualResponse = client.createImportJob(parent, importJobId, importJob); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); - RestoreCryptoKeyVersionRequest actualRequest = - (RestoreCryptoKeyVersionRequest) actualRequests.get(0); + CreateImportJobRequest actualRequest = ((CreateImportJobRequest) actualRequests.get(0)); - Assert.assertEquals(name, CryptoKeyVersionName.parse(actualRequest.getName())); + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(importJobId, actualRequest.getImportJobId()); + Assert.assertEquals(importJob, actualRequest.getImportJob()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), @@ -1384,20 +1352,1009 @@ public void restoreCryptoKeyVersionTest() { } @Test - @SuppressWarnings("all") - public void restoreCryptoKeyVersionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + public void createImportJobExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); mockKeyManagementService.addException(exception); try { - CryptoKeyVersionName name = - CryptoKeyVersionName.of( - "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); - - client.restoreCryptoKeyVersion(name); + KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + String importJobId = "importJobId1449444627"; + ImportJob importJob = ImportJob.newBuilder().build(); + client.createImportJob(parent, importJobId, importJob); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createImportJobTest2() throws Exception { + ImportJob expectedResponse = + ImportJob.newBuilder() + .setName( + ImportJobName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[IMPORT_JOB]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setExpireTime(Timestamp.newBuilder().build()) + .setExpireEventTime(Timestamp.newBuilder().build()) + .setPublicKey(ImportJob.WrappingPublicKey.newBuilder().build()) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String parent = "parent-995424086"; + String importJobId = "importJobId1449444627"; + ImportJob importJob = ImportJob.newBuilder().build(); + + ImportJob actualResponse = client.createImportJob(parent, importJobId, importJob); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateImportJobRequest actualRequest = ((CreateImportJobRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(importJobId, actualRequest.getImportJobId()); + Assert.assertEquals(importJob, actualRequest.getImportJob()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createImportJobExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String parent = "parent-995424086"; + String importJobId = "importJobId1449444627"; + ImportJob importJob = ImportJob.newBuilder().build(); + client.createImportJob(parent, importJobId, importJob); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateCryptoKeyTest() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + CryptoKey actualResponse = client.updateCryptoKey(cryptoKey, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateCryptoKeyRequest actualRequest = ((UpdateCryptoKeyRequest) actualRequests.get(0)); + + Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateCryptoKeyExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKey cryptoKey = CryptoKey.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateCryptoKey(cryptoKey, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateCryptoKeyVersionTest() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + CryptoKeyVersion actualResponse = client.updateCryptoKeyVersion(cryptoKeyVersion, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateCryptoKeyVersionRequest actualRequest = + ((UpdateCryptoKeyVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(cryptoKeyVersion, actualRequest.getCryptoKeyVersion()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateCryptoKeyVersion(cryptoKeyVersion, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void encryptTest() throws Exception { + EncryptResponse expectedResponse = + EncryptResponse.newBuilder() + .setName("name3373707") + .setCiphertext(ByteString.EMPTY) + .setCiphertextCrc32C(Int64Value.newBuilder().build()) + .setVerifiedPlaintextCrc32C(true) + .setVerifiedAdditionalAuthenticatedDataCrc32C(true) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + ResourceName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + ByteString plaintext = ByteString.EMPTY; + + EncryptResponse actualResponse = client.encrypt(name, plaintext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + EncryptRequest actualRequest = ((EncryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertEquals(plaintext, actualRequest.getPlaintext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void encryptExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + ResourceName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); + ByteString plaintext = ByteString.EMPTY; + client.encrypt(name, plaintext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void encryptTest2() throws Exception { + EncryptResponse expectedResponse = + EncryptResponse.newBuilder() + .setName("name3373707") + .setCiphertext(ByteString.EMPTY) + .setCiphertextCrc32C(Int64Value.newBuilder().build()) + .setVerifiedPlaintextCrc32C(true) + .setVerifiedAdditionalAuthenticatedDataCrc32C(true) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + ByteString plaintext = ByteString.EMPTY; + + EncryptResponse actualResponse = client.encrypt(name, plaintext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + EncryptRequest actualRequest = ((EncryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(plaintext, actualRequest.getPlaintext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void encryptExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + ByteString plaintext = ByteString.EMPTY; + client.encrypt(name, plaintext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void decryptTest() throws Exception { + DecryptResponse expectedResponse = + DecryptResponse.newBuilder() + .setPlaintext(ByteString.EMPTY) + .setPlaintextCrc32C(Int64Value.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + ByteString ciphertext = ByteString.EMPTY; + + DecryptResponse actualResponse = client.decrypt(name, ciphertext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DecryptRequest actualRequest = ((DecryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void decryptExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyName name = + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + ByteString ciphertext = ByteString.EMPTY; + client.decrypt(name, ciphertext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void decryptTest2() throws Exception { + DecryptResponse expectedResponse = + DecryptResponse.newBuilder() + .setPlaintext(ByteString.EMPTY) + .setPlaintextCrc32C(Int64Value.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + ByteString ciphertext = ByteString.EMPTY; + + DecryptResponse actualResponse = client.decrypt(name, ciphertext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DecryptRequest actualRequest = ((DecryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void decryptExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + ByteString ciphertext = ByteString.EMPTY; + client.decrypt(name, ciphertext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void asymmetricSignTest() throws Exception { + AsymmetricSignResponse expectedResponse = + AsymmetricSignResponse.newBuilder() + .setSignature(ByteString.EMPTY) + .setSignatureCrc32C(Int64Value.newBuilder().build()) + .setVerifiedDigestCrc32C(true) + .setName("name3373707") + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + Digest digest = Digest.newBuilder().build(); + + AsymmetricSignResponse actualResponse = client.asymmetricSign(name, digest); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AsymmetricSignRequest actualRequest = ((AsymmetricSignRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertEquals(digest, actualRequest.getDigest()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void asymmetricSignExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + Digest digest = Digest.newBuilder().build(); + client.asymmetricSign(name, digest); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void asymmetricSignTest2() throws Exception { + AsymmetricSignResponse expectedResponse = + AsymmetricSignResponse.newBuilder() + .setSignature(ByteString.EMPTY) + .setSignatureCrc32C(Int64Value.newBuilder().build()) + .setVerifiedDigestCrc32C(true) + .setName("name3373707") + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + Digest digest = Digest.newBuilder().build(); + + AsymmetricSignResponse actualResponse = client.asymmetricSign(name, digest); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AsymmetricSignRequest actualRequest = ((AsymmetricSignRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(digest, actualRequest.getDigest()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void asymmetricSignExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + Digest digest = Digest.newBuilder().build(); + client.asymmetricSign(name, digest); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void asymmetricDecryptTest() throws Exception { + AsymmetricDecryptResponse expectedResponse = + AsymmetricDecryptResponse.newBuilder() + .setPlaintext(ByteString.EMPTY) + .setPlaintextCrc32C(Int64Value.newBuilder().build()) + .setVerifiedCiphertextCrc32C(true) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + ByteString ciphertext = ByteString.EMPTY; + + AsymmetricDecryptResponse actualResponse = client.asymmetricDecrypt(name, ciphertext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AsymmetricDecryptRequest actualRequest = ((AsymmetricDecryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void asymmetricDecryptExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + ByteString ciphertext = ByteString.EMPTY; + client.asymmetricDecrypt(name, ciphertext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void asymmetricDecryptTest2() throws Exception { + AsymmetricDecryptResponse expectedResponse = + AsymmetricDecryptResponse.newBuilder() + .setPlaintext(ByteString.EMPTY) + .setPlaintextCrc32C(Int64Value.newBuilder().build()) + .setVerifiedCiphertextCrc32C(true) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + ByteString ciphertext = ByteString.EMPTY; + + AsymmetricDecryptResponse actualResponse = client.asymmetricDecrypt(name, ciphertext); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AsymmetricDecryptRequest actualRequest = ((AsymmetricDecryptRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void asymmetricDecryptExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + ByteString ciphertext = ByteString.EMPTY; + client.asymmetricDecrypt(name, ciphertext); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateCryptoKeyPrimaryVersionTest() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + String cryptoKeyVersionId = "cryptoKeyVersionId987674581"; + + CryptoKey actualResponse = client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateCryptoKeyPrimaryVersionRequest actualRequest = + ((UpdateCryptoKeyPrimaryVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertEquals(cryptoKeyVersionId, actualRequest.getCryptoKeyVersionId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateCryptoKeyPrimaryVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyName name = + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); + String cryptoKeyVersionId = "cryptoKeyVersionId987674581"; + client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateCryptoKeyPrimaryVersionTest2() throws Exception { + CryptoKey expectedResponse = + CryptoKey.newBuilder() + .setName( + CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") + .toString()) + .setPrimary(CryptoKeyVersion.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setNextRotationTime(Timestamp.newBuilder().build()) + .setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().build()) + .putAllLabels(new HashMap()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + String cryptoKeyVersionId = "cryptoKeyVersionId987674581"; + + CryptoKey actualResponse = client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateCryptoKeyPrimaryVersionRequest actualRequest = + ((UpdateCryptoKeyPrimaryVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(cryptoKeyVersionId, actualRequest.getCryptoKeyVersionId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateCryptoKeyPrimaryVersionExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + String cryptoKeyVersionId = "cryptoKeyVersionId987674581"; + client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void destroyCryptoKeyVersionTest() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + + CryptoKeyVersion actualResponse = client.destroyCryptoKeyVersion(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DestroyCryptoKeyVersionRequest actualRequest = + ((DestroyCryptoKeyVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void destroyCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + client.destroyCryptoKeyVersion(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void destroyCryptoKeyVersionTest2() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + + CryptoKeyVersion actualResponse = client.destroyCryptoKeyVersion(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DestroyCryptoKeyVersionRequest actualRequest = + ((DestroyCryptoKeyVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void destroyCryptoKeyVersionExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + client.destroyCryptoKeyVersion(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void restoreCryptoKeyVersionTest() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + + CryptoKeyVersion actualResponse = client.restoreCryptoKeyVersion(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + RestoreCryptoKeyVersionRequest actualRequest = + ((RestoreCryptoKeyVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void restoreCryptoKeyVersionExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + CryptoKeyVersionName name = + CryptoKeyVersionName.of( + "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]"); + client.restoreCryptoKeyVersion(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void restoreCryptoKeyVersionTest2() throws Exception { + CryptoKeyVersion expectedResponse = + CryptoKeyVersion.newBuilder() + .setName( + CryptoKeyVersionName.of( + "[PROJECT]", + "[LOCATION]", + "[KEY_RING]", + "[CRYPTO_KEY]", + "[CRYPTO_KEY_VERSION]") + .toString()) + .setProtectionLevel(ProtectionLevel.forNumber(0)) + .setAttestation(KeyOperationAttestation.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setGenerateTime(Timestamp.newBuilder().build()) + .setDestroyTime(Timestamp.newBuilder().build()) + .setDestroyEventTime(Timestamp.newBuilder().build()) + .setImportJob("importJob-208547368") + .setImportTime(Timestamp.newBuilder().build()) + .setImportFailureReason("importFailureReason985493705") + .setExternalProtectionLevelOptions(ExternalProtectionLevelOptions.newBuilder().build()) + .build(); + mockKeyManagementService.addResponse(expectedResponse); + + String name = "name3373707"; + + CryptoKeyVersion actualResponse = client.restoreCryptoKeyVersion(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockKeyManagementService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + RestoreCryptoKeyVersionRequest actualRequest = + ((RestoreCryptoKeyVersionRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void restoreCryptoKeyVersionExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockKeyManagementService.addException(exception); + + try { + String name = "name3373707"; + client.restoreCryptoKeyVersion(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void setIamPolicyTest() throws Exception { + Policy expectedResponse = + Policy.newBuilder() + .setVersion(351608024) + .addAllBindings(new ArrayList()) + .setEtag(ByteString.EMPTY) + .build(); + mockIAMPolicy.addResponse(expectedResponse); + + SetIamPolicyRequest request = + SetIamPolicyRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setPolicy(Policy.newBuilder().build()) + .build(); + + Policy actualResponse = client.setIamPolicy(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockIAMPolicy.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getResource(), actualRequest.getResource()); + Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void setIamPolicyExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockIAMPolicy.addException(exception); + + try { + SetIamPolicyRequest request = + SetIamPolicyRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setPolicy(Policy.newBuilder().build()) + .build(); + client.setIamPolicy(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getIamPolicyTest() throws Exception { + Policy expectedResponse = + Policy.newBuilder() + .setVersion(351608024) + .addAllBindings(new ArrayList()) + .setEtag(ByteString.EMPTY) + .build(); + mockIAMPolicy.addResponse(expectedResponse); + + GetIamPolicyRequest request = + GetIamPolicyRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setOptions(GetPolicyOptions.newBuilder().build()) + .build(); + + Policy actualResponse = client.getIamPolicy(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockIAMPolicy.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getResource(), actualRequest.getResource()); + Assert.assertEquals(request.getOptions(), actualRequest.getOptions()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getIamPolicyExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockIAMPolicy.addException(exception); + + try { + GetIamPolicyRequest request = + GetIamPolicyRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .setOptions(GetPolicyOptions.newBuilder().build()) + .build(); + client.getIamPolicy(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void testIamPermissionsTest() throws Exception { + TestIamPermissionsResponse expectedResponse = + TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList()).build(); + mockIAMPolicy.addResponse(expectedResponse); + + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .addAllPermissions(new ArrayList()) + .build(); + + TestIamPermissionsResponse actualResponse = client.testIamPermissions(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockIAMPolicy.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getResource(), actualRequest.getResource()); + Assert.assertEquals(request.getPermissionsList(), actualRequest.getPermissionsList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void testIamPermissionsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockIAMPolicy.addException(exception); + + try { + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString()) + .addAllPermissions(new ArrayList()) + .build(); + client.testIamPermissions(request); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { - // Expected exception + // Expected exception. } } } diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java index 0ec5b843..873089a2 100644 --- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java +++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.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.BetaApi; @@ -20,9 +21,10 @@ import com.google.protobuf.AbstractMessage; import io.grpc.ServerServiceDefinition; import java.util.List; +import javax.annotation.Generated; -@javax.annotation.Generated("by GAPIC") @BetaApi +@Generated("by gapic-generator-java") public class MockKeyManagementService implements MockGrpcService { private final MockKeyManagementServiceImpl serviceImpl; diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java index 266d340c..c5a5f4c0 100644 --- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java +++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.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.BetaApi; @@ -23,9 +24,10 @@ import java.util.LinkedList; import java.util.List; import java.util.Queue; +import javax.annotation.Generated; -@javax.annotation.Generated("by GAPIC") @BetaApi +@Generated("by gapic-generator-java") public class MockKeyManagementServiceImpl extends KeyManagementServiceImplBase { private List requests; private Queue responses; @@ -59,30 +61,42 @@ public void reset() { @Override public void listKeyRings( ListKeyRingsRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ListKeyRingsResponse) { requests.add(request); - responseObserver.onNext((ListKeyRingsResponse) response); + responseObserver.onNext(((ListKeyRingsResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListKeyRings, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListKeyRingsResponse.class.getName(), + Exception.class.getName()))); } } @Override public void listCryptoKeys( ListCryptoKeysRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ListCryptoKeysResponse) { requests.add(request); - responseObserver.onNext((ListCryptoKeysResponse) response); + responseObserver.onNext(((ListCryptoKeysResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListCryptoKeys, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListCryptoKeysResponse.class.getName(), + Exception.class.getName()))); } } @@ -90,252 +104,354 @@ public void listCryptoKeys( public void listCryptoKeyVersions( ListCryptoKeyVersionsRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ListCryptoKeyVersionsResponse) { requests.add(request); - responseObserver.onNext((ListCryptoKeyVersionsResponse) response); + responseObserver.onNext(((ListCryptoKeyVersionsResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListCryptoKeyVersions, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListCryptoKeyVersionsResponse.class.getName(), + Exception.class.getName()))); } } @Override public void listImportJobs( ListImportJobsRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ListImportJobsResponse) { requests.add(request); - responseObserver.onNext((ListImportJobsResponse) response); + responseObserver.onNext(((ListImportJobsResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListImportJobs, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListImportJobsResponse.class.getName(), + Exception.class.getName()))); } } @Override public void getKeyRing(GetKeyRingRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof KeyRing) { requests.add(request); - responseObserver.onNext((KeyRing) response); + responseObserver.onNext(((KeyRing) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetKeyRing, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + KeyRing.class.getName(), + Exception.class.getName()))); } } @Override public void getCryptoKey( GetCryptoKeyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKey) { requests.add(request); - responseObserver.onNext((CryptoKey) response); + responseObserver.onNext(((CryptoKey) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetCryptoKey, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKey.class.getName(), + Exception.class.getName()))); } } @Override public void getCryptoKeyVersion( GetCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } @Override public void getPublicKey( GetPublicKeyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof PublicKey) { requests.add(request); - responseObserver.onNext((PublicKey) response); + responseObserver.onNext(((PublicKey) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetPublicKey, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + PublicKey.class.getName(), + Exception.class.getName()))); } } @Override public void getImportJob( GetImportJobRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ImportJob) { requests.add(request); - responseObserver.onNext((ImportJob) response); + responseObserver.onNext(((ImportJob) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetImportJob, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ImportJob.class.getName(), + Exception.class.getName()))); } } @Override public void createKeyRing( CreateKeyRingRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof KeyRing) { requests.add(request); - responseObserver.onNext((KeyRing) response); + responseObserver.onNext(((KeyRing) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateKeyRing, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + KeyRing.class.getName(), + Exception.class.getName()))); } } @Override public void createCryptoKey( CreateCryptoKeyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKey) { requests.add(request); - responseObserver.onNext((CryptoKey) response); + responseObserver.onNext(((CryptoKey) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateCryptoKey, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKey.class.getName(), + Exception.class.getName()))); } } @Override public void createCryptoKeyVersion( CreateCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } @Override public void importCryptoKeyVersion( ImportCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ImportCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } @Override public void createImportJob( CreateImportJobRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof ImportJob) { requests.add(request); - responseObserver.onNext((ImportJob) response); + responseObserver.onNext(((ImportJob) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateImportJob, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ImportJob.class.getName(), + Exception.class.getName()))); } } @Override public void updateCryptoKey( UpdateCryptoKeyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKey) { requests.add(request); - responseObserver.onNext((CryptoKey) response); + responseObserver.onNext(((CryptoKey) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateCryptoKey, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKey.class.getName(), + Exception.class.getName()))); } } @Override public void updateCryptoKeyVersion( UpdateCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } @Override public void encrypt(EncryptRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof EncryptResponse) { requests.add(request); - responseObserver.onNext((EncryptResponse) response); + responseObserver.onNext(((EncryptResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method Encrypt, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + EncryptResponse.class.getName(), + Exception.class.getName()))); } } @Override public void decrypt(DecryptRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof DecryptResponse) { requests.add(request); - responseObserver.onNext((DecryptResponse) response); + responseObserver.onNext(((DecryptResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method Decrypt, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + DecryptResponse.class.getName(), + Exception.class.getName()))); } } @Override public void asymmetricSign( AsymmetricSignRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof AsymmetricSignResponse) { requests.add(request); - responseObserver.onNext((AsymmetricSignResponse) response); + responseObserver.onNext(((AsymmetricSignResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method AsymmetricSign, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + AsymmetricSignResponse.class.getName(), + Exception.class.getName()))); } } @@ -343,60 +459,84 @@ public void asymmetricSign( public void asymmetricDecrypt( AsymmetricDecryptRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof AsymmetricDecryptResponse) { requests.add(request); - responseObserver.onNext((AsymmetricDecryptResponse) response); + responseObserver.onNext(((AsymmetricDecryptResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method AsymmetricDecrypt, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + AsymmetricDecryptResponse.class.getName(), + Exception.class.getName()))); } } @Override public void updateCryptoKeyPrimaryVersion( UpdateCryptoKeyPrimaryVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKey) { requests.add(request); - responseObserver.onNext((CryptoKey) response); + responseObserver.onNext(((CryptoKey) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateCryptoKeyPrimaryVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKey.class.getName(), + Exception.class.getName()))); } } @Override public void destroyCryptoKeyVersion( DestroyCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DestroyCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } @Override public void restoreCryptoKeyVersion( RestoreCryptoKeyVersionRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof CryptoKeyVersion) { requests.add(request); - responseObserver.onNext((CryptoKeyVersion) response); + responseObserver.onNext(((CryptoKeyVersion) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method RestoreCryptoKeyVersion, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + CryptoKeyVersion.class.getName(), + Exception.class.getName()))); } } } diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicy.java b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java similarity index 88% rename from google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicy.java rename to google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java index 533de552..01223b3a 100644 --- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicy.java +++ b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.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,16 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.google.cloud.kms.v1; + +package com.google.iam.v1; import com.google.api.core.BetaApi; import com.google.api.gax.grpc.testing.MockGrpcService; import com.google.protobuf.AbstractMessage; import io.grpc.ServerServiceDefinition; import java.util.List; +import javax.annotation.Generated; -@javax.annotation.Generated("by GAPIC") @BetaApi +@Generated("by gapic-generator-java") public class MockIAMPolicy implements MockGrpcService { private final MockIAMPolicyImpl serviceImpl; diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicyImpl.java b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java similarity index 58% rename from google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicyImpl.java rename to google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java index 87733e61..fc661c90 100644 --- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicyImpl.java +++ b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.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,24 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.google.cloud.kms.v1; + +package com.google.iam.v1; import com.google.api.core.BetaApi; -import com.google.iam.v1.GetIamPolicyRequest; import com.google.iam.v1.IAMPolicyGrpc.IAMPolicyImplBase; -import com.google.iam.v1.Policy; -import com.google.iam.v1.SetIamPolicyRequest; -import com.google.iam.v1.TestIamPermissionsRequest; -import com.google.iam.v1.TestIamPermissionsResponse; import com.google.protobuf.AbstractMessage; import io.grpc.stub.StreamObserver; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; +import javax.annotation.Generated; -@javax.annotation.Generated("by GAPIC") @BetaApi +@Generated("by gapic-generator-java") public class MockIAMPolicyImpl extends IAMPolicyImplBase { private List requests; private Queue responses; @@ -63,29 +60,41 @@ public void reset() { @Override public void setIamPolicy(SetIamPolicyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof Policy) { requests.add(request); - responseObserver.onNext((Policy) response); + responseObserver.onNext(((Policy) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method SetIamPolicy, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Policy.class.getName(), + Exception.class.getName()))); } } @Override public void getIamPolicy(GetIamPolicyRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof Policy) { requests.add(request); - responseObserver.onNext((Policy) response); + responseObserver.onNext(((Policy) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetIamPolicy, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Policy.class.getName(), + Exception.class.getName()))); } } @@ -93,15 +102,21 @@ public void getIamPolicy(GetIamPolicyRequest request, StreamObserver res public void testIamPermissions( TestIamPermissionsRequest request, StreamObserver responseObserver) { - Object response = responses.remove(); + Object response = responses.poll(); if (response instanceof TestIamPermissionsResponse) { requests.add(request); - responseObserver.onNext((TestIamPermissionsResponse) response); + responseObserver.onNext(((TestIamPermissionsResponse) response)); responseObserver.onCompleted(); } else if (response instanceof Exception) { - responseObserver.onError((Exception) response); + responseObserver.onError(((Exception) response)); } else { - responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method TestIamPermissions, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + TestIamPermissionsResponse.class.getName(), + Exception.class.getName()))); } } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java index c2c97085..3db697bd 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.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, @@ -22,22 +22,36 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class CryptoKeyName extends KeyName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION_KEY_RING_CRYPTO_KEY = PathTemplate.createWithoutUrlEncoding( "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"); - private volatile Map fieldValuesMap; - private final String project; private final String location; private final String keyRing; private final String cryptoKey; + @Deprecated + protected CryptoKeyName() { + project = null; + location = null; + keyRing = null; + cryptoKey = null; + } + + private CryptoKeyName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + keyRing = Preconditions.checkNotNull(builder.getKeyRing()); + cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); + } + public String getProject() { return project; } @@ -62,13 +76,6 @@ public Builder toBuilder() { return new Builder(this); } - private CryptoKeyName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - keyRing = Preconditions.checkNotNull(builder.getKeyRing()); - cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); - } - public static CryptoKeyName of( String project, String location, String keyRing, String cryptoKey) { return newBuilder() @@ -94,7 +101,7 @@ public static CryptoKeyName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION_KEY_RING_CRYPTO_KEY.validatedMatch( formattedString, "CryptoKeyName.parse: formattedString not in valid format"); return of( matchMap.get("project"), @@ -112,7 +119,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (CryptoKeyName value : values) { if (value == null) { list.add(""); @@ -124,18 +131,27 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); - fieldMapBuilder.put("keyRing", keyRing); - fieldMapBuilder.put("cryptoKey", cryptoKey); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (keyRing != null) { + fieldMapBuilder.put("key_ring", keyRing); + } + if (cryptoKey != null) { + fieldMapBuilder.put("crypto_key", cryptoKey); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -149,18 +165,51 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate( + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY.instantiate( "project", project, "location", location, "key_ring", keyRing, "crypto_key", cryptoKey); } - /** Builder for CryptoKeyName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + CryptoKeyName that = ((CryptoKeyName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.keyRing, that.keyRing) + && Objects.equals(this.cryptoKey, that.cryptoKey); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(keyRing); + h *= 1000003; + h ^= Objects.hashCode(cryptoKey); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}. + */ + public static class Builder { private String project; private String location; private String keyRing; private String cryptoKey; + protected Builder() {} + public String getProject() { return project; } @@ -197,8 +246,6 @@ public Builder setCryptoKey(String cryptoKey) { return this; } - private Builder() {} - private Builder(CryptoKeyName cryptoKeyName) { project = cryptoKeyName.project; location = cryptoKeyName.location; @@ -210,33 +257,4 @@ public CryptoKeyName build() { return new CryptoKeyName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof CryptoKeyName) { - CryptoKeyName that = (CryptoKeyName) o; - return (this.project.equals(that.project)) - && (this.location.equals(that.location)) - && (this.keyRing.equals(that.keyRing)) - && (this.cryptoKey.equals(that.cryptoKey)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - h *= 1000003; - h ^= keyRing.hashCode(); - h *= 1000003; - h ^= cryptoKey.hashCode(); - return h; - } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java index 7042773b..c9317320 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.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, @@ -23,23 +23,39 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class CryptoKeyVersionName implements ResourceName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION = PathTemplate.createWithoutUrlEncoding( "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"); - private volatile Map fieldValuesMap; - private final String project; private final String location; private final String keyRing; private final String cryptoKey; private final String cryptoKeyVersion; + @Deprecated + protected CryptoKeyVersionName() { + project = null; + location = null; + keyRing = null; + cryptoKey = null; + cryptoKeyVersion = null; + } + + private CryptoKeyVersionName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + keyRing = Preconditions.checkNotNull(builder.getKeyRing()); + cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); + cryptoKeyVersion = Preconditions.checkNotNull(builder.getCryptoKeyVersion()); + } + public String getProject() { return project; } @@ -68,14 +84,6 @@ public Builder toBuilder() { return new Builder(this); } - private CryptoKeyVersionName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - keyRing = Preconditions.checkNotNull(builder.getKeyRing()); - cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); - cryptoKeyVersion = Preconditions.checkNotNull(builder.getCryptoKeyVersion()); - } - public static CryptoKeyVersionName of( String project, String location, String keyRing, String cryptoKey, String cryptoKeyVersion) { return newBuilder() @@ -104,7 +112,7 @@ public static CryptoKeyVersionName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.validatedMatch( formattedString, "CryptoKeyVersionName.parse: formattedString not in valid format"); return of( matchMap.get("project"), @@ -123,7 +131,7 @@ public static List parseList(List formattedStrings } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (CryptoKeyVersionName value : values) { if (value == null) { list.add(""); @@ -135,19 +143,30 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); - fieldMapBuilder.put("keyRing", keyRing); - fieldMapBuilder.put("cryptoKey", cryptoKey); - fieldMapBuilder.put("cryptoKeyVersion", cryptoKeyVersion); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (keyRing != null) { + fieldMapBuilder.put("key_ring", keyRing); + } + if (cryptoKey != null) { + fieldMapBuilder.put("crypto_key", cryptoKey); + } + if (cryptoKeyVersion != null) { + fieldMapBuilder.put("crypto_key_version", cryptoKeyVersion); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -161,7 +180,7 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate( + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.instantiate( "project", project, "location", @@ -174,15 +193,51 @@ public String toString() { cryptoKeyVersion); } - /** Builder for CryptoKeyVersionName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + CryptoKeyVersionName that = ((CryptoKeyVersionName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.keyRing, that.keyRing) + && Objects.equals(this.cryptoKey, that.cryptoKey) + && Objects.equals(this.cryptoKeyVersion, that.cryptoKeyVersion); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(keyRing); + h *= 1000003; + h ^= Objects.hashCode(cryptoKey); + h *= 1000003; + h ^= Objects.hashCode(cryptoKeyVersion); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}. + */ + public static class Builder { private String project; private String location; private String keyRing; private String cryptoKey; private String cryptoKeyVersion; + protected Builder() {} + public String getProject() { return project; } @@ -228,8 +283,6 @@ public Builder setCryptoKeyVersion(String cryptoKeyVersion) { return this; } - private Builder() {} - private Builder(CryptoKeyVersionName cryptoKeyVersionName) { project = cryptoKeyVersionName.project; location = cryptoKeyVersionName.location; @@ -242,36 +295,4 @@ public CryptoKeyVersionName build() { return new CryptoKeyVersionName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof CryptoKeyVersionName) { - CryptoKeyVersionName that = (CryptoKeyVersionName) o; - return (this.project.equals(that.project)) - && (this.location.equals(that.location)) - && (this.keyRing.equals(that.keyRing)) - && (this.cryptoKey.equals(that.cryptoKey)) - && (this.cryptoKeyVersion.equals(that.cryptoKeyVersion)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - h *= 1000003; - h ^= keyRing.hashCode(); - h *= 1000003; - h ^= cryptoKey.hashCode(); - h *= 1000003; - h ^= cryptoKeyVersion.hashCode(); - return h; - } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java index 69edc245..23b29da2 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.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, @@ -23,22 +23,36 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class ImportJobName implements ResourceName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION_KEY_RING_IMPORT_JOB = PathTemplate.createWithoutUrlEncoding( "projects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}"); - private volatile Map fieldValuesMap; - private final String project; private final String location; private final String keyRing; private final String importJob; + @Deprecated + protected ImportJobName() { + project = null; + location = null; + keyRing = null; + importJob = null; + } + + private ImportJobName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + keyRing = Preconditions.checkNotNull(builder.getKeyRing()); + importJob = Preconditions.checkNotNull(builder.getImportJob()); + } + public String getProject() { return project; } @@ -63,13 +77,6 @@ public Builder toBuilder() { return new Builder(this); } - private ImportJobName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - keyRing = Preconditions.checkNotNull(builder.getKeyRing()); - importJob = Preconditions.checkNotNull(builder.getImportJob()); - } - public static ImportJobName of( String project, String location, String keyRing, String importJob) { return newBuilder() @@ -95,7 +102,7 @@ public static ImportJobName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION_KEY_RING_IMPORT_JOB.validatedMatch( formattedString, "ImportJobName.parse: formattedString not in valid format"); return of( matchMap.get("project"), @@ -113,7 +120,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (ImportJobName value : values) { if (value == null) { list.add(""); @@ -125,18 +132,27 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION_KEY_RING_IMPORT_JOB.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); - fieldMapBuilder.put("keyRing", keyRing); - fieldMapBuilder.put("importJob", importJob); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (keyRing != null) { + fieldMapBuilder.put("key_ring", keyRing); + } + if (importJob != null) { + fieldMapBuilder.put("import_job", importJob); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -150,18 +166,51 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate( + return PROJECT_LOCATION_KEY_RING_IMPORT_JOB.instantiate( "project", project, "location", location, "key_ring", keyRing, "import_job", importJob); } - /** Builder for ImportJobName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + ImportJobName that = ((ImportJobName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.keyRing, that.keyRing) + && Objects.equals(this.importJob, that.importJob); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(keyRing); + h *= 1000003; + h ^= Objects.hashCode(importJob); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}. + */ + public static class Builder { private String project; private String location; private String keyRing; private String importJob; + protected Builder() {} + public String getProject() { return project; } @@ -198,8 +247,6 @@ public Builder setImportJob(String importJob) { return this; } - private Builder() {} - private Builder(ImportJobName importJobName) { project = importJobName.project; location = importJobName.location; @@ -211,33 +258,4 @@ public ImportJobName build() { return new ImportJobName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof ImportJobName) { - ImportJobName that = (ImportJobName) o; - return (this.project.equals(that.project)) - && (this.location.equals(that.location)) - && (this.keyRing.equals(that.keyRing)) - && (this.importJob.equals(that.importJob)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - h *= 1000003; - h ^= keyRing.hashCode(); - h *= 1000003; - h ^= importJob.hashCode(); - return h; - } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java index c22b1120..59b25292 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.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, @@ -22,21 +22,33 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class KeyRingName extends KeyName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION_KEY_RING = PathTemplate.createWithoutUrlEncoding( "projects/{project}/locations/{location}/keyRings/{key_ring}"); - private volatile Map fieldValuesMap; - private final String project; private final String location; private final String keyRing; + @Deprecated + protected KeyRingName() { + project = null; + location = null; + keyRing = null; + } + + private KeyRingName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + keyRing = Preconditions.checkNotNull(builder.getKeyRing()); + } + public String getProject() { return project; } @@ -57,12 +69,6 @@ public Builder toBuilder() { return new Builder(this); } - private KeyRingName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - keyRing = Preconditions.checkNotNull(builder.getKeyRing()); - } - public static KeyRingName of(String project, String location, String keyRing) { return newBuilder().setProject(project).setLocation(location).setKeyRing(keyRing).build(); } @@ -81,7 +87,7 @@ public static KeyRingName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION_KEY_RING.validatedMatch( formattedString, "KeyRingName.parse: formattedString not in valid format"); return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("key_ring")); } @@ -95,7 +101,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (KeyRingName value : values) { if (value == null) { list.add(""); @@ -107,17 +113,24 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION_KEY_RING.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); - fieldMapBuilder.put("keyRing", keyRing); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (keyRing != null) { + fieldMapBuilder.put("key_ring", keyRing); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -131,16 +144,44 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate("project", project, "location", location, "key_ring", keyRing); + return PROJECT_LOCATION_KEY_RING.instantiate( + "project", project, "location", location, "key_ring", keyRing); } - /** Builder for KeyRingName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + KeyRingName that = ((KeyRingName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.keyRing, that.keyRing); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(keyRing); + return h; + } + + /** Builder for projects/{project}/locations/{location}/keyRings/{key_ring}. */ + public static class Builder { private String project; private String location; private String keyRing; + protected Builder() {} + public String getProject() { return project; } @@ -168,8 +209,6 @@ public Builder setKeyRing(String keyRing) { return this; } - private Builder() {} - private Builder(KeyRingName keyRingName) { project = keyRingName.project; location = keyRingName.location; @@ -180,30 +219,4 @@ public KeyRingName build() { return new KeyRingName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof KeyRingName) { - KeyRingName that = (KeyRingName) o; - return (this.project.equals(that.project)) - && (this.location.equals(that.location)) - && (this.keyRing.equals(that.keyRing)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - h *= 1000003; - h ^= keyRing.hashCode(); - return h; - } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java index 5866fd8a..bd6776a8 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.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, @@ -23,19 +23,29 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class LocationName implements ResourceName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION = PathTemplate.createWithoutUrlEncoding("projects/{project}/locations/{location}"); - private volatile Map fieldValuesMap; - private final String project; private final String location; + @Deprecated + protected LocationName() { + project = null; + location = null; + } + + private LocationName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + } + public String getProject() { return project; } @@ -52,11 +62,6 @@ public Builder toBuilder() { return new Builder(this); } - private LocationName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - } - public static LocationName of(String project, String location) { return newBuilder().setProject(project).setLocation(location).build(); } @@ -70,7 +75,7 @@ public static LocationName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION.validatedMatch( formattedString, "LocationName.parse: formattedString not in valid format"); return of(matchMap.get("project"), matchMap.get("location")); } @@ -84,7 +89,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (LocationName value : values) { if (value == null) { list.add(""); @@ -96,16 +101,21 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -119,15 +129,39 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate("project", project, "location", location); + return PROJECT_LOCATION.instantiate("project", project, "location", location); } - /** Builder for LocationName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + LocationName that = ((LocationName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + return h; + } + + /** Builder for projects/{project}/locations/{location}. */ + public static class Builder { private String project; private String location; + protected Builder() {} + public String getProject() { return project; } @@ -146,8 +180,6 @@ public Builder setLocation(String location) { return this; } - private Builder() {} - private Builder(LocationName locationName) { project = locationName.project; location = locationName.location; @@ -157,26 +189,4 @@ public LocationName build() { return new LocationName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof LocationName) { - LocationName that = (LocationName) o; - return (this.project.equals(that.project)) && (this.location.equals(that.location)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - return h; - } } diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKeyName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKeyName.java index 87d07c2f..048fc3f4 100644 --- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKeyName.java +++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKeyName.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, @@ -23,23 +23,39 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; -/** AUTO-GENERATED DOCUMENTATION AND CLASS */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class PublicKeyName implements ResourceName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION = PathTemplate.createWithoutUrlEncoding( "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey"); - private volatile Map fieldValuesMap; - private final String project; private final String location; private final String keyRing; private final String cryptoKey; private final String cryptoKeyVersion; + @Deprecated + protected PublicKeyName() { + project = null; + location = null; + keyRing = null; + cryptoKey = null; + cryptoKeyVersion = null; + } + + private PublicKeyName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + keyRing = Preconditions.checkNotNull(builder.getKeyRing()); + cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); + cryptoKeyVersion = Preconditions.checkNotNull(builder.getCryptoKeyVersion()); + } + public String getProject() { return project; } @@ -68,14 +84,6 @@ public Builder toBuilder() { return new Builder(this); } - private PublicKeyName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - location = Preconditions.checkNotNull(builder.getLocation()); - keyRing = Preconditions.checkNotNull(builder.getKeyRing()); - cryptoKey = Preconditions.checkNotNull(builder.getCryptoKey()); - cryptoKeyVersion = Preconditions.checkNotNull(builder.getCryptoKeyVersion()); - } - public static PublicKeyName of( String project, String location, String keyRing, String cryptoKey, String cryptoKeyVersion) { return newBuilder() @@ -104,7 +112,7 @@ public static PublicKeyName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.validatedMatch( formattedString, "PublicKeyName.parse: formattedString not in valid format"); return of( matchMap.get("project"), @@ -123,7 +131,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (PublicKeyName value : values) { if (value == null) { list.add(""); @@ -135,19 +143,30 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); - fieldMapBuilder.put("location", location); - fieldMapBuilder.put("keyRing", keyRing); - fieldMapBuilder.put("cryptoKey", cryptoKey); - fieldMapBuilder.put("cryptoKeyVersion", cryptoKeyVersion); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (keyRing != null) { + fieldMapBuilder.put("key_ring", keyRing); + } + if (cryptoKey != null) { + fieldMapBuilder.put("crypto_key", cryptoKey); + } + if (cryptoKeyVersion != null) { + fieldMapBuilder.put("crypto_key_version", cryptoKeyVersion); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -161,7 +180,7 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate( + return PROJECT_LOCATION_KEY_RING_CRYPTO_KEY_CRYPTO_KEY_VERSION.instantiate( "project", project, "location", @@ -174,15 +193,51 @@ public String toString() { cryptoKeyVersion); } - /** Builder for PublicKeyName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + PublicKeyName that = ((PublicKeyName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.keyRing, that.keyRing) + && Objects.equals(this.cryptoKey, that.cryptoKey) + && Objects.equals(this.cryptoKeyVersion, that.cryptoKeyVersion); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(keyRing); + h *= 1000003; + h ^= Objects.hashCode(cryptoKey); + h *= 1000003; + h ^= Objects.hashCode(cryptoKeyVersion); + return h; + } + + /** + * Builder for + * projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey. + */ + public static class Builder { private String project; private String location; private String keyRing; private String cryptoKey; private String cryptoKeyVersion; + protected Builder() {} + public String getProject() { return project; } @@ -228,8 +283,6 @@ public Builder setCryptoKeyVersion(String cryptoKeyVersion) { return this; } - private Builder() {} - private Builder(PublicKeyName publicKeyName) { project = publicKeyName.project; location = publicKeyName.location; @@ -242,36 +295,4 @@ public PublicKeyName build() { return new PublicKeyName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof PublicKeyName) { - PublicKeyName that = (PublicKeyName) o; - return (this.project.equals(that.project)) - && (this.location.equals(that.location)) - && (this.keyRing.equals(that.keyRing)) - && (this.cryptoKey.equals(that.cryptoKey)) - && (this.cryptoKeyVersion.equals(that.cryptoKeyVersion)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - h *= 1000003; - h ^= location.hashCode(); - h *= 1000003; - h ^= keyRing.hashCode(); - h *= 1000003; - h ^= cryptoKey.hashCode(); - h *= 1000003; - h ^= cryptoKeyVersion.hashCode(); - return h; - } } diff --git a/synth.metadata b/synth.metadata index a9a583a3..6073fd5c 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,15 +4,15 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-kms.git", - "sha": "b2295fd70411006c5eeb5b89206ef11b2a4ec083" + "sha": "93cfd17a5317f5f11e70b6b16fef42b4cdd8169a" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "0e915217fb5261c1e57bfaf0e16ee5c7feaaba89", - "internalRef": "361377784" + "sha": "b59fdf334dd6bba1cf11810e8bb1dbcc0e2196ec", + "internalRef": "375588753" } }, { @@ -104,16 +104,17 @@ "codecov.yaml", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java", + "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/gapic_metadata.json", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java", "google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java", "google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java", - "google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicy.java", - "google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockIAMPolicyImpl.java", "google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java", "google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java", + "google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java", + "google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java", "grpc-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceGrpc.java", "java.header", "license-checks.xml",