AppProfile

class AppProfile : KotlinCustomResource

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}}

Properties

Link copied to clipboard
val appProfileId: Output<String>

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>?

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val ignoreWarnings: Output<Boolean>?

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

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

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

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 name: Output<String>

The unique name of the requested app profile. Values are of the form projects/<project>/instances/<instance>/appProfiles/<appProfileId>.

Link copied to clipboard
val project: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard
val urn: Output<String>