/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public CreateAppProfileRequest setRoutingPolicy(RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public UpdateAppProfileRequest setRoutingPolicy(@Nonnull RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask( com.google.bigtable.admin.v2.AppProfile.MULTI_CLUSTER_ROUTING_USE_ANY_FIELD_NUMBER); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask(com.google.bigtable.admin.v2.AppProfile.SINGLE_CLUSTER_ROUTING_FIELD_NUMBER); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
@Test public void testToProto() { CreateAppProfileRequest wrapper = CreateAppProfileRequest.of("my-instance", "my-profile") .setDescription("my description") .setRoutingPolicy(SingleClusterRoutingPolicy.of("my-cluster", true)) .setIgnoreWarnings(true); assertThat(wrapper.toProto("my-project")) .isEqualTo( com.google.bigtable.admin.v2.CreateAppProfileRequest.newBuilder() .setParent(InstanceName.of("my-project", "my-instance").toString()) .setAppProfileId("my-profile") .setAppProfile( com.google.bigtable.admin.v2.AppProfile.newBuilder() .setDescription("my description") .setSingleClusterRouting( SingleClusterRouting.newBuilder() .setClusterId("my-cluster") .setAllowTransactionalWrites(true))) .setIgnoreWarnings(true) .build()); }
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public UpdateAppProfileRequest setRoutingPolicy(@Nonnull RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask( com.google.bigtable.admin.v2.AppProfile.MULTI_CLUSTER_ROUTING_USE_ANY_FIELD_NUMBER); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); updateFieldMask(com.google.bigtable.admin.v2.AppProfile.SINGLE_CLUSTER_ROUTING_FIELD_NUMBER); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
/** Sets the routing policy for all read/write requests that use this app profile. */ @SuppressWarnings("WeakerAccess") public CreateAppProfileRequest setRoutingPolicy(RoutingPolicy routingPolicy) { Preconditions.checkNotNull(routingPolicy); if (routingPolicy instanceof MultiClusterRoutingPolicy) { proto .getAppProfileBuilder() .setMultiClusterRoutingUseAny(((MultiClusterRoutingPolicy) routingPolicy).toProto()); } else if (routingPolicy instanceof SingleClusterRoutingPolicy) { proto .getAppProfileBuilder() .setSingleClusterRouting(((SingleClusterRoutingPolicy) routingPolicy).toProto()); } else { throw new IllegalArgumentException("Unknown policy type: " + routingPolicy); } return this; }
@Test public void testToProto() { UpdateAppProfileRequest wrapper = UpdateAppProfileRequest.of("my-instance", "my-profile") .setDescription("my description") .setRoutingPolicy(SingleClusterRoutingPolicy.of("my-cluster", true)) .setIgnoreWarnings(true); assertThat(wrapper.toProto("my-project")) .isEqualTo( com.google.bigtable.admin.v2.UpdateAppProfileRequest.newBuilder() .setAppProfile( com.google.bigtable.admin.v2.AppProfile.newBuilder() .setName("projects/my-project/instances/my-instance/appProfiles/my-profile") .setDescription("my description") .setSingleClusterRouting( SingleClusterRouting.newBuilder() .setClusterId("my-cluster") .setAllowTransactionalWrites(true))) .setIgnoreWarnings(true) .setUpdateMask( FieldMask.newBuilder() .addPaths("description") .addPaths("single_cluster_routing")) .build()); }