AppProfile

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

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.BigTable.Instance("instance", new()
    {
        Clusters = new[]
        {
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-1",
                Zone = "us-central1-a",
                NumNodes = 3,
                StorageType = "HDD",
            },
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-2",
                Zone = "us-central1-b",
                NumNodes = 3,
                StorageType = "HDD",
            },
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-3",
                Zone = "us-central1-c",
                NumNodes = 3,
                StorageType = "HDD",
            },
        },
        DeletionProtection = true,
    });

    var ap = new Gcp.BigQuery.AppProfile("ap", new()
    {
        Instance = instance.Name,
        AppProfileId = "bt-profile",
        MultiClusterRoutingUseAny = true,
        IgnoreWarnings = true,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigquery"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigtable"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := bigtable.NewInstance(ctx, "instance", &bigtable.InstanceArgs{
			Clusters: bigtable.InstanceClusterArray{
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-1"),
					Zone:        pulumi.String("us-central1-a"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-2"),
					Zone:        pulumi.String("us-central1-b"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-3"),
					Zone:        pulumi.String("us-central1-c"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = bigquery.NewAppProfile(ctx, "ap", &bigquery.AppProfileArgs{
			Instance:                  instance.Name,
			AppProfileId:              pulumi.String("bt-profile"),
			MultiClusterRoutingUseAny: pulumi.Bool(true),
			IgnoreWarnings:            pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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());

    }
}
import pulumi
import pulumi_gcp as gcp

instance = gcp.bigtable.Instance("instance",
    clusters=[
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-1",
            zone="us-central1-a",
            num_nodes=3,
            storage_type="HDD",
        ),
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-2",
            zone="us-central1-b",
            num_nodes=3,
            storage_type="HDD",
        ),
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-3",
            zone="us-central1-c",
            num_nodes=3,
            storage_type="HDD",
        ),
    ],
    deletion_protection=True)
ap = gcp.bigquery.AppProfile("ap",
    instance=instance.name,
    app_profile_id="bt-profile",
    multi_cluster_routing_use_any=True,
    ignore_warnings=True)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const instance = new gcp.bigtable.Instance("instance", {
    clusters: [
        {
            clusterId: "cluster-1",
            zone: "us-central1-a",
            numNodes: 3,
            storageType: "HDD",
        },
        {
            clusterId: "cluster-2",
            zone: "us-central1-b",
            numNodes: 3,
            storageType: "HDD",
        },
        {
            clusterId: "cluster-3",
            zone: "us-central1-c",
            numNodes: 3,
            storageType: "HDD",
        },
    ],
    deletionProtection: true,
});
const ap = new gcp.bigquery.AppProfile("ap", {
    instance: instance.name,
    appProfileId: "bt-profile",
    multiClusterRoutingUseAny: true,
    ignoreWarnings: true,
});
resources:
  instance:
    type: gcp:bigtable:Instance
    properties:
      clusters:
        - clusterId: cluster-1
          zone: us-central1-a
          numNodes: 3
          storageType: HDD
        - clusterId: cluster-2
          zone: us-central1-b
          numNodes: 3
          storageType: HDD
        - clusterId: cluster-3
          zone: us-central1-c
          numNodes: 3
          storageType: HDD
      deletionProtection: 'true'
  ap:
    type: gcp:bigquery:AppProfile
    properties:
      instance: ${instance.name}
      appProfileId: bt-profile
      # Requests will be routed to any of the 3 clusters.
      multiClusterRoutingUseAny: true
      ignoreWarnings: true

Bigtable App Profile Singlecluster

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.BigTable.Instance("instance", new()
    {
        Clusters = new[]
        {
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-1",
                Zone = "us-central1-b",
                NumNodes = 3,
                StorageType = "HDD",
            },
        },
        DeletionProtection = true,
    });

    var ap = new Gcp.BigQuery.AppProfile("ap", new()
    {
        Instance = instance.Name,
        AppProfileId = "bt-profile",
        SingleClusterRouting = new Gcp.BigQuery.Inputs.AppProfileSingleClusterRoutingArgs
        {
            ClusterId = "cluster-1",
            AllowTransactionalWrites = true,
        },
        IgnoreWarnings = true,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigquery"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigtable"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := bigtable.NewInstance(ctx, "instance", &bigtable.InstanceArgs{
			Clusters: bigtable.InstanceClusterArray{
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-1"),
					Zone:        pulumi.String("us-central1-b"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = bigquery.NewAppProfile(ctx, "ap", &bigquery.AppProfileArgs{
			Instance:     instance.Name,
			AppProfileId: pulumi.String("bt-profile"),
			SingleClusterRouting: &bigquery.AppProfileSingleClusterRoutingArgs{
				ClusterId:                pulumi.String("cluster-1"),
				AllowTransactionalWrites: pulumi.Bool(true),
			},
			IgnoreWarnings: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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());

    }
}
import pulumi
import pulumi_gcp as gcp

instance = gcp.bigtable.Instance("instance",
    clusters=[gcp.bigtable.InstanceClusterArgs(
        cluster_id="cluster-1",
        zone="us-central1-b",
        num_nodes=3,
        storage_type="HDD",
    )],
    deletion_protection=True)
ap = gcp.bigquery.AppProfile("ap",
    instance=instance.name,
    app_profile_id="bt-profile",
    single_cluster_routing=gcp.bigquery.AppProfileSingleClusterRoutingArgs(
        cluster_id="cluster-1",
        allow_transactional_writes=True,
    ),
    ignore_warnings=True)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const instance = new gcp.bigtable.Instance("instance", {
    clusters: [{
        clusterId: "cluster-1",
        zone: "us-central1-b",
        numNodes: 3,
        storageType: "HDD",
    }],
    deletionProtection: true,
});
const ap = new gcp.bigquery.AppProfile("ap", {
    instance: instance.name,
    appProfileId: "bt-profile",
    singleClusterRouting: {
        clusterId: "cluster-1",
        allowTransactionalWrites: true,
    },
    ignoreWarnings: true,
});
resources:
  instance:
    type: gcp:bigtable:Instance
    properties:
      clusters:
        - clusterId: cluster-1
          zone: us-central1-b
          numNodes: 3
          storageType: HDD
      deletionProtection: 'true'
  ap:
    type: gcp:bigquery:AppProfile
    properties:
      instance: ${instance.name}
      appProfileId: bt-profile
      singleClusterRouting:
        clusterId: cluster-1
        allowTransactionalWrites: true
      ignoreWarnings: true

Bigtable App Profile Multicluster

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.BigTable.Instance("instance", new()
    {
        Clusters = new[]
        {
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-1",
                Zone = "us-central1-a",
                NumNodes = 3,
                StorageType = "HDD",
            },
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-2",
                Zone = "us-central1-b",
                NumNodes = 3,
                StorageType = "HDD",
            },
            new Gcp.BigTable.Inputs.InstanceClusterArgs
            {
                ClusterId = "cluster-3",
                Zone = "us-central1-c",
                NumNodes = 3,
                StorageType = "HDD",
            },
        },
        DeletionProtection = true,
    });

    var ap = new Gcp.BigQuery.AppProfile("ap", new()
    {
        Instance = instance.Name,
        AppProfileId = "bt-profile",
        MultiClusterRoutingUseAny = true,
        MultiClusterRoutingClusterIds = new[]
        {
            "cluster-1",
            "cluster-2",
        },
        IgnoreWarnings = true,
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigquery"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/bigtable"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := bigtable.NewInstance(ctx, "instance", &bigtable.InstanceArgs{
			Clusters: bigtable.InstanceClusterArray{
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-1"),
					Zone:        pulumi.String("us-central1-a"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-2"),
					Zone:        pulumi.String("us-central1-b"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
				&bigtable.InstanceClusterArgs{
					ClusterId:   pulumi.String("cluster-3"),
					Zone:        pulumi.String("us-central1-c"),
					NumNodes:    pulumi.Int(3),
					StorageType: pulumi.String("HDD"),
				},
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = bigquery.NewAppProfile(ctx, "ap", &bigquery.AppProfileArgs{
			Instance:                  instance.Name,
			AppProfileId:              pulumi.String("bt-profile"),
			MultiClusterRoutingUseAny: pulumi.Bool(true),
			MultiClusterRoutingClusterIds: pulumi.StringArray{
				pulumi.String("cluster-1"),
				pulumi.String("cluster-2"),
			},
			IgnoreWarnings: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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 pulumi
import pulumi_gcp as gcp

instance = gcp.bigtable.Instance("instance",
    clusters=[
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-1",
            zone="us-central1-a",
            num_nodes=3,
            storage_type="HDD",
        ),
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-2",
            zone="us-central1-b",
            num_nodes=3,
            storage_type="HDD",
        ),
        gcp.bigtable.InstanceClusterArgs(
            cluster_id="cluster-3",
            zone="us-central1-c",
            num_nodes=3,
            storage_type="HDD",
        ),
    ],
    deletion_protection=True)
ap = gcp.bigquery.AppProfile("ap",
    instance=instance.name,
    app_profile_id="bt-profile",
    multi_cluster_routing_use_any=True,
    multi_cluster_routing_cluster_ids=[
        "cluster-1",
        "cluster-2",
    ],
    ignore_warnings=True)
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const instance = new gcp.bigtable.Instance("instance", {
    clusters: [
        {
            clusterId: "cluster-1",
            zone: "us-central1-a",
            numNodes: 3,
            storageType: "HDD",
        },
        {
            clusterId: "cluster-2",
            zone: "us-central1-b",
            numNodes: 3,
            storageType: "HDD",
        },
        {
            clusterId: "cluster-3",
            zone: "us-central1-c",
            numNodes: 3,
            storageType: "HDD",
        },
    ],
    deletionProtection: true,
});
const ap = new gcp.bigquery.AppProfile("ap", {
    instance: instance.name,
    appProfileId: "bt-profile",
    multiClusterRoutingUseAny: true,
    multiClusterRoutingClusterIds: [
        "cluster-1",
        "cluster-2",
    ],
    ignoreWarnings: true,
});
resources:
  instance:
    type: gcp:bigtable:Instance
    properties:
      clusters:
        - clusterId: cluster-1
          zone: us-central1-a
          numNodes: 3
          storageType: HDD
        - clusterId: cluster-2
          zone: us-central1-b
          numNodes: 3
          storageType: HDD
        - clusterId: cluster-3
          zone: us-central1-c
          numNodes: 3
          storageType: HDD
      deletionProtection: 'true'
  ap:
    type: gcp:bigquery:AppProfile
    properties:
      instance: ${instance.name}
      appProfileId: bt-profile
      # Requests will be routed to the following 2 clusters.
      multiClusterRoutingUseAny: true
      multiClusterRoutingClusterIds:
        - cluster-1
        - cluster-2
      ignoreWarnings: true

Create AppProfile Resource

new AppProfile(name: string, args: AppProfileArgs, opts?: CustomResourceOptions);
@overload
def AppProfile(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               app_profile_id: Optional[str] = None,
               description: Optional[str] = None,
               ignore_warnings: Optional[bool] = None,
               instance: Optional[str] = None,
               multi_cluster_routing_cluster_ids: Optional[Sequence[str]] = None,
               multi_cluster_routing_use_any: Optional[bool] = None,
               project: Optional[str] = None,
               single_cluster_routing: Optional[AppProfileSingleClusterRoutingArgs] = None)
@overload
def AppProfile(resource_name: str,
               args: AppProfileArgs,
               opts: Optional[ResourceOptions] = None)
func NewAppProfile(ctx *Context, name string, args AppProfileArgs, opts ...ResourceOption) (*AppProfile, error)
public AppProfile(string name, AppProfileArgs args, CustomResourceOptions? opts = null)
public AppProfile(String name, AppProfileArgs args)
public AppProfile(String name, AppProfileArgs args, CustomResourceOptions options)
type: gcp:bigquery:AppProfile
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AppProfileArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args AppProfileArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args AppProfileArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AppProfileArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AppProfileArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

AppProfile Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The AppProfile resource accepts the following input properties:

AppProfileId string

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

Description string

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

IgnoreWarnings bool

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

Instance string

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

MultiClusterRoutingClusterIds List<string>

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.

MultiClusterRoutingUseAny bool

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.

Project string

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

SingleClusterRouting AppProfileSingleClusterRoutingArgs

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

AppProfileId string

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

Description string

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

IgnoreWarnings bool

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

Instance string

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

MultiClusterRoutingClusterIds []string

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.

MultiClusterRoutingUseAny bool

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.

Project string

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

SingleClusterRouting AppProfileSingleClusterRoutingArgs

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

appProfileId String

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

description String

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

ignoreWarnings Boolean

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

instance String

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

multiClusterRoutingClusterIds List<String>

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.

multiClusterRoutingUseAny Boolean

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.

project String

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

singleClusterRouting AppProfileSingleClusterRoutingArgs

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

appProfileId string

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

description string

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

ignoreWarnings boolean

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

instance string

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

multiClusterRoutingClusterIds string[]

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.

multiClusterRoutingUseAny boolean

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.

project string

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

singleClusterRouting AppProfileSingleClusterRoutingArgs

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

app_profile_id str

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

description str

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

ignore_warnings bool

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

instance str

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

multi_cluster_routing_cluster_ids Sequence[str]

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.

multi_cluster_routing_use_any bool

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.

project str

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

single_cluster_routing AppProfileSingleClusterRoutingArgs

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

appProfileId String

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

description String

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

ignoreWarnings Boolean

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

instance String

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

multiClusterRoutingClusterIds List<String>

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.

multiClusterRoutingUseAny Boolean

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.

project String

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

singleClusterRouting Property Map

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

Outputs

All input properties are implicitly available as output properties. Additionally, the AppProfile resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

Id string

The provider-assigned unique ID for this managed resource.

Name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

id String

The provider-assigned unique ID for this managed resource.

name String

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

id string

The provider-assigned unique ID for this managed resource.

name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

id str

The provider-assigned unique ID for this managed resource.

name str

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

id String

The provider-assigned unique ID for this managed resource.

name String

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

Look up Existing AppProfile Resource

Get an existing AppProfile resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: AppProfileState, opts?: CustomResourceOptions): AppProfile
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        app_profile_id: Optional[str] = None,
        description: Optional[str] = None,
        ignore_warnings: Optional[bool] = None,
        instance: Optional[str] = None,
        multi_cluster_routing_cluster_ids: Optional[Sequence[str]] = None,
        multi_cluster_routing_use_any: Optional[bool] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        single_cluster_routing: Optional[AppProfileSingleClusterRoutingArgs] = None) -> AppProfile
func GetAppProfile(ctx *Context, name string, id IDInput, state *AppProfileState, opts ...ResourceOption) (*AppProfile, error)
public static AppProfile Get(string name, Input<string> id, AppProfileState? state, CustomResourceOptions? opts = null)
public static AppProfile get(String name, Output<String> id, AppProfileState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AppProfileId string

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

Description string

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

IgnoreWarnings bool

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

Instance string

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

MultiClusterRoutingClusterIds List<string>

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.

MultiClusterRoutingUseAny bool

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.

Name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

Project string

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

SingleClusterRouting AppProfileSingleClusterRoutingArgs

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

AppProfileId string

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

Description string

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

IgnoreWarnings bool

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

Instance string

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

MultiClusterRoutingClusterIds []string

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.

MultiClusterRoutingUseAny bool

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.

Name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

Project string

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

SingleClusterRouting AppProfileSingleClusterRoutingArgs

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

appProfileId String

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

description String

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

ignoreWarnings Boolean

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

instance String

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

multiClusterRoutingClusterIds List<String>

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.

multiClusterRoutingUseAny Boolean

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.

name String

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

project String

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

singleClusterRouting AppProfileSingleClusterRoutingArgs

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

appProfileId string

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

description string

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

ignoreWarnings boolean

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

instance string

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

multiClusterRoutingClusterIds string[]

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.

multiClusterRoutingUseAny boolean

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.

name string

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

project string

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

singleClusterRouting AppProfileSingleClusterRoutingArgs

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

app_profile_id str

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

description str

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

ignore_warnings bool

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

instance str

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

multi_cluster_routing_cluster_ids Sequence[str]

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.

multi_cluster_routing_use_any bool

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.

name str

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

project str

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

single_cluster_routing AppProfileSingleClusterRoutingArgs

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

appProfileId String

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

description String

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

ignoreWarnings Boolean

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

instance String

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

multiClusterRoutingClusterIds List<String>

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.

multiClusterRoutingUseAny Boolean

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.

name String

The unique name of the requested app profile. Values are of the form 'projects//instances//appProfiles/'.

project String

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

singleClusterRouting Property Map

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

Supporting Types

AppProfileSingleClusterRouting

ClusterId string

The cluster to which read/write requests should be routed.

AllowTransactionalWrites bool

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

ClusterId string

The cluster to which read/write requests should be routed.

AllowTransactionalWrites bool

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

clusterId String

The cluster to which read/write requests should be routed.

allowTransactionalWrites Boolean

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

clusterId string

The cluster to which read/write requests should be routed.

allowTransactionalWrites boolean

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

cluster_id str

The cluster to which read/write requests should be routed.

allow_transactional_writes bool

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

clusterId String

The cluster to which read/write requests should be routed.

allowTransactionalWrites Boolean

If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

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

Package Details

Repository
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.