public static List<String> toStringList(List<KeyRingName> values) { List<String> list = new ArrayList<String>(values.size()); for (KeyRingName value : values) { if (value == null) { list.add(""); } else { list.add(value.toString()); } } return list; }
public static KeyRingName parse(String formattedString) { if (formattedString.isEmpty()) { return null; } Map<String, String> matchMap = PATH_TEMPLATE.validatedMatch( formattedString, "KeyRingName.parse: formattedString not in valid format"); return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("key_ring")); }
public static KeyName parse(String resourceNameString) { if (KeyRingName.isParsableFrom(resourceNameString)) { return KeyRingName.parse(resourceNameString); } if (CryptoKeyName.isParsableFrom(resourceNameString)) { return CryptoKeyName.parse(resourceNameString); } return UntypedKeyName.parse(resourceNameString); } }
public static String format(String project, String location, String keyRing) { return newBuilder() .setProject(project) .setLocation(location) .setKeyRing(keyRing) .build() .toString(); }
@Test @SuppressWarnings("all") public void createKeyRingTest() { KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); KeyRing expectedResponse = KeyRing.newBuilder().setName(name.toString()).build(); mockKeyManagementService.addResponse(expectedResponse); LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); String keyRingId = "keyRingId-2056646742"; KeyRing keyRing = KeyRing.newBuilder().build(); KeyRing actualResponse = client.createKeyRing(parent, keyRingId, keyRing); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); CreateKeyRingRequest actualRequest = (CreateKeyRingRequest) actualRequests.get(0); Assert.assertEquals(parent, LocationName.parse(actualRequest.getParent())); Assert.assertEquals(keyRingId, actualRequest.getKeyRingId()); Assert.assertEquals(keyRing, actualRequest.getKeyRing()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void getKeyRingTest() { KeyRingName name2 = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); KeyRing expectedResponse = KeyRing.newBuilder().setName(name2.toString()).build(); mockKeyManagementService.addResponse(expectedResponse); KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); KeyRing actualResponse = client.getKeyRing(name); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetKeyRingRequest actualRequest = (GetKeyRingRequest) actualRequests.get(0); Assert.assertEquals(name, KeyRingName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void listCryptoKeysTest() { String nextPageToken = ""; int totalSize = 705419236; CryptoKey cryptoKeysElement = CryptoKey.newBuilder().build(); List<CryptoKey> cryptoKeys = Arrays.asList(cryptoKeysElement); ListCryptoKeysResponse expectedResponse = ListCryptoKeysResponse.newBuilder() .setNextPageToken(nextPageToken) .setTotalSize(totalSize) .addAllCryptoKeys(cryptoKeys) .build(); mockKeyManagementService.addResponse(expectedResponse); KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); ListCryptoKeysPagedResponse pagedListResponse = client.listCryptoKeys(parent); List<CryptoKey> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getCryptoKeysList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListCryptoKeysRequest actualRequest = (ListCryptoKeysRequest) actualRequests.get(0); Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
public static List<KeyRingName> parseList(List<String> formattedStrings) { List<KeyRingName> list = new ArrayList<>(formattedStrings.size()); for (String formattedString : formattedStrings) { list.add(parse(formattedString)); } return list; }
/** * Retrieves the IAM policy for the given crypto key. */ public static Policy getKeyRingPolicy(String projectId, String locationId, String keyRingId) throws IOException { // Create the Cloud KMS client. try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) { // The resource name of the cryptoKey version String keyRingName = KeyRingName.format(projectId, locationId, keyRingId); // Get the current IAM policy and add the new account to it. Policy iamPolicy = client.getIamPolicy(keyRingName); return iamPolicy; } } // [END kms_get_keyring_policy]
public KeyRingName build() { return new KeyRingName(this); } }
public String getFieldValue(String fieldName) { return getFieldValuesMap().get(fieldName); }
private static void ensureKmsKeyRingIamPermissionsForTests( IAMPolicyGrpc.IAMPolicyBlockingStub iamStub, String projectId, String location, String keyRingName) throws StatusRuntimeException { ServiceAccount serviceAccount = storage.getServiceAccount(projectId); String kmsKeyRingResourcePath = KeyRingName.of(projectId, location, keyRingName).toString(); Binding binding = Binding.newBuilder() .setRole("roles/cloudkms.cryptoKeyEncrypterDecrypter") .addMembers("serviceAccount:" + serviceAccount.getEmail()) .build(); com.google.iam.v1.Policy policy = com.google.iam.v1.Policy.newBuilder().addBindings(binding).build(); SetIamPolicyRequest setIamPolicyRequest = SetIamPolicyRequest.newBuilder() .setResource(kmsKeyRingResourcePath) .setPolicy(policy) .build(); requestParamsHeader.put(requestParamsKey, "parent=" + kmsKeyRingResourcePath); iamStub = MetadataUtils.attachHeaders(iamStub, requestParamsHeader); iamStub.setIamPolicy(setIamPolicyRequest); }
public static String format(String project, String location, String keyRing) { return newBuilder() .setProject(project) .setLocation(location) .setKeyRing(keyRing) .build() .toString(); }
mockKeyManagementService.addResponse(expectedResponse); KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); String cryptoKeyId = "my-app-key"; CryptoKey.CryptoKeyPurpose purpose = CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT; CreateCryptoKeyRequest actualRequest = (CreateCryptoKeyRequest) actualRequests.get(0); Assert.assertEquals(parent, KeyRingName.parse(actualRequest.getParent())); Assert.assertEquals(cryptoKeyId, actualRequest.getCryptoKeyId()); Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey());
public static List<KeyRingName> parseList(List<String> formattedStrings) { List<KeyRingName> list = new ArrayList<>(formattedStrings.size()); for (String formattedString : formattedStrings) { list.add(parse(formattedString)); } return list; }
/** * Lists all crypto keys in the given key ring. */ public static List<CryptoKey> listCryptoKeys( String projectId, String locationId, String keyRingId) throws IOException { // Create the Cloud KMS client. try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) { // The resource name of the KeyRing to search. String parent = KeyRingName.format(projectId, locationId, keyRingId); // Retrieve a paginated list of CryptoKeys ListCryptoKeysPagedResponse response = client.listCryptoKeys(parent); ArrayList<CryptoKey> keys = new ArrayList<>(); // Iterate over all CryptoKeys (subsequent pages are retrieved automatically) for (CryptoKey cryptoKey : response.iterateAll()) { keys.add(cryptoKey); } return keys; } }
public KeyRingName build() { return new KeyRingName(this); } }
public String getFieldValue(String fieldName) { return getFieldValuesMap().get(fieldName); }
/** * Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing]. * * <p>Sample code: * * <pre><code> * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) { * KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]"); * KeyRing response = keyManagementServiceClient.getKeyRing(name); * } * </code></pre> * * @param name 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(KeyRingName name) { GetKeyRingRequest request = GetKeyRingRequest.newBuilder().setName(name == null ? null : name.toString()).build(); return getKeyRing(request); }