App Profile Args
data class AppProfileArgs(val appProfileId: Output<String>? = null, val description: Output<String>? = null, val ignoreWarnings: Output<Boolean>? = null, val instance: Output<String>? = null, val multiClusterRoutingClusterIds: Output<List<String>>? = null, val multiClusterRoutingUseAny: Output<Boolean>? = null, val project: Output<String>? = null, val singleClusterRouting: Output<AppProfileSingleClusterRoutingArgs>? = null) : ConvertibleToJava<AppProfileArgs>
App profile is a configuration object describing how Cloud Bigtable should treat traffic from a particular end user application. To get more information about AppProfile, see:
Example Usage
Bigtable App Profile Anycluster
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.bigtable.Instance;
import com.pulumi.gcp.bigtable.InstanceArgs;
import com.pulumi.gcp.bigtable.inputs.InstanceClusterArgs;
import com.pulumi.gcp.bigquery.AppProfile;
import com.pulumi.gcp.bigquery.AppProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var instance = new Instance("instance", InstanceArgs.builder()
.clusters(
InstanceClusterArgs.builder()
.clusterId("cluster-1")
.zone("us-central1-a")
.numNodes(3)
.storageType("HDD")
.build(),
InstanceClusterArgs.builder()
.clusterId("cluster-2")
.zone("us-central1-b")
.numNodes(3)
.storageType("HDD")
.build(),
InstanceClusterArgs.builder()
.clusterId("cluster-3")
.zone("us-central1-c")
.numNodes(3)
.storageType("HDD")
.build())
.deletionProtection("true")
.build());
var ap = new AppProfile("ap", AppProfileArgs.builder()
.instance(instance.name())
.appProfileId("bt-profile")
.multiClusterRoutingUseAny(true)
.ignoreWarnings(true)
.build());
}
}
Content copied to clipboard
Bigtable App Profile Singlecluster
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.bigtable.Instance;
import com.pulumi.gcp.bigtable.InstanceArgs;
import com.pulumi.gcp.bigtable.inputs.InstanceClusterArgs;
import com.pulumi.gcp.bigquery.AppProfile;
import com.pulumi.gcp.bigquery.AppProfileArgs;
import com.pulumi.gcp.bigquery.inputs.AppProfileSingleClusterRoutingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var instance = new Instance("instance", InstanceArgs.builder()
.clusters(InstanceClusterArgs.builder()
.clusterId("cluster-1")
.zone("us-central1-b")
.numNodes(3)
.storageType("HDD")
.build())
.deletionProtection("true")
.build());
var ap = new AppProfile("ap", AppProfileArgs.builder()
.instance(instance.name())
.appProfileId("bt-profile")
.singleClusterRouting(AppProfileSingleClusterRoutingArgs.builder()
.clusterId("cluster-1")
.allowTransactionalWrites(true)
.build())
.ignoreWarnings(true)
.build());
}
}
Content copied to clipboard
Bigtable App Profile Multicluster
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.bigtable.Instance;
import com.pulumi.gcp.bigtable.InstanceArgs;
import com.pulumi.gcp.bigtable.inputs.InstanceClusterArgs;
import com.pulumi.gcp.bigquery.AppProfile;
import com.pulumi.gcp.bigquery.AppProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var instance = new Instance("instance", InstanceArgs.builder()
.clusters(
InstanceClusterArgs.builder()
.clusterId("cluster-1")
.zone("us-central1-a")
.numNodes(3)
.storageType("HDD")
.build(),
InstanceClusterArgs.builder()
.clusterId("cluster-2")
.zone("us-central1-b")
.numNodes(3)
.storageType("HDD")
.build(),
InstanceClusterArgs.builder()
.clusterId("cluster-3")
.zone("us-central1-c")
.numNodes(3)
.storageType("HDD")
.build())
.deletionProtection("true")
.build());
var ap = new AppProfile("ap", AppProfileArgs.builder()
.instance(instance.name())
.appProfileId("bt-profile")
.multiClusterRoutingUseAny(true)
.multiClusterRoutingClusterIds(
"cluster-1",
"cluster-2")
.ignoreWarnings(true)
.build());
}
}
Content copied to clipboard
Import
AppProfile can be imported using any of these accepted formats
$ pulumi import gcp:bigquery/appProfile:AppProfile default projects/{{project}}/instances/{{instance}}/appProfiles/{{app_profile_id}}
Content copied to clipboard
$ pulumi import gcp:bigquery/appProfile:AppProfile default {{project}}/{{instance}}/{{app_profile_id}}
Content copied to clipboard
$ pulumi import gcp:bigquery/appProfile:AppProfile default {{instance}}/{{app_profile_id}}
Content copied to clipboard
Constructors
Link copied to clipboard
fun AppProfileArgs(appProfileId: Output<String>? = null, description: Output<String>? = null, ignoreWarnings: Output<Boolean>? = null, instance: Output<String>? = null, multiClusterRoutingClusterIds: Output<List<String>>? = null, multiClusterRoutingUseAny: Output<Boolean>? = null, project: Output<String>? = null, singleClusterRouting: Output<AppProfileSingleClusterRoutingArgs>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.