AppProfileArgs

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());
}
}

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());
}
}

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());
}
}

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}}
$ pulumi import gcp:bigquery/appProfile:AppProfile default {{project}}/{{instance}}/{{app_profile_id}}
$ pulumi import gcp:bigquery/appProfile:AppProfile default {{instance}}/{{app_profile_id}}

Constructors

Link copied to clipboard
constructor(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)

Properties

Link copied to clipboard
val appProfileId: Output<String>? = null

The unique name of the app profile in the form [_a-zA-Z0-9][-_&#46;a-zA-Z0-9]*.

Link copied to clipboard
val description: Output<String>? = null

Long form description of the use case for this app profile.

Link copied to clipboard
val ignoreWarnings: Output<Boolean>? = null

If true, ignore safety checks when deleting/updating the app profile.

Link copied to clipboard
val instance: Output<String>? = null

The name of the instance to create the app profile within.

Link copied to clipboard

The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.

Link copied to clipboard
val multiClusterRoutingUseAny: Output<Boolean>? = null

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.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard

Use a single-cluster routing policy. Structure is documented below.

Functions

Link copied to clipboard
open override fun toJava(): AppProfileArgs