1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. bigquery
  5. AppProfile
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

gcp.bigquery.AppProfile

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

    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

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {
        name: "bt-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,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance",
        name="bt-instance",
        clusters=[
            {
                "cluster_id": "cluster-1",
                "zone": "us-central1-a",
                "num_nodes": 3,
                "storage_type": "HDD",
            },
            {
                "cluster_id": "cluster-2",
                "zone": "us-central1-b",
                "num_nodes": 3,
                "storage_type": "HDD",
            },
            {
                "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)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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{
    			Name: pulumi.String("bt-instance"),
    			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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.BigTable.Instance("instance", new()
        {
            Name = "bt-instance",
            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 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()
                .name("bt-instance")
                .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());
    
        }
    }
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          name: bt-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'
      ap:
        type: gcp:bigquery:AppProfile
        properties:
          instance: ${instance.name}
          appProfileId: bt-profile
          multiClusterRoutingUseAny: true
          ignoreWarnings: true
    

    Bigtable App Profile Singlecluster

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {
        name: "bt-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,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance",
        name="bt-instance",
        clusters=[{
            "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={
            "cluster_id": "cluster-1",
            "allow_transactional_writes": True,
        },
        ignore_warnings=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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{
    			Name: pulumi.String("bt-instance"),
    			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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.BigTable.Instance("instance", new()
        {
            Name = "bt-instance",
            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 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()
                .name("bt-instance")
                .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());
    
        }
    }
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          name: bt-instance
          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

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {
        name: "bt-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,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance",
        name="bt-instance",
        clusters=[
            {
                "cluster_id": "cluster-1",
                "zone": "us-central1-a",
                "num_nodes": 3,
                "storage_type": "HDD",
            },
            {
                "cluster_id": "cluster-2",
                "zone": "us-central1-b",
                "num_nodes": 3,
                "storage_type": "HDD",
            },
            {
                "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)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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{
    			Name: pulumi.String("bt-instance"),
    			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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.BigTable.Instance("instance", new()
        {
            Name = "bt-instance",
            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 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()
                .name("bt-instance")
                .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());
    
        }
    }
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          name: bt-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'
      ap:
        type: gcp:bigquery:AppProfile
        properties:
          instance: ${instance.name}
          appProfileId: bt-profile
          multiClusterRoutingUseAny: true
          multiClusterRoutingClusterIds:
            - cluster-1
            - cluster-2
          ignoreWarnings: true
    

    Bigtable App Profile Priority

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {
        name: "bt-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,
        },
        standardIsolation: {
            priority: "PRIORITY_LOW",
        },
        ignoreWarnings: true,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance",
        name="bt-instance",
        clusters=[{
            "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={
            "cluster_id": "cluster-1",
            "allow_transactional_writes": True,
        },
        standard_isolation={
            "priority": "PRIORITY_LOW",
        },
        ignore_warnings=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/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{
    			Name: pulumi.String("bt-instance"),
    			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),
    			},
    			StandardIsolation: &bigquery.AppProfileStandardIsolationArgs{
    				Priority: pulumi.String("PRIORITY_LOW"),
    			},
    			IgnoreWarnings: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.BigTable.Instance("instance", new()
        {
            Name = "bt-instance",
            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,
            },
            StandardIsolation = new Gcp.BigQuery.Inputs.AppProfileStandardIsolationArgs
            {
                Priority = "PRIORITY_LOW",
            },
            IgnoreWarnings = true,
        });
    
    });
    
    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 com.pulumi.gcp.bigquery.inputs.AppProfileStandardIsolationArgs;
    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()
                .name("bt-instance")
                .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())
                .standardIsolation(AppProfileStandardIsolationArgs.builder()
                    .priority("PRIORITY_LOW")
                    .build())
                .ignoreWarnings(true)
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          name: bt-instance
          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
          standardIsolation:
            priority: PRIORITY_LOW
          ignoreWarnings: true
    

    Create AppProfile Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AppProfile(name: string, args: AppProfileArgs, opts?: CustomResourceOptions);
    @overload
    def AppProfile(resource_name: str,
                   args: AppProfileArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def AppProfile(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   app_profile_id: Optional[str] = None,
                   data_boost_isolation_read_only: Optional[AppProfileDataBoostIsolationReadOnlyArgs] = 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,
                   standard_isolation: Optional[AppProfileStandardIsolationArgs] = 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.
    
    

    Parameters

    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.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var appProfileResource = new Gcp.BigQuery.AppProfile("appProfileResource", new()
    {
        AppProfileId = "string",
        DataBoostIsolationReadOnly = new Gcp.BigQuery.Inputs.AppProfileDataBoostIsolationReadOnlyArgs
        {
            ComputeBillingOwner = "string",
        },
        Description = "string",
        IgnoreWarnings = false,
        Instance = "string",
        MultiClusterRoutingClusterIds = new[]
        {
            "string",
        },
        MultiClusterRoutingUseAny = false,
        Project = "string",
        SingleClusterRouting = new Gcp.BigQuery.Inputs.AppProfileSingleClusterRoutingArgs
        {
            ClusterId = "string",
            AllowTransactionalWrites = false,
        },
        StandardIsolation = new Gcp.BigQuery.Inputs.AppProfileStandardIsolationArgs
        {
            Priority = "string",
        },
    });
    
    example, err := bigquery.NewAppProfile(ctx, "appProfileResource", &bigquery.AppProfileArgs{
    	AppProfileId: pulumi.String("string"),
    	DataBoostIsolationReadOnly: &bigquery.AppProfileDataBoostIsolationReadOnlyArgs{
    		ComputeBillingOwner: pulumi.String("string"),
    	},
    	Description:    pulumi.String("string"),
    	IgnoreWarnings: pulumi.Bool(false),
    	Instance:       pulumi.String("string"),
    	MultiClusterRoutingClusterIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	MultiClusterRoutingUseAny: pulumi.Bool(false),
    	Project:                   pulumi.String("string"),
    	SingleClusterRouting: &bigquery.AppProfileSingleClusterRoutingArgs{
    		ClusterId:                pulumi.String("string"),
    		AllowTransactionalWrites: pulumi.Bool(false),
    	},
    	StandardIsolation: &bigquery.AppProfileStandardIsolationArgs{
    		Priority: pulumi.String("string"),
    	},
    })
    
    var appProfileResource = new AppProfile("appProfileResource", AppProfileArgs.builder()
        .appProfileId("string")
        .dataBoostIsolationReadOnly(AppProfileDataBoostIsolationReadOnlyArgs.builder()
            .computeBillingOwner("string")
            .build())
        .description("string")
        .ignoreWarnings(false)
        .instance("string")
        .multiClusterRoutingClusterIds("string")
        .multiClusterRoutingUseAny(false)
        .project("string")
        .singleClusterRouting(AppProfileSingleClusterRoutingArgs.builder()
            .clusterId("string")
            .allowTransactionalWrites(false)
            .build())
        .standardIsolation(AppProfileStandardIsolationArgs.builder()
            .priority("string")
            .build())
        .build());
    
    app_profile_resource = gcp.bigquery.AppProfile("appProfileResource",
        app_profile_id="string",
        data_boost_isolation_read_only={
            "computeBillingOwner": "string",
        },
        description="string",
        ignore_warnings=False,
        instance="string",
        multi_cluster_routing_cluster_ids=["string"],
        multi_cluster_routing_use_any=False,
        project="string",
        single_cluster_routing={
            "clusterId": "string",
            "allowTransactionalWrites": False,
        },
        standard_isolation={
            "priority": "string",
        })
    
    const appProfileResource = new gcp.bigquery.AppProfile("appProfileResource", {
        appProfileId: "string",
        dataBoostIsolationReadOnly: {
            computeBillingOwner: "string",
        },
        description: "string",
        ignoreWarnings: false,
        instance: "string",
        multiClusterRoutingClusterIds: ["string"],
        multiClusterRoutingUseAny: false,
        project: "string",
        singleClusterRouting: {
            clusterId: "string",
            allowTransactionalWrites: false,
        },
        standardIsolation: {
            priority: "string",
        },
    });
    
    type: gcp:bigquery:AppProfile
    properties:
        appProfileId: string
        dataBoostIsolationReadOnly:
            computeBillingOwner: string
        description: string
        ignoreWarnings: false
        instance: string
        multiClusterRoutingClusterIds:
            - string
        multiClusterRoutingUseAny: false
        project: string
        singleClusterRouting:
            allowTransactionalWrites: false
            clusterId: string
        standardIsolation:
            priority: string
    

    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]*.


    DataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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 AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    StandardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    AppProfileId string
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    DataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnlyArgs
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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.
    StandardIsolation AppProfileStandardIsolationArgs
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId String
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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 AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    standardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId string
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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 AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    standardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. 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]*.


    data_boost_isolation_read_only AppProfileDataBoostIsolationReadOnlyArgs
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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.
    standard_isolation AppProfileStandardIsolationArgs
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId String
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly Property Map
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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.
    standardIsolation Property Map
    The standard options used for isolating this app profile's traffic from other use cases. 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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.

    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,
            data_boost_isolation_read_only: Optional[AppProfileDataBoostIsolationReadOnlyArgs] = 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,
            standard_isolation: Optional[AppProfileStandardIsolationArgs] = 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]*.


    DataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    SingleClusterRouting AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    StandardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    AppProfileId string
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    DataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnlyArgs
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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.
    StandardIsolation AppProfileStandardIsolationArgs
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId String
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    singleClusterRouting AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    standardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId string
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly AppProfileDataBoostIsolationReadOnly
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    singleClusterRouting AppProfileSingleClusterRouting
    Use a single-cluster routing policy. Structure is documented below.
    standardIsolation AppProfileStandardIsolation
    The standard options used for isolating this app profile's traffic from other use cases. 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]*.


    data_boost_isolation_read_only AppProfileDataBoostIsolationReadOnlyArgs
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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.
    standard_isolation AppProfileStandardIsolationArgs
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.
    appProfileId String
    The unique name of the app profile in the form [_a-zA-Z0-9][-_.a-zA-Z0-9]*.


    dataBoostIsolationReadOnly Property Map
    Specifies that this app profile is intended for read-only usage via the Data Boost feature. Structure is documented below.
    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/<project>/instances/<instance>/appProfiles/<appProfileId>.
    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.
    standardIsolation Property Map
    The standard options used for isolating this app profile's traffic from other use cases. Structure is documented below.

    Supporting Types

    AppProfileDataBoostIsolationReadOnly, AppProfileDataBoostIsolationReadOnlyArgs

    ComputeBillingOwner string
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.
    ComputeBillingOwner string
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.
    computeBillingOwner String
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.
    computeBillingOwner string
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.
    compute_billing_owner str
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.
    computeBillingOwner String
    The Compute Billing Owner for this Data Boost App Profile. Possible values are: HOST_PAYS.

    AppProfileSingleClusterRouting, AppProfileSingleClusterRoutingArgs

    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.

    AppProfileStandardIsolation, AppProfileStandardIsolationArgs

    Priority string
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.
    Priority string
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.
    priority String
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.
    priority string
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.
    priority str
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.
    priority String
    The priority of requests sent using this app profile. Possible values are: PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_HIGH.

    Import

    AppProfile can be imported using any of these accepted formats:

    • projects/{{project}}/instances/{{instance}}/appProfiles/{{app_profile_id}}

    • {{project}}/{{instance}}/{{app_profile_id}}

    • {{instance}}/{{app_profile_id}}

    When using the pulumi import command, AppProfile can be imported using one of the formats above. For example:

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

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi