public static String formatAppProfileName( String projectId, String instanceId, String appProfileId) { return formatInstanceName(projectId, instanceId) + "/appProfiles/" + appProfileId; } }
public static String formatTableName(String projectId, String instanceId, String tableId) { return formatInstanceName(projectId, instanceId) + "/tables/" + tableId; }
public static String formatClusterName(String projectId, String instanceId, String clusterId) { return formatInstanceName(projectId, instanceId) + "/clusters/" + clusterId; }
@InternalApi public com.google.bigtable.admin.v2.CreateTableRequest toProto( @Nonnull String projectId, @Nonnull String instanceId) { Preconditions.checkNotNull(projectId); Preconditions.checkNotNull(instanceId); return createTableRequest .setParent(NameUtil.formatInstanceName(projectId, instanceId)) .setTable(tableRequest.build()) .build(); } }
/** * Creates the request protobuf. This method is considered an internal implementation detail and * not meant to be used by applications. */ @InternalApi public com.google.bigtable.admin.v2.CreateAppProfileRequest toProto(String projectId) { String name = NameUtil.formatInstanceName(projectId, instanceId); return proto.setParent(name).build(); } }
/** * Creates the request protobuf. This method is considered an internal implementation detail and * not meant to be used by applications. */ @InternalApi public PartialUpdateInstanceRequest toProto(String projectId) { // Empty field mask implies full resource replacement, which would clear all fields in an empty // update request. Preconditions.checkState( !builder.getUpdateMask().getPathsList().isEmpty(), "Update request is empty"); builder.getInstanceBuilder().setName(NameUtil.formatInstanceName(projectId, instanceId)); return builder.build(); } }
/** * Asynchronously gets the instance representation by ID wrapped in a future. * * <p>Sample code: * * <pre>{@code * ApiFuture<Instance> instanceFuture = client.getInstanceAsync("my-instance"); * Instance instance = instanceFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Instance> getInstanceAsync(String instanceId) { String name = NameUtil.formatInstanceName(projectId, instanceId); com.google.bigtable.admin.v2.GetInstanceRequest request = com.google.bigtable.admin.v2.GetInstanceRequest.newBuilder().setName(name).build(); return ApiFutures.transform( stub.getInstanceCallable().futureCall(request), new ApiFunction<com.google.bigtable.admin.v2.Instance, Instance>() { @Override public Instance apply(com.google.bigtable.admin.v2.Instance proto) { return Instance.fromProto(proto); } }, MoreExecutors.directExecutor()); }
/** * Creates the request protobuf. This method is considered an internal implementation detail and * not meant to be used by applications. */ @InternalApi public com.google.bigtable.admin.v2.CreateClusterRequest toProto(String projectId) { proto.setParent(NameUtil.formatInstanceName(projectId, instanceId)); proto.getClusterBuilder().setLocation(NameUtil.formatLocationName(projectId, zone)); return proto.build(); }
/** * Asynchronously deletes the specified instance. * * <p>Sample code: * * <pre>{@code * ApiFuture<Void> deleteFuture = client.deleteInstanceAsync("my-instance"); * deleteFuture.get(); * }</pre> */ @SuppressWarnings("WeakerAccess") public ApiFuture<Void> deleteInstanceAsync(String instanceId) { String instanceName = NameUtil.formatInstanceName(projectId, instanceId); com.google.bigtable.admin.v2.DeleteInstanceRequest request = com.google.bigtable.admin.v2.DeleteInstanceRequest.newBuilder() .setName(instanceName) .build(); return ApiFutures.transform( stub.deleteInstanceCallable().futureCall(request), new ApiFunction<Empty, Void>() { @Override public Void apply(Empty input) { return null; } }, MoreExecutors.directExecutor()); }
String instanceName = NameUtil.formatInstanceName(projectId, instanceId);
ListTablesRequest request = ListTablesRequest.newBuilder() .setParent(NameUtil.formatInstanceName(projectId, instanceId)) .build();
@Test public void testExistsTrue() { // Setup com.google.bigtable.admin.v2.Instance expectedResponse = com.google.bigtable.admin.v2.Instance.newBuilder() .setName(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .build(); Mockito.when(mockGetInstanceCallable.futureCall(Matchers.any(GetInstanceRequest.class))) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute boolean found = adminClient.exists(INSTANCE_ID); // Verify assertThat(found).isTrue(); }
String name = NameUtil.formatInstanceName(projectId, instanceId);
String name = NameUtil.formatInstanceName(projectId, instanceId); com.google.bigtable.admin.v2.ListClustersRequest request = com.google.bigtable.admin.v2.ListClustersRequest.newBuilder().setParent(name).build();
.setParent(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .build();
String name = NameUtil.formatInstanceName(projectId, instanceId); final IamPolicyMarshaller marshaller = new IamPolicyMarshaller();
@Test public void testTestIamPermissions() { // Setup com.google.iam.v1.TestIamPermissionsRequest expectedRequest = com.google.iam.v1.TestIamPermissionsRequest.newBuilder() .setResource(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .addPermissions("bigtable.tables.readRows") .build(); com.google.iam.v1.TestIamPermissionsResponse expectedResponse = com.google.iam.v1.TestIamPermissionsResponse.newBuilder() .addPermissions("bigtable.tables.readRows") .build(); Mockito.when(mockTestIamPermissionsCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute List<String> actualResult = adminClient.testIamPermission(INSTANCE_ID, "bigtable.tables.readRows"); // Verify assertThat(actualResult).containsExactly("bigtable.tables.readRows"); }
@Test public void testGetIamPolicy() { // Setup com.google.iam.v1.GetIamPolicyRequest expectedRequest = com.google.iam.v1.GetIamPolicyRequest.newBuilder() .setResource(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .build(); com.google.iam.v1.Policy expectedResponse = com.google.iam.v1.Policy.newBuilder() .addBindings( com.google.iam.v1.Binding.newBuilder() .setRole("roles/bigtable.user") .addMembers("user:someone@example.com")) .setEtag(ByteString.copyFromUtf8("my-etag")) .build(); Mockito.when(mockGetIamPolicyCallable.futureCall(expectedRequest)) .thenReturn(ApiFutures.immediateFuture(expectedResponse)); // Execute Policy actualResult = adminClient.getIamPolicy(INSTANCE_ID); // Verify assertThat(actualResult) .isEqualTo( Policy.newBuilder() .addIdentity(Role.of("bigtable.user"), Identity.user("someone@example.com")) .setEtag(BaseEncoding.base64().encode("my-etag".getBytes())) .build()); }
.setResource(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .setPolicy( com.google.iam.v1.Policy.newBuilder()
.setParent(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID)) .setAppProfileId(APP_PROFILE_ID) .setAppProfile(