1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. bigtable
  5. GCPolicy
Google Cloud Classic v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi

gcp.bigtable.GCPolicy

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi

    Creates a Google Cloud Bigtable GC Policy inside a family. For more information see the official documentation and API.

    Warning: We don’t recommend having multiple GC policies for the same column family as it may result in unexpected behavior.

    Note: GC policies associated with a replicated table cannot be destroyed directly. Destroying a GC policy is translated into never perform garbage collection, this is considered relaxing from pure age-based or version-based GC policy, hence not allowed. The workaround is unreplicating the instance first by updating the instance to have one cluster.

    Example Usage

    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()
        {
            Clusters = new[]
            {
                new Gcp.BigTable.Inputs.InstanceClusterArgs
                {
                    ClusterId = "tf-instance-cluster",
                    NumNodes = 3,
                    StorageType = "HDD",
                },
            },
        });
    
        var table = new Gcp.BigTable.Table("table", new()
        {
            InstanceName = instance.Name,
            ColumnFamilies = new[]
            {
                new Gcp.BigTable.Inputs.TableColumnFamilyArgs
                {
                    Family = "name",
                },
            },
        });
    
        var policy = new Gcp.BigTable.GCPolicy("policy", new()
        {
            InstanceName = instance.Name,
            Table = table.Name,
            ColumnFamily = "name",
            DeletionPolicy = "ABANDON",
            GcRules = @"  {
        ""rules"": [
          {
            ""max_age"": ""168h""
          }
        ]
      }
    ",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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("tf-instance-cluster"),
    					NumNodes:    pulumi.Int(3),
    					StorageType: pulumi.String("HDD"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		table, err := bigtable.NewTable(ctx, "table", &bigtable.TableArgs{
    			InstanceName: instance.Name,
    			ColumnFamilies: bigtable.TableColumnFamilyArray{
    				&bigtable.TableColumnFamilyArgs{
    					Family: pulumi.String("name"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigtable.NewGCPolicy(ctx, "policy", &bigtable.GCPolicyArgs{
    			InstanceName:   instance.Name,
    			Table:          table.Name,
    			ColumnFamily:   pulumi.String("name"),
    			DeletionPolicy: pulumi.String("ABANDON"),
    			GcRules: pulumi.String(`  {
        "rules": [
          {
            "max_age": "168h"
          }
        ]
      }
    `),
    		})
    		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.bigtable.Table;
    import com.pulumi.gcp.bigtable.TableArgs;
    import com.pulumi.gcp.bigtable.inputs.TableColumnFamilyArgs;
    import com.pulumi.gcp.bigtable.GCPolicy;
    import com.pulumi.gcp.bigtable.GCPolicyArgs;
    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("tf-instance-cluster")
                    .numNodes(3)
                    .storageType("HDD")
                    .build())
                .build());
    
            var table = new Table("table", TableArgs.builder()        
                .instanceName(instance.name())
                .columnFamilies(TableColumnFamilyArgs.builder()
                    .family("name")
                    .build())
                .build());
    
            var policy = new GCPolicy("policy", GCPolicyArgs.builder()        
                .instanceName(instance.name())
                .table(table.name())
                .columnFamily("name")
                .deletionPolicy("ABANDON")
                .gcRules("""
      {
        "rules": [
          {
            "max_age": "168h"
          }
        ]
      }
                """)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance", clusters=[gcp.bigtable.InstanceClusterArgs(
        cluster_id="tf-instance-cluster",
        num_nodes=3,
        storage_type="HDD",
    )])
    table = gcp.bigtable.Table("table",
        instance_name=instance.name,
        column_families=[gcp.bigtable.TableColumnFamilyArgs(
            family="name",
        )])
    policy = gcp.bigtable.GCPolicy("policy",
        instance_name=instance.name,
        table=table.name,
        column_family="name",
        deletion_policy="ABANDON",
        gc_rules="""  {
        "rules": [
          {
            "max_age": "168h"
          }
        ]
      }
    """)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {clusters: [{
        clusterId: "tf-instance-cluster",
        numNodes: 3,
        storageType: "HDD",
    }]});
    const table = new gcp.bigtable.Table("table", {
        instanceName: instance.name,
        columnFamilies: [{
            family: "name",
        }],
    });
    const policy = new gcp.bigtable.GCPolicy("policy", {
        instanceName: instance.name,
        table: table.name,
        columnFamily: "name",
        deletionPolicy: "ABANDON",
        gcRules: `  {
        "rules": [
          {
            "max_age": "168h"
          }
        ]
      }
    `,
    });
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          clusters:
            - clusterId: tf-instance-cluster
              numNodes: 3
              storageType: HDD
      table:
        type: gcp:bigtable:Table
        properties:
          instanceName: ${instance.name}
          columnFamilies:
            - family: name
      policy:
        type: gcp:bigtable:GCPolicy
        properties:
          instanceName: ${instance.name}
          table: ${table.name}
          columnFamily: name
          deletionPolicy: ABANDON
          gcRules: |2
              {
                "rules": [
                  {
                    "max_age": "168h"
                  }
                ]
              }
    

    when all its sub-policies apply (AND)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var policy = new Gcp.BigTable.GCPolicy("policy", new()
        {
            InstanceName = google_bigtable_instance.Instance.Name,
            Table = google_bigtable_table.Table.Name,
            ColumnFamily = "name",
            DeletionPolicy = "ABANDON",
            GcRules = @"  {
        ""mode"": ""union"",
        ""rules"": [
          {
            ""max_age"": ""168h""
          },
          {
            ""max_version"": 10
          }
        ]
      }
    ",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/bigtable"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := bigtable.NewGCPolicy(ctx, "policy", &bigtable.GCPolicyArgs{
    			InstanceName:   pulumi.Any(google_bigtable_instance.Instance.Name),
    			Table:          pulumi.Any(google_bigtable_table.Table.Name),
    			ColumnFamily:   pulumi.String("name"),
    			DeletionPolicy: pulumi.String("ABANDON"),
    			GcRules: pulumi.String(`  {
        "mode": "union",
        "rules": [
          {
            "max_age": "168h"
          },
          {
            "max_version": 10
          }
        ]
      }
    `),
    		})
    		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.GCPolicy;
    import com.pulumi.gcp.bigtable.GCPolicyArgs;
    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 policy = new GCPolicy("policy", GCPolicyArgs.builder()        
                .instanceName(google_bigtable_instance.instance().name())
                .table(google_bigtable_table.table().name())
                .columnFamily("name")
                .deletionPolicy("ABANDON")
                .gcRules("""
      {
        "mode": "union",
        "rules": [
          {
            "max_age": "168h"
          },
          {
            "max_version": 10
          }
        ]
      }
                """)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    policy = gcp.bigtable.GCPolicy("policy",
        instance_name=google_bigtable_instance["instance"]["name"],
        table=google_bigtable_table["table"]["name"],
        column_family="name",
        deletion_policy="ABANDON",
        gc_rules="""  {
        "mode": "union",
        "rules": [
          {
            "max_age": "168h"
          },
          {
            "max_version": 10
          }
        ]
      }
    """)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const policy = new gcp.bigtable.GCPolicy("policy", {
        instanceName: google_bigtable_instance.instance.name,
        table: google_bigtable_table.table.name,
        columnFamily: "name",
        deletionPolicy: "ABANDON",
        gcRules: `  {
        "mode": "union",
        "rules": [
          {
            "max_age": "168h"
          },
          {
            "max_version": 10
          }
        ]
      }
    `,
    });
    
    resources:
      policy:
        type: gcp:bigtable:GCPolicy
        properties:
          instanceName: ${google_bigtable_instance.instance.name}
          table: ${google_bigtable_table.table.name}
          columnFamily: name
          deletionPolicy: ABANDON
          gcRules: |2
              {
                "mode": "union",
                "rules": [
                  {
                    "max_age": "168h"
                  },
                  {
                    "max_version": 10
                  }
                ]
              }
    

    An example of more complex GC policy

    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()
        {
            Clusters = new[]
            {
                new Gcp.BigTable.Inputs.InstanceClusterArgs
                {
                    ClusterId = "cid",
                    Zone = "us-central1-b",
                },
            },
            InstanceType = "DEVELOPMENT",
            DeletionProtection = false,
        });
    
        var table = new Gcp.BigTable.Table("table", new()
        {
            InstanceName = instance.Id,
            ColumnFamilies = new[]
            {
                new Gcp.BigTable.Inputs.TableColumnFamilyArgs
                {
                    Family = "cf1",
                },
            },
        });
    
        var policy = new Gcp.BigTable.GCPolicy("policy", new()
        {
            InstanceName = instance.Id,
            Table = table.Name,
            ColumnFamily = "cf1",
            DeletionPolicy = "ABANDON",
            GcRules = @"  {
        ""mode"": ""union"",
        ""rules"": [
          {
            ""max_age"": ""10h""
          },
          {
            ""mode"": ""intersection"",
            ""rules"": [
              {
                ""max_age"": ""2h""
              },
              {
                ""max_version"": 2
              }
            ]
          }
        ]
      }
    ",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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("cid"),
    					Zone:      pulumi.String("us-central1-b"),
    				},
    			},
    			InstanceType:       pulumi.String("DEVELOPMENT"),
    			DeletionProtection: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		table, err := bigtable.NewTable(ctx, "table", &bigtable.TableArgs{
    			InstanceName: instance.ID(),
    			ColumnFamilies: bigtable.TableColumnFamilyArray{
    				&bigtable.TableColumnFamilyArgs{
    					Family: pulumi.String("cf1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigtable.NewGCPolicy(ctx, "policy", &bigtable.GCPolicyArgs{
    			InstanceName:   instance.ID(),
    			Table:          table.Name,
    			ColumnFamily:   pulumi.String("cf1"),
    			DeletionPolicy: pulumi.String("ABANDON"),
    			GcRules: pulumi.String(`  {
        "mode": "union",
        "rules": [
          {
            "max_age": "10h"
          },
          {
            "mode": "intersection",
            "rules": [
              {
                "max_age": "2h"
              },
              {
                "max_version": 2
              }
            ]
          }
        ]
      }
    `),
    		})
    		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.bigtable.Table;
    import com.pulumi.gcp.bigtable.TableArgs;
    import com.pulumi.gcp.bigtable.inputs.TableColumnFamilyArgs;
    import com.pulumi.gcp.bigtable.GCPolicy;
    import com.pulumi.gcp.bigtable.GCPolicyArgs;
    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("cid")
                    .zone("us-central1-b")
                    .build())
                .instanceType("DEVELOPMENT")
                .deletionProtection(false)
                .build());
    
            var table = new Table("table", TableArgs.builder()        
                .instanceName(instance.id())
                .columnFamilies(TableColumnFamilyArgs.builder()
                    .family("cf1")
                    .build())
                .build());
    
            var policy = new GCPolicy("policy", GCPolicyArgs.builder()        
                .instanceName(instance.id())
                .table(table.name())
                .columnFamily("cf1")
                .deletionPolicy("ABANDON")
                .gcRules("""
      {
        "mode": "union",
        "rules": [
          {
            "max_age": "10h"
          },
          {
            "mode": "intersection",
            "rules": [
              {
                "max_age": "2h"
              },
              {
                "max_version": 2
              }
            ]
          }
        ]
      }
                """)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.bigtable.Instance("instance",
        clusters=[gcp.bigtable.InstanceClusterArgs(
            cluster_id="cid",
            zone="us-central1-b",
        )],
        instance_type="DEVELOPMENT",
        deletion_protection=False)
    table = gcp.bigtable.Table("table",
        instance_name=instance.id,
        column_families=[gcp.bigtable.TableColumnFamilyArgs(
            family="cf1",
        )])
    policy = gcp.bigtable.GCPolicy("policy",
        instance_name=instance.id,
        table=table.name,
        column_family="cf1",
        deletion_policy="ABANDON",
        gc_rules="""  {
        "mode": "union",
        "rules": [
          {
            "max_age": "10h"
          },
          {
            "mode": "intersection",
            "rules": [
              {
                "max_age": "2h"
              },
              {
                "max_version": 2
              }
            ]
          }
        ]
      }
    """)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.bigtable.Instance("instance", {
        clusters: [{
            clusterId: "cid",
            zone: "us-central1-b",
        }],
        instanceType: "DEVELOPMENT",
        deletionProtection: false,
    });
    const table = new gcp.bigtable.Table("table", {
        instanceName: instance.id,
        columnFamilies: [{
            family: "cf1",
        }],
    });
    const policy = new gcp.bigtable.GCPolicy("policy", {
        instanceName: instance.id,
        table: table.name,
        columnFamily: "cf1",
        deletionPolicy: "ABANDON",
        gcRules: `  {
        "mode": "union",
        "rules": [
          {
            "max_age": "10h"
          },
          {
            "mode": "intersection",
            "rules": [
              {
                "max_age": "2h"
              },
              {
                "max_version": 2
              }
            ]
          }
        ]
      }
    `,
    });
    
    resources:
      instance:
        type: gcp:bigtable:Instance
        properties:
          clusters:
            - clusterId: cid
              zone: us-central1-b
          instanceType: DEVELOPMENT
          deletionProtection: false
      table:
        type: gcp:bigtable:Table
        properties:
          instanceName: ${instance.id}
          columnFamilies:
            - family: cf1
      policy:
        type: gcp:bigtable:GCPolicy
        properties:
          instanceName: ${instance.id}
          table: ${table.name}
          columnFamily: cf1
          deletionPolicy: ABANDON
          gcRules: |2
              {
                "mode": "union",
                "rules": [
                  {
                    "max_age": "10h"
                  },
                  {
                    "mode": "intersection",
                    "rules": [
                      {
                        "max_age": "2h"
                      },
                      {
                        "max_version": 2
                      }
                    ]
                  }
                ]
              }
    

    command

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    
    return await Deployment.RunAsync(() => 
    {
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    import pulumi
    
    import * as pulumi from "@pulumi/pulumi";
    
    {}
    

    Create GCPolicy Resource

    new GCPolicy(name: string, args: GCPolicyArgs, opts?: CustomResourceOptions);
    @overload
    def GCPolicy(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 column_family: Optional[str] = None,
                 deletion_policy: Optional[str] = None,
                 gc_rules: Optional[str] = None,
                 instance_name: Optional[str] = None,
                 max_age: Optional[GCPolicyMaxAgeArgs] = None,
                 max_versions: Optional[Sequence[GCPolicyMaxVersionArgs]] = None,
                 mode: Optional[str] = None,
                 project: Optional[str] = None,
                 table: Optional[str] = None)
    @overload
    def GCPolicy(resource_name: str,
                 args: GCPolicyArgs,
                 opts: Optional[ResourceOptions] = None)
    func NewGCPolicy(ctx *Context, name string, args GCPolicyArgs, opts ...ResourceOption) (*GCPolicy, error)
    public GCPolicy(string name, GCPolicyArgs args, CustomResourceOptions? opts = null)
    public GCPolicy(String name, GCPolicyArgs args)
    public GCPolicy(String name, GCPolicyArgs args, CustomResourceOptions options)
    
    type: gcp:bigtable:GCPolicy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args GCPolicyArgs
    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 GCPolicyArgs
    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 GCPolicyArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GCPolicyArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GCPolicyArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    GCPolicy 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 GCPolicy resource accepts the following input properties:

    ColumnFamily string
    The name of the column family.
    InstanceName string
    The name of the Bigtable instance.
    Table string
    The name of the table.
    DeletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    GcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    MaxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    MaxVersions List<GCPolicyMaxVersion>
    GC policy that applies to all versions of a cell except for the most recent.
    Mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ColumnFamily string
    The name of the column family.
    InstanceName string
    The name of the Bigtable instance.
    Table string
    The name of the table.
    DeletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    GcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    MaxAge GCPolicyMaxAgeArgs
    GC policy that applies to all cells older than the given age.
    MaxVersions []GCPolicyMaxVersionArgs
    GC policy that applies to all versions of a cell except for the most recent.
    Mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    columnFamily String
    The name of the column family.
    instanceName String
    The name of the Bigtable instance.
    table String
    The name of the table.
    deletionPolicy String

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules String
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    maxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    maxVersions List<GCPolicyMaxVersion>
    GC policy that applies to all versions of a cell except for the most recent.
    mode String
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    columnFamily string
    The name of the column family.
    instanceName string
    The name of the Bigtable instance.
    table string
    The name of the table.
    deletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    maxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    maxVersions GCPolicyMaxVersion[]
    GC policy that applies to all versions of a cell except for the most recent.
    mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    column_family str
    The name of the column family.
    instance_name str
    The name of the Bigtable instance.
    table str
    The name of the table.
    deletion_policy str

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gc_rules str
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    max_age GCPolicyMaxAgeArgs
    GC policy that applies to all cells older than the given age.
    max_versions Sequence[GCPolicyMaxVersionArgs]
    GC policy that applies to all versions of a cell except for the most recent.
    mode str
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    columnFamily String
    The name of the column family.
    instanceName String
    The name of the Bigtable instance.
    table String
    The name of the table.
    deletionPolicy String

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules String
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    maxAge Property Map
    GC policy that applies to all cells older than the given age.
    maxVersions List<Property Map>
    GC policy that applies to all versions of a cell except for the most recent.
    mode String
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing GCPolicy Resource

    Get an existing GCPolicy 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?: GCPolicyState, opts?: CustomResourceOptions): GCPolicy
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            column_family: Optional[str] = None,
            deletion_policy: Optional[str] = None,
            gc_rules: Optional[str] = None,
            instance_name: Optional[str] = None,
            max_age: Optional[GCPolicyMaxAgeArgs] = None,
            max_versions: Optional[Sequence[GCPolicyMaxVersionArgs]] = None,
            mode: Optional[str] = None,
            project: Optional[str] = None,
            table: Optional[str] = None) -> GCPolicy
    func GetGCPolicy(ctx *Context, name string, id IDInput, state *GCPolicyState, opts ...ResourceOption) (*GCPolicy, error)
    public static GCPolicy Get(string name, Input<string> id, GCPolicyState? state, CustomResourceOptions? opts = null)
    public static GCPolicy get(String name, Output<String> id, GCPolicyState 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:
    ColumnFamily string
    The name of the column family.
    DeletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    GcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    InstanceName string
    The name of the Bigtable instance.
    MaxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    MaxVersions List<GCPolicyMaxVersion>
    GC policy that applies to all versions of a cell except for the most recent.
    Mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Table string
    The name of the table.
    ColumnFamily string
    The name of the column family.
    DeletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    GcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    InstanceName string
    The name of the Bigtable instance.
    MaxAge GCPolicyMaxAgeArgs
    GC policy that applies to all cells older than the given age.
    MaxVersions []GCPolicyMaxVersionArgs
    GC policy that applies to all versions of a cell except for the most recent.
    Mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Table string
    The name of the table.
    columnFamily String
    The name of the column family.
    deletionPolicy String

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules String
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    instanceName String
    The name of the Bigtable instance.
    maxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    maxVersions List<GCPolicyMaxVersion>
    GC policy that applies to all versions of a cell except for the most recent.
    mode String
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    table String
    The name of the table.
    columnFamily string
    The name of the column family.
    deletionPolicy string

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules string
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    instanceName string
    The name of the Bigtable instance.
    maxAge GCPolicyMaxAge
    GC policy that applies to all cells older than the given age.
    maxVersions GCPolicyMaxVersion[]
    GC policy that applies to all versions of a cell except for the most recent.
    mode string
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    table string
    The name of the table.
    column_family str
    The name of the column family.
    deletion_policy str

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gc_rules str
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    instance_name str
    The name of the Bigtable instance.
    max_age GCPolicyMaxAgeArgs
    GC policy that applies to all cells older than the given age.
    max_versions Sequence[GCPolicyMaxVersionArgs]
    GC policy that applies to all versions of a cell except for the most recent.
    mode str
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    table str
    The name of the table.
    columnFamily String
    The name of the column family.
    deletionPolicy String

    The deletion policy for the GC policy. Setting ABANDON allows the resource to be abandoned rather than deleted. This is useful for GC policy as it cannot be deleted in a replicated instance.

    Possible values are: ABANDON.


    gcRules String
    Serialized JSON object to represent a more complex GC policy. Conflicts with mode, max_age and max_version. Conflicts with mode, max_age and max_version.
    instanceName String
    The name of the Bigtable instance.
    maxAge Property Map
    GC policy that applies to all cells older than the given age.
    maxVersions List<Property Map>
    GC policy that applies to all versions of a cell except for the most recent.
    mode String
    If multiple policies are set, you should choose between UNION OR INTERSECTION.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    table String
    The name of the table.

    Supporting Types

    GCPolicyMaxAge, GCPolicyMaxAgeArgs

    Days int
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    Duration string
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    Days int
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    Duration string
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    days Integer
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    duration String
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    days number
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    duration string
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    days int
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    duration str
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    days Number
    Number of days before applying GC policy.

    Deprecated:Deprecated in favor of duration

    duration String
    Duration before applying GC policy (ex. "8h"). This is required when days isn't set


    GCPolicyMaxVersion, GCPolicyMaxVersionArgs

    Number int

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    Number int

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    number Integer

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    number number

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    number int

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    number Number

    Number of version before applying the GC policy.


    gc_rules include 2 fields:

    Import

    This resource does not support import.

    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 v7.9.0 published on Wednesday, Feb 14, 2024 by Pulumi