gcp.storage.Bucket
Explore with Pulumi AI
Creates a new bucket in Google cloud storage service (GCS). Once a bucket has been created, its location can’t be changed.
For more information see the official documentation and API.
Note: If the project id is not set on the resource or in the provider block it will be dynamically determined which will require enabling the compute api.
Example Usage
Creating A Private Bucket In Standard Storage, In The EU Region. Bucket Configured As Static Website And CORS Configurations
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const static_site = new gcp.storage.Bucket("static-site", {
    name: "image-store.com",
    location: "EU",
    forceDestroy: true,
    uniformBucketLevelAccess: true,
    website: {
        mainPageSuffix: "index.html",
        notFoundPage: "404.html",
    },
    cors: [{
        origins: ["http://image-store.com"],
        methods: [
            "GET",
            "HEAD",
            "PUT",
            "POST",
            "DELETE",
        ],
        responseHeaders: ["*"],
        maxAgeSeconds: 3600,
    }],
});
import pulumi
import pulumi_gcp as gcp
static_site = gcp.storage.Bucket("static-site",
    name="image-store.com",
    location="EU",
    force_destroy=True,
    uniform_bucket_level_access=True,
    website={
        "main_page_suffix": "index.html",
        "not_found_page": "404.html",
    },
    cors=[{
        "origins": ["http://image-store.com"],
        "methods": [
            "GET",
            "HEAD",
            "PUT",
            "POST",
            "DELETE",
        ],
        "response_headers": ["*"],
        "max_age_seconds": 3600,
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "static-site", &storage.BucketArgs{
			Name:                     pulumi.String("image-store.com"),
			Location:                 pulumi.String("EU"),
			ForceDestroy:             pulumi.Bool(true),
			UniformBucketLevelAccess: pulumi.Bool(true),
			Website: &storage.BucketWebsiteArgs{
				MainPageSuffix: pulumi.String("index.html"),
				NotFoundPage:   pulumi.String("404.html"),
			},
			Cors: storage.BucketCorArray{
				&storage.BucketCorArgs{
					Origins: pulumi.StringArray{
						pulumi.String("http://image-store.com"),
					},
					Methods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("PUT"),
						pulumi.String("POST"),
						pulumi.String("DELETE"),
					},
					ResponseHeaders: pulumi.StringArray{
						pulumi.String("*"),
					},
					MaxAgeSeconds: pulumi.Int(3600),
				},
			},
		})
		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 static_site = new Gcp.Storage.Bucket("static-site", new()
    {
        Name = "image-store.com",
        Location = "EU",
        ForceDestroy = true,
        UniformBucketLevelAccess = true,
        Website = new Gcp.Storage.Inputs.BucketWebsiteArgs
        {
            MainPageSuffix = "index.html",
            NotFoundPage = "404.html",
        },
        Cors = new[]
        {
            new Gcp.Storage.Inputs.BucketCorArgs
            {
                Origins = new[]
                {
                    "http://image-store.com",
                },
                Methods = new[]
                {
                    "GET",
                    "HEAD",
                    "PUT",
                    "POST",
                    "DELETE",
                },
                ResponseHeaders = new[]
                {
                    "*",
                },
                MaxAgeSeconds = 3600,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.inputs.BucketWebsiteArgs;
import com.pulumi.gcp.storage.inputs.BucketCorArgs;
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 static_site = new Bucket("static-site", BucketArgs.builder()
            .name("image-store.com")
            .location("EU")
            .forceDestroy(true)
            .uniformBucketLevelAccess(true)
            .website(BucketWebsiteArgs.builder()
                .mainPageSuffix("index.html")
                .notFoundPage("404.html")
                .build())
            .cors(BucketCorArgs.builder()
                .origins("http://image-store.com")
                .methods(                
                    "GET",
                    "HEAD",
                    "PUT",
                    "POST",
                    "DELETE")
                .responseHeaders("*")
                .maxAgeSeconds(3600)
                .build())
            .build());
    }
}
resources:
  static-site:
    type: gcp:storage:Bucket
    properties:
      name: image-store.com
      location: EU
      forceDestroy: true
      uniformBucketLevelAccess: true
      website:
        mainPageSuffix: index.html
        notFoundPage: 404.html
      cors:
        - origins:
            - http://image-store.com
          methods:
            - GET
            - HEAD
            - PUT
            - POST
            - DELETE
          responseHeaders:
            - '*'
          maxAgeSeconds: 3600
Life Cycle Settings For Storage Bucket Objects
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const auto_expire = new gcp.storage.Bucket("auto-expire", {
    name: "auto-expiring-bucket",
    location: "US",
    forceDestroy: true,
    lifecycleRules: [
        {
            condition: {
                age: 3,
            },
            action: {
                type: "Delete",
            },
        },
        {
            condition: {
                age: 1,
            },
            action: {
                type: "AbortIncompleteMultipartUpload",
            },
        },
    ],
});
import pulumi
import pulumi_gcp as gcp
auto_expire = gcp.storage.Bucket("auto-expire",
    name="auto-expiring-bucket",
    location="US",
    force_destroy=True,
    lifecycle_rules=[
        {
            "condition": {
                "age": 3,
            },
            "action": {
                "type": "Delete",
            },
        },
        {
            "condition": {
                "age": 1,
            },
            "action": {
                "type": "AbortIncompleteMultipartUpload",
            },
        },
    ])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "auto-expire", &storage.BucketArgs{
			Name:         pulumi.String("auto-expiring-bucket"),
			Location:     pulumi.String("US"),
			ForceDestroy: pulumi.Bool(true),
			LifecycleRules: storage.BucketLifecycleRuleArray{
				&storage.BucketLifecycleRuleArgs{
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(3),
					},
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("Delete"),
					},
				},
				&storage.BucketLifecycleRuleArgs{
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(1),
					},
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("AbortIncompleteMultipartUpload"),
					},
				},
			},
		})
		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 auto_expire = new Gcp.Storage.Bucket("auto-expire", new()
    {
        Name = "auto-expiring-bucket",
        Location = "US",
        ForceDestroy = true,
        LifecycleRules = new[]
        {
            new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
            {
                Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
                {
                    Age = 3,
                },
                Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
                {
                    Type = "Delete",
                },
            },
            new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
            {
                Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
                {
                    Age = 1,
                },
                Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
                {
                    Type = "AbortIncompleteMultipartUpload",
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleConditionArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleActionArgs;
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 auto_expire = new Bucket("auto-expire", BucketArgs.builder()
            .name("auto-expiring-bucket")
            .location("US")
            .forceDestroy(true)
            .lifecycleRules(            
                BucketLifecycleRuleArgs.builder()
                    .condition(BucketLifecycleRuleConditionArgs.builder()
                        .age(3)
                        .build())
                    .action(BucketLifecycleRuleActionArgs.builder()
                        .type("Delete")
                        .build())
                    .build(),
                BucketLifecycleRuleArgs.builder()
                    .condition(BucketLifecycleRuleConditionArgs.builder()
                        .age(1)
                        .build())
                    .action(BucketLifecycleRuleActionArgs.builder()
                        .type("AbortIncompleteMultipartUpload")
                        .build())
                    .build())
            .build());
    }
}
resources:
  auto-expire:
    type: gcp:storage:Bucket
    properties:
      name: auto-expiring-bucket
      location: US
      forceDestroy: true
      lifecycleRules:
        - condition:
            age: 3
          action:
            type: Delete
        - condition:
            age: 1
          action:
            type: AbortIncompleteMultipartUpload
Life Cycle Settings For Storage Bucket Objects With Send_age_if_zero Disabled
When creating a life cycle condition that does not also include an age field, a default age of 0 will be set. Set the send_age_if_zero flag to false to prevent this and avoid any potentially unintended interactions.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const no_age_enabled = new gcp.storage.Bucket("no-age-enabled", {
    name: "no-age-enabled-bucket",
    location: "US",
    forceDestroy: true,
    lifecycleRules: [{
        action: {
            type: "Delete",
        },
        condition: {
            daysSinceNoncurrentTime: 3,
            sendAgeIfZero: false,
        },
    }],
});
import pulumi
import pulumi_gcp as gcp
no_age_enabled = gcp.storage.Bucket("no-age-enabled",
    name="no-age-enabled-bucket",
    location="US",
    force_destroy=True,
    lifecycle_rules=[{
        "action": {
            "type": "Delete",
        },
        "condition": {
            "days_since_noncurrent_time": 3,
            "send_age_if_zero": False,
        },
    }])
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "no-age-enabled", &storage.BucketArgs{
			Name:         pulumi.String("no-age-enabled-bucket"),
			Location:     pulumi.String("US"),
			ForceDestroy: pulumi.Bool(true),
			LifecycleRules: storage.BucketLifecycleRuleArray{
				&storage.BucketLifecycleRuleArgs{
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("Delete"),
					},
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						DaysSinceNoncurrentTime: pulumi.Int(3),
						SendAgeIfZero:           pulumi.Bool(false),
					},
				},
			},
		})
		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 no_age_enabled = new Gcp.Storage.Bucket("no-age-enabled", new()
    {
        Name = "no-age-enabled-bucket",
        Location = "US",
        ForceDestroy = true,
        LifecycleRules = new[]
        {
            new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
            {
                Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
                {
                    Type = "Delete",
                },
                Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
                {
                    DaysSinceNoncurrentTime = 3,
                    SendAgeIfZero = false,
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleActionArgs;
import com.pulumi.gcp.storage.inputs.BucketLifecycleRuleConditionArgs;
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 no_age_enabled = new Bucket("no-age-enabled", BucketArgs.builder()
            .name("no-age-enabled-bucket")
            .location("US")
            .forceDestroy(true)
            .lifecycleRules(BucketLifecycleRuleArgs.builder()
                .action(BucketLifecycleRuleActionArgs.builder()
                    .type("Delete")
                    .build())
                .condition(BucketLifecycleRuleConditionArgs.builder()
                    .daysSinceNoncurrentTime(3)
                    .sendAgeIfZero(false)
                    .build())
                .build())
            .build());
    }
}
resources:
  no-age-enabled:
    type: gcp:storage:Bucket
    properties:
      name: no-age-enabled-bucket
      location: US
      forceDestroy: true
      lifecycleRules:
        - action:
            type: Delete
          condition:
            daysSinceNoncurrentTime: 3
            sendAgeIfZero: false
Enabling Public Access Prevention
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const auto_expire = new gcp.storage.Bucket("auto-expire", {
    name: "no-public-access-bucket",
    location: "US",
    forceDestroy: true,
    publicAccessPrevention: "enforced",
});
import pulumi
import pulumi_gcp as gcp
auto_expire = gcp.storage.Bucket("auto-expire",
    name="no-public-access-bucket",
    location="US",
    force_destroy=True,
    public_access_prevention="enforced")
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "auto-expire", &storage.BucketArgs{
			Name:                   pulumi.String("no-public-access-bucket"),
			Location:               pulumi.String("US"),
			ForceDestroy:           pulumi.Bool(true),
			PublicAccessPrevention: pulumi.String("enforced"),
		})
		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 auto_expire = new Gcp.Storage.Bucket("auto-expire", new()
    {
        Name = "no-public-access-bucket",
        Location = "US",
        ForceDestroy = true,
        PublicAccessPrevention = "enforced",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
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 auto_expire = new Bucket("auto-expire", BucketArgs.builder()
            .name("no-public-access-bucket")
            .location("US")
            .forceDestroy(true)
            .publicAccessPrevention("enforced")
            .build());
    }
}
resources:
  auto-expire:
    type: gcp:storage:Bucket
    properties:
      name: no-public-access-bucket
      location: US
      forceDestroy: true
      publicAccessPrevention: enforced
Enabling Hierarchical Namespace
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const auto_expire = new gcp.storage.Bucket("auto-expire", {
    name: "hns-enabled-bucket",
    location: "US",
    forceDestroy: true,
    hierarchicalNamespace: {
        enabled: true,
    },
});
import pulumi
import pulumi_gcp as gcp
auto_expire = gcp.storage.Bucket("auto-expire",
    name="hns-enabled-bucket",
    location="US",
    force_destroy=True,
    hierarchical_namespace={
        "enabled": True,
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "auto-expire", &storage.BucketArgs{
			Name:         pulumi.String("hns-enabled-bucket"),
			Location:     pulumi.String("US"),
			ForceDestroy: pulumi.Bool(true),
			HierarchicalNamespace: &storage.BucketHierarchicalNamespaceArgs{
				Enabled: 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 auto_expire = new Gcp.Storage.Bucket("auto-expire", new()
    {
        Name = "hns-enabled-bucket",
        Location = "US",
        ForceDestroy = true,
        HierarchicalNamespace = new Gcp.Storage.Inputs.BucketHierarchicalNamespaceArgs
        {
            Enabled = true,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.inputs.BucketHierarchicalNamespaceArgs;
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 auto_expire = new Bucket("auto-expire", BucketArgs.builder()
            .name("hns-enabled-bucket")
            .location("US")
            .forceDestroy(true)
            .hierarchicalNamespace(BucketHierarchicalNamespaceArgs.builder()
                .enabled(true)
                .build())
            .build());
    }
}
resources:
  auto-expire:
    type: gcp:storage:Bucket
    properties:
      name: hns-enabled-bucket
      location: US
      forceDestroy: true
      hierarchicalNamespace:
        enabled: true
Create Bucket Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Bucket(name: string, args: BucketArgs, opts?: CustomResourceOptions);@overload
def Bucket(resource_name: str,
           args: BucketArgs,
           opts: Optional[ResourceOptions] = None)
@overload
def Bucket(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           location: Optional[str] = None,
           encryption: Optional[BucketEncryptionArgs] = None,
           default_event_based_hold: Optional[bool] = None,
           name: Optional[str] = None,
           enable_object_retention: Optional[bool] = None,
           autoclass: Optional[BucketAutoclassArgs] = None,
           force_destroy: Optional[bool] = None,
           hierarchical_namespace: Optional[BucketHierarchicalNamespaceArgs] = None,
           labels: Optional[Mapping[str, str]] = None,
           project: Optional[str] = None,
           cors: Optional[Sequence[BucketCorArgs]] = None,
           website: Optional[BucketWebsiteArgs] = None,
           custom_placement_config: Optional[BucketCustomPlacementConfigArgs] = None,
           lifecycle_rules: Optional[Sequence[BucketLifecycleRuleArgs]] = None,
           public_access_prevention: Optional[str] = None,
           requester_pays: Optional[bool] = None,
           retention_policy: Optional[BucketRetentionPolicyArgs] = None,
           rpo: Optional[str] = None,
           soft_delete_policy: Optional[BucketSoftDeletePolicyArgs] = None,
           storage_class: Optional[str] = None,
           uniform_bucket_level_access: Optional[bool] = None,
           versioning: Optional[BucketVersioningArgs] = None,
           logging: Optional[BucketLoggingArgs] = None)func NewBucket(ctx *Context, name string, args BucketArgs, opts ...ResourceOption) (*Bucket, error)public Bucket(string name, BucketArgs args, CustomResourceOptions? opts = null)
public Bucket(String name, BucketArgs args)
public Bucket(String name, BucketArgs args, CustomResourceOptions options)
type: gcp:storage:Bucket
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 BucketArgs
- 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 BucketArgs
- 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 BucketArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BucketArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BucketArgs
- 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 bucketResource = new Gcp.Storage.Bucket("bucketResource", new()
{
    Location = "string",
    Encryption = new Gcp.Storage.Inputs.BucketEncryptionArgs
    {
        DefaultKmsKeyName = "string",
    },
    DefaultEventBasedHold = false,
    Name = "string",
    EnableObjectRetention = false,
    Autoclass = new Gcp.Storage.Inputs.BucketAutoclassArgs
    {
        Enabled = false,
        TerminalStorageClass = "string",
    },
    ForceDestroy = false,
    HierarchicalNamespace = new Gcp.Storage.Inputs.BucketHierarchicalNamespaceArgs
    {
        Enabled = false,
    },
    Labels = 
    {
        { "string", "string" },
    },
    Project = "string",
    Cors = new[]
    {
        new Gcp.Storage.Inputs.BucketCorArgs
        {
            MaxAgeSeconds = 0,
            Methods = new[]
            {
                "string",
            },
            Origins = new[]
            {
                "string",
            },
            ResponseHeaders = new[]
            {
                "string",
            },
        },
    },
    Website = new Gcp.Storage.Inputs.BucketWebsiteArgs
    {
        MainPageSuffix = "string",
        NotFoundPage = "string",
    },
    CustomPlacementConfig = new Gcp.Storage.Inputs.BucketCustomPlacementConfigArgs
    {
        DataLocations = new[]
        {
            "string",
        },
    },
    LifecycleRules = new[]
    {
        new Gcp.Storage.Inputs.BucketLifecycleRuleArgs
        {
            Action = new Gcp.Storage.Inputs.BucketLifecycleRuleActionArgs
            {
                Type = "string",
                StorageClass = "string",
            },
            Condition = new Gcp.Storage.Inputs.BucketLifecycleRuleConditionArgs
            {
                Age = 0,
                CreatedBefore = "string",
                CustomTimeBefore = "string",
                DaysSinceCustomTime = 0,
                DaysSinceNoncurrentTime = 0,
                MatchesPrefixes = new[]
                {
                    "string",
                },
                MatchesStorageClasses = new[]
                {
                    "string",
                },
                MatchesSuffixes = new[]
                {
                    "string",
                },
                NoncurrentTimeBefore = "string",
                NumNewerVersions = 0,
                SendAgeIfZero = false,
                SendDaysSinceCustomTimeIfZero = false,
                SendDaysSinceNoncurrentTimeIfZero = false,
                SendNumNewerVersionsIfZero = false,
                WithState = "string",
            },
        },
    },
    PublicAccessPrevention = "string",
    RequesterPays = false,
    RetentionPolicy = new Gcp.Storage.Inputs.BucketRetentionPolicyArgs
    {
        RetentionPeriod = 0,
        IsLocked = false,
    },
    Rpo = "string",
    SoftDeletePolicy = new Gcp.Storage.Inputs.BucketSoftDeletePolicyArgs
    {
        EffectiveTime = "string",
        RetentionDurationSeconds = 0,
    },
    StorageClass = "string",
    UniformBucketLevelAccess = false,
    Versioning = new Gcp.Storage.Inputs.BucketVersioningArgs
    {
        Enabled = false,
    },
    Logging = new Gcp.Storage.Inputs.BucketLoggingArgs
    {
        LogBucket = "string",
        LogObjectPrefix = "string",
    },
});
example, err := storage.NewBucket(ctx, "bucketResource", &storage.BucketArgs{
	Location: pulumi.String("string"),
	Encryption: &storage.BucketEncryptionArgs{
		DefaultKmsKeyName: pulumi.String("string"),
	},
	DefaultEventBasedHold: pulumi.Bool(false),
	Name:                  pulumi.String("string"),
	EnableObjectRetention: pulumi.Bool(false),
	Autoclass: &storage.BucketAutoclassArgs{
		Enabled:              pulumi.Bool(false),
		TerminalStorageClass: pulumi.String("string"),
	},
	ForceDestroy: pulumi.Bool(false),
	HierarchicalNamespace: &storage.BucketHierarchicalNamespaceArgs{
		Enabled: pulumi.Bool(false),
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Project: pulumi.String("string"),
	Cors: storage.BucketCorArray{
		&storage.BucketCorArgs{
			MaxAgeSeconds: pulumi.Int(0),
			Methods: pulumi.StringArray{
				pulumi.String("string"),
			},
			Origins: pulumi.StringArray{
				pulumi.String("string"),
			},
			ResponseHeaders: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Website: &storage.BucketWebsiteArgs{
		MainPageSuffix: pulumi.String("string"),
		NotFoundPage:   pulumi.String("string"),
	},
	CustomPlacementConfig: &storage.BucketCustomPlacementConfigArgs{
		DataLocations: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	LifecycleRules: storage.BucketLifecycleRuleArray{
		&storage.BucketLifecycleRuleArgs{
			Action: &storage.BucketLifecycleRuleActionArgs{
				Type:         pulumi.String("string"),
				StorageClass: pulumi.String("string"),
			},
			Condition: &storage.BucketLifecycleRuleConditionArgs{
				Age:                     pulumi.Int(0),
				CreatedBefore:           pulumi.String("string"),
				CustomTimeBefore:        pulumi.String("string"),
				DaysSinceCustomTime:     pulumi.Int(0),
				DaysSinceNoncurrentTime: pulumi.Int(0),
				MatchesPrefixes: pulumi.StringArray{
					pulumi.String("string"),
				},
				MatchesStorageClasses: pulumi.StringArray{
					pulumi.String("string"),
				},
				MatchesSuffixes: pulumi.StringArray{
					pulumi.String("string"),
				},
				NoncurrentTimeBefore:              pulumi.String("string"),
				NumNewerVersions:                  pulumi.Int(0),
				SendAgeIfZero:                     pulumi.Bool(false),
				SendDaysSinceCustomTimeIfZero:     pulumi.Bool(false),
				SendDaysSinceNoncurrentTimeIfZero: pulumi.Bool(false),
				SendNumNewerVersionsIfZero:        pulumi.Bool(false),
				WithState:                         pulumi.String("string"),
			},
		},
	},
	PublicAccessPrevention: pulumi.String("string"),
	RequesterPays:          pulumi.Bool(false),
	RetentionPolicy: &storage.BucketRetentionPolicyArgs{
		RetentionPeriod: pulumi.Int(0),
		IsLocked:        pulumi.Bool(false),
	},
	Rpo: pulumi.String("string"),
	SoftDeletePolicy: &storage.BucketSoftDeletePolicyArgs{
		EffectiveTime:            pulumi.String("string"),
		RetentionDurationSeconds: pulumi.Int(0),
	},
	StorageClass:             pulumi.String("string"),
	UniformBucketLevelAccess: pulumi.Bool(false),
	Versioning: &storage.BucketVersioningArgs{
		Enabled: pulumi.Bool(false),
	},
	Logging: &storage.BucketLoggingArgs{
		LogBucket:       pulumi.String("string"),
		LogObjectPrefix: pulumi.String("string"),
	},
})
var bucketResource = new Bucket("bucketResource", BucketArgs.builder()
    .location("string")
    .encryption(BucketEncryptionArgs.builder()
        .defaultKmsKeyName("string")
        .build())
    .defaultEventBasedHold(false)
    .name("string")
    .enableObjectRetention(false)
    .autoclass(BucketAutoclassArgs.builder()
        .enabled(false)
        .terminalStorageClass("string")
        .build())
    .forceDestroy(false)
    .hierarchicalNamespace(BucketHierarchicalNamespaceArgs.builder()
        .enabled(false)
        .build())
    .labels(Map.of("string", "string"))
    .project("string")
    .cors(BucketCorArgs.builder()
        .maxAgeSeconds(0)
        .methods("string")
        .origins("string")
        .responseHeaders("string")
        .build())
    .website(BucketWebsiteArgs.builder()
        .mainPageSuffix("string")
        .notFoundPage("string")
        .build())
    .customPlacementConfig(BucketCustomPlacementConfigArgs.builder()
        .dataLocations("string")
        .build())
    .lifecycleRules(BucketLifecycleRuleArgs.builder()
        .action(BucketLifecycleRuleActionArgs.builder()
            .type("string")
            .storageClass("string")
            .build())
        .condition(BucketLifecycleRuleConditionArgs.builder()
            .age(0)
            .createdBefore("string")
            .customTimeBefore("string")
            .daysSinceCustomTime(0)
            .daysSinceNoncurrentTime(0)
            .matchesPrefixes("string")
            .matchesStorageClasses("string")
            .matchesSuffixes("string")
            .noncurrentTimeBefore("string")
            .numNewerVersions(0)
            .sendAgeIfZero(false)
            .sendDaysSinceCustomTimeIfZero(false)
            .sendDaysSinceNoncurrentTimeIfZero(false)
            .sendNumNewerVersionsIfZero(false)
            .withState("string")
            .build())
        .build())
    .publicAccessPrevention("string")
    .requesterPays(false)
    .retentionPolicy(BucketRetentionPolicyArgs.builder()
        .retentionPeriod(0)
        .isLocked(false)
        .build())
    .rpo("string")
    .softDeletePolicy(BucketSoftDeletePolicyArgs.builder()
        .effectiveTime("string")
        .retentionDurationSeconds(0)
        .build())
    .storageClass("string")
    .uniformBucketLevelAccess(false)
    .versioning(BucketVersioningArgs.builder()
        .enabled(false)
        .build())
    .logging(BucketLoggingArgs.builder()
        .logBucket("string")
        .logObjectPrefix("string")
        .build())
    .build());
bucket_resource = gcp.storage.Bucket("bucketResource",
    location="string",
    encryption={
        "default_kms_key_name": "string",
    },
    default_event_based_hold=False,
    name="string",
    enable_object_retention=False,
    autoclass={
        "enabled": False,
        "terminal_storage_class": "string",
    },
    force_destroy=False,
    hierarchical_namespace={
        "enabled": False,
    },
    labels={
        "string": "string",
    },
    project="string",
    cors=[{
        "max_age_seconds": 0,
        "methods": ["string"],
        "origins": ["string"],
        "response_headers": ["string"],
    }],
    website={
        "main_page_suffix": "string",
        "not_found_page": "string",
    },
    custom_placement_config={
        "data_locations": ["string"],
    },
    lifecycle_rules=[{
        "action": {
            "type": "string",
            "storage_class": "string",
        },
        "condition": {
            "age": 0,
            "created_before": "string",
            "custom_time_before": "string",
            "days_since_custom_time": 0,
            "days_since_noncurrent_time": 0,
            "matches_prefixes": ["string"],
            "matches_storage_classes": ["string"],
            "matches_suffixes": ["string"],
            "noncurrent_time_before": "string",
            "num_newer_versions": 0,
            "send_age_if_zero": False,
            "send_days_since_custom_time_if_zero": False,
            "send_days_since_noncurrent_time_if_zero": False,
            "send_num_newer_versions_if_zero": False,
            "with_state": "string",
        },
    }],
    public_access_prevention="string",
    requester_pays=False,
    retention_policy={
        "retention_period": 0,
        "is_locked": False,
    },
    rpo="string",
    soft_delete_policy={
        "effective_time": "string",
        "retention_duration_seconds": 0,
    },
    storage_class="string",
    uniform_bucket_level_access=False,
    versioning={
        "enabled": False,
    },
    logging={
        "log_bucket": "string",
        "log_object_prefix": "string",
    })
const bucketResource = new gcp.storage.Bucket("bucketResource", {
    location: "string",
    encryption: {
        defaultKmsKeyName: "string",
    },
    defaultEventBasedHold: false,
    name: "string",
    enableObjectRetention: false,
    autoclass: {
        enabled: false,
        terminalStorageClass: "string",
    },
    forceDestroy: false,
    hierarchicalNamespace: {
        enabled: false,
    },
    labels: {
        string: "string",
    },
    project: "string",
    cors: [{
        maxAgeSeconds: 0,
        methods: ["string"],
        origins: ["string"],
        responseHeaders: ["string"],
    }],
    website: {
        mainPageSuffix: "string",
        notFoundPage: "string",
    },
    customPlacementConfig: {
        dataLocations: ["string"],
    },
    lifecycleRules: [{
        action: {
            type: "string",
            storageClass: "string",
        },
        condition: {
            age: 0,
            createdBefore: "string",
            customTimeBefore: "string",
            daysSinceCustomTime: 0,
            daysSinceNoncurrentTime: 0,
            matchesPrefixes: ["string"],
            matchesStorageClasses: ["string"],
            matchesSuffixes: ["string"],
            noncurrentTimeBefore: "string",
            numNewerVersions: 0,
            sendAgeIfZero: false,
            sendDaysSinceCustomTimeIfZero: false,
            sendDaysSinceNoncurrentTimeIfZero: false,
            sendNumNewerVersionsIfZero: false,
            withState: "string",
        },
    }],
    publicAccessPrevention: "string",
    requesterPays: false,
    retentionPolicy: {
        retentionPeriod: 0,
        isLocked: false,
    },
    rpo: "string",
    softDeletePolicy: {
        effectiveTime: "string",
        retentionDurationSeconds: 0,
    },
    storageClass: "string",
    uniformBucketLevelAccess: false,
    versioning: {
        enabled: false,
    },
    logging: {
        logBucket: "string",
        logObjectPrefix: "string",
    },
});
type: gcp:storage:Bucket
properties:
    autoclass:
        enabled: false
        terminalStorageClass: string
    cors:
        - maxAgeSeconds: 0
          methods:
            - string
          origins:
            - string
          responseHeaders:
            - string
    customPlacementConfig:
        dataLocations:
            - string
    defaultEventBasedHold: false
    enableObjectRetention: false
    encryption:
        defaultKmsKeyName: string
    forceDestroy: false
    hierarchicalNamespace:
        enabled: false
    labels:
        string: string
    lifecycleRules:
        - action:
            storageClass: string
            type: string
          condition:
            age: 0
            createdBefore: string
            customTimeBefore: string
            daysSinceCustomTime: 0
            daysSinceNoncurrentTime: 0
            matchesPrefixes:
                - string
            matchesStorageClasses:
                - string
            matchesSuffixes:
                - string
            noncurrentTimeBefore: string
            numNewerVersions: 0
            sendAgeIfZero: false
            sendDaysSinceCustomTimeIfZero: false
            sendDaysSinceNoncurrentTimeIfZero: false
            sendNumNewerVersionsIfZero: false
            withState: string
    location: string
    logging:
        logBucket: string
        logObjectPrefix: string
    name: string
    project: string
    publicAccessPrevention: string
    requesterPays: false
    retentionPolicy:
        isLocked: false
        retentionPeriod: 0
    rpo: string
    softDeletePolicy:
        effectiveTime: string
        retentionDurationSeconds: 0
    storageClass: string
    uniformBucketLevelAccess: false
    versioning:
        enabled: false
    website:
        mainPageSuffix: string
        notFoundPage: string
Bucket Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Bucket resource accepts the following input properties:
- Location string
- The GCS location.
- Autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- Cors
List<BucketCor> 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- CustomPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- DefaultEvent boolBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- EnableObject boolRetention 
- Enables object retention on a storage bucket.
- Encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- ForceDestroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- HierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- Labels Dictionary<string, string>
- A map of key/value label pairs to assign to the bucket.
- LifecycleRules List<BucketLifecycle Rule> 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- Logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- Name string
- The name of the bucket.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PublicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- RequesterPays bool
- Enables Requester Pays on a storage bucket.
- RetentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- Rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- SoftDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- StorageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- UniformBucket boolLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- Versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- Website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- Location string
- The GCS location.
- Autoclass
BucketAutoclass Args 
- The bucket's Autoclass configuration. Structure is documented below.
- Cors
[]BucketCor Args 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- CustomPlacement BucketConfig Custom Placement Config Args 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- DefaultEvent boolBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- EnableObject boolRetention 
- Enables object retention on a storage bucket.
- Encryption
BucketEncryption Args 
- The bucket's encryption configuration. Structure is documented below.
- ForceDestroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- HierarchicalNamespace BucketHierarchical Namespace Args 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- Labels map[string]string
- A map of key/value label pairs to assign to the bucket.
- LifecycleRules []BucketLifecycle Rule Args 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- Logging
BucketLogging Args 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- Name string
- The name of the bucket.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PublicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- RequesterPays bool
- Enables Requester Pays on a storage bucket.
- RetentionPolicy BucketRetention Policy Args 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- Rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- SoftDelete BucketPolicy Soft Delete Policy Args 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- StorageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- UniformBucket boolLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- Versioning
BucketVersioning Args 
- The bucket's Versioning configuration. Structure is documented below.
- Website
BucketWebsite Args 
- Configuration if the bucket acts as a website. Structure is documented below.
- location String
- The GCS location.
- autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
List<BucketCor> 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent BooleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- enableObject BooleanRetention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy Boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Map<String,String>
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules List<BucketLifecycle Rule> 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name String
- The name of the bucket.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- publicAccess StringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- requesterPays Boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo String
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- softDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass String
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket BooleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- location string
- The GCS location.
- autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
BucketCor[] 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent booleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- enableObject booleanRetention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels {[key: string]: string}
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules BucketLifecycle Rule[] 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name string
- The name of the bucket.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- publicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- requesterPays boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- softDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket booleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- location str
- The GCS location.
- autoclass
BucketAutoclass Args 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
Sequence[BucketCor Args] 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- custom_placement_ Bucketconfig Custom Placement Config Args 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- default_event_ boolbased_ hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- enable_object_ boolretention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption Args 
- The bucket's encryption configuration. Structure is documented below.
- force_destroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchical_namespace BucketHierarchical Namespace Args 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Mapping[str, str]
- A map of key/value label pairs to assign to the bucket.
- lifecycle_rules Sequence[BucketLifecycle Rule Args] 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- logging
BucketLogging Args 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name str
- The name of the bucket.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- public_access_ strprevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- requester_pays bool
- Enables Requester Pays on a storage bucket.
- retention_policy BucketRetention Policy Args 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo str
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- soft_delete_ Bucketpolicy Soft Delete Policy Args 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storage_class str
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniform_bucket_ boollevel_ access 
- Enables Uniform bucket-level access access to a bucket.
- versioning
BucketVersioning Args 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite Args 
- Configuration if the bucket acts as a website. Structure is documented below.
- location String
- The GCS location.
- autoclass Property Map
- The bucket's Autoclass configuration. Structure is documented below.
- cors List<Property Map>
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement Property MapConfig 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent BooleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- enableObject BooleanRetention 
- Enables object retention on a storage bucket.
- encryption Property Map
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy Boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace Property Map
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Map<String>
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules List<Property Map>
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- logging Property Map
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name String
- The name of the bucket.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- publicAccess StringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- requesterPays Boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy Property Map
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo String
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- softDelete Property MapPolicy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass String
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket BooleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- versioning Property Map
- The bucket's Versioning configuration. Structure is documented below.
- website Property Map
- Configuration if the bucket acts as a website. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the Bucket resource produces the following output properties:
- EffectiveLabels Dictionary<string, string>
- Id string
- The provider-assigned unique ID for this managed resource.
- ProjectNumber int
- The project number of the project in which the resource belongs.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- SelfLink string
- The URI of the created resource.
- Url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- EffectiveLabels map[string]string
- Id string
- The provider-assigned unique ID for this managed resource.
- ProjectNumber int
- The project number of the project in which the resource belongs.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- SelfLink string
- The URI of the created resource.
- Url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- effectiveLabels Map<String,String>
- id String
- The provider-assigned unique ID for this managed resource.
- projectNumber Integer
- The project number of the project in which the resource belongs.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink String
- The URI of the created resource.
- url String
- The base URL of the bucket, in the format gs://<bucket-name>.
- effectiveLabels {[key: string]: string}
- id string
- The provider-assigned unique ID for this managed resource.
- projectNumber number
- The project number of the project in which the resource belongs.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink string
- The URI of the created resource.
- url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- effective_labels Mapping[str, str]
- id str
- The provider-assigned unique ID for this managed resource.
- project_number int
- The project number of the project in which the resource belongs.
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- self_link str
- The URI of the created resource.
- url str
- The base URL of the bucket, in the format gs://<bucket-name>.
- effectiveLabels Map<String>
- id String
- The provider-assigned unique ID for this managed resource.
- projectNumber Number
- The project number of the project in which the resource belongs.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- selfLink String
- The URI of the created resource.
- url String
- The base URL of the bucket, in the format gs://<bucket-name>.
Look up Existing Bucket Resource
Get an existing Bucket 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?: BucketState, opts?: CustomResourceOptions): Bucket@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        autoclass: Optional[BucketAutoclassArgs] = None,
        cors: Optional[Sequence[BucketCorArgs]] = None,
        custom_placement_config: Optional[BucketCustomPlacementConfigArgs] = None,
        default_event_based_hold: Optional[bool] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        enable_object_retention: Optional[bool] = None,
        encryption: Optional[BucketEncryptionArgs] = None,
        force_destroy: Optional[bool] = None,
        hierarchical_namespace: Optional[BucketHierarchicalNamespaceArgs] = None,
        labels: Optional[Mapping[str, str]] = None,
        lifecycle_rules: Optional[Sequence[BucketLifecycleRuleArgs]] = None,
        location: Optional[str] = None,
        logging: Optional[BucketLoggingArgs] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        project_number: Optional[int] = None,
        public_access_prevention: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        requester_pays: Optional[bool] = None,
        retention_policy: Optional[BucketRetentionPolicyArgs] = None,
        rpo: Optional[str] = None,
        self_link: Optional[str] = None,
        soft_delete_policy: Optional[BucketSoftDeletePolicyArgs] = None,
        storage_class: Optional[str] = None,
        uniform_bucket_level_access: Optional[bool] = None,
        url: Optional[str] = None,
        versioning: Optional[BucketVersioningArgs] = None,
        website: Optional[BucketWebsiteArgs] = None) -> Bucketfunc GetBucket(ctx *Context, name string, id IDInput, state *BucketState, opts ...ResourceOption) (*Bucket, error)public static Bucket Get(string name, Input<string> id, BucketState? state, CustomResourceOptions? opts = null)public static Bucket get(String name, Output<String> id, BucketState state, CustomResourceOptions options)resources:  _:    type: gcp:storage:Bucket    get:      id: ${id}- 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.
- Autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- Cors
List<BucketCor> 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- CustomPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- DefaultEvent boolBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- EffectiveLabels Dictionary<string, string>
- EnableObject boolRetention 
- Enables object retention on a storage bucket.
- Encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- ForceDestroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- HierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- Labels Dictionary<string, string>
- A map of key/value label pairs to assign to the bucket.
- LifecycleRules List<BucketLifecycle Rule> 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- Location string
- The GCS location.
- Logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- Name string
- The name of the bucket.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ProjectNumber int
- The project number of the project in which the resource belongs.
- PublicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- RequesterPays bool
- Enables Requester Pays on a storage bucket.
- RetentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- Rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- SelfLink string
- The URI of the created resource.
- SoftDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- StorageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- UniformBucket boolLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- Url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- Versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- Website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- Autoclass
BucketAutoclass Args 
- The bucket's Autoclass configuration. Structure is documented below.
- Cors
[]BucketCor Args 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- CustomPlacement BucketConfig Custom Placement Config Args 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- DefaultEvent boolBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- EffectiveLabels map[string]string
- EnableObject boolRetention 
- Enables object retention on a storage bucket.
- Encryption
BucketEncryption Args 
- The bucket's encryption configuration. Structure is documented below.
- ForceDestroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- HierarchicalNamespace BucketHierarchical Namespace Args 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- Labels map[string]string
- A map of key/value label pairs to assign to the bucket.
- LifecycleRules []BucketLifecycle Rule Args 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- Location string
- The GCS location.
- Logging
BucketLogging Args 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- Name string
- The name of the bucket.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ProjectNumber int
- The project number of the project in which the resource belongs.
- PublicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- RequesterPays bool
- Enables Requester Pays on a storage bucket.
- RetentionPolicy BucketRetention Policy Args 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- Rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- SelfLink string
- The URI of the created resource.
- SoftDelete BucketPolicy Soft Delete Policy Args 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- StorageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- UniformBucket boolLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- Url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- Versioning
BucketVersioning Args 
- The bucket's Versioning configuration. Structure is documented below.
- Website
BucketWebsite Args 
- Configuration if the bucket acts as a website. Structure is documented below.
- autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
List<BucketCor> 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent BooleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- effectiveLabels Map<String,String>
- enableObject BooleanRetention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy Boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Map<String,String>
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules List<BucketLifecycle Rule> 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- location String
- The GCS location.
- logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name String
- The name of the bucket.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- projectNumber Integer
- The project number of the project in which the resource belongs.
- publicAccess StringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- requesterPays Boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo String
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- selfLink String
- The URI of the created resource.
- softDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass String
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket BooleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- url String
- The base URL of the bucket, in the format gs://<bucket-name>.
- versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- autoclass
BucketAutoclass 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
BucketCor[] 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement BucketConfig Custom Placement Config 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent booleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- effectiveLabels {[key: string]: string}
- enableObject booleanRetention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption 
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace BucketHierarchical Namespace 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels {[key: string]: string}
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules BucketLifecycle Rule[] 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- location string
- The GCS location.
- logging
BucketLogging 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name string
- The name of the bucket.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- projectNumber number
- The project number of the project in which the resource belongs.
- publicAccess stringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- requesterPays boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy BucketRetention Policy 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo string
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- selfLink string
- The URI of the created resource.
- softDelete BucketPolicy Soft Delete Policy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass string
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket booleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- url string
- The base URL of the bucket, in the format gs://<bucket-name>.
- versioning
BucketVersioning 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite 
- Configuration if the bucket acts as a website. Structure is documented below.
- autoclass
BucketAutoclass Args 
- The bucket's Autoclass configuration. Structure is documented below.
- cors
Sequence[BucketCor Args] 
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- custom_placement_ Bucketconfig Custom Placement Config Args 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- default_event_ boolbased_ hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- effective_labels Mapping[str, str]
- enable_object_ boolretention 
- Enables object retention on a storage bucket.
- encryption
BucketEncryption Args 
- The bucket's encryption configuration. Structure is documented below.
- force_destroy bool
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchical_namespace BucketHierarchical Namespace Args 
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Mapping[str, str]
- A map of key/value label pairs to assign to the bucket.
- lifecycle_rules Sequence[BucketLifecycle Rule Args] 
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- location str
- The GCS location.
- logging
BucketLogging Args 
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name str
- The name of the bucket.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- project_number int
- The project number of the project in which the resource belongs.
- public_access_ strprevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- requester_pays bool
- Enables Requester Pays on a storage bucket.
- retention_policy BucketRetention Policy Args 
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo str
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- self_link str
- The URI of the created resource.
- soft_delete_ Bucketpolicy Soft Delete Policy Args 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storage_class str
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniform_bucket_ boollevel_ access 
- Enables Uniform bucket-level access access to a bucket.
- url str
- The base URL of the bucket, in the format gs://<bucket-name>.
- versioning
BucketVersioning Args 
- The bucket's Versioning configuration. Structure is documented below.
- website
BucketWebsite Args 
- Configuration if the bucket acts as a website. Structure is documented below.
- autoclass Property Map
- The bucket's Autoclass configuration. Structure is documented below.
- cors List<Property Map>
- The bucket's Cross-Origin Resource Sharing (CORS) configuration. Multiple blocks of this type are permitted. Structure is documented below.
- customPlacement Property MapConfig 
- The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
- defaultEvent BooleanBased Hold 
- Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
- effectiveLabels Map<String>
- enableObject BooleanRetention 
- Enables object retention on a storage bucket.
- encryption Property Map
- The bucket's encryption configuration. Structure is documented below.
- forceDestroy Boolean
- When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, the provider will fail that run.
- hierarchicalNamespace Property Map
- The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, uniform_bucket_level_accessmust be enabled on bucket.
- labels Map<String>
- A map of key/value label pairs to assign to the bucket.
- lifecycleRules List<Property Map>
- The bucket's Lifecycle Rules configuration. Multiple blocks of this type are permitted. Structure is documented below.
- location String
- The GCS location.
- logging Property Map
- The bucket's Access & Storage Logs configuration. Structure is documented below.
- name String
- The name of the bucket.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- projectNumber Number
- The project number of the project in which the resource belongs.
- publicAccess StringPrevention 
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses public access prevention. only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- requesterPays Boolean
- Enables Requester Pays on a storage bucket.
- retentionPolicy Property Map
- Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
- rpo String
- The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. "DEFAULT"sets default replication."ASYNC_TURBO"value enables turbo replication, valid for dual-region buckets only. See Turbo Replication for more information. If rpo is not specified at bucket creation, it defaults to"DEFAULT"for dual and multi-region buckets. NOTE If used with single-region bucket, It will throw an error.
- selfLink String
- The URI of the created resource.
- softDelete Property MapPolicy 
- The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
- storageClass String
- The Storage Class of the new bucket. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- uniformBucket BooleanLevel Access 
- Enables Uniform bucket-level access access to a bucket.
- url String
- The base URL of the bucket, in the format gs://<bucket-name>.
- versioning Property Map
- The bucket's Versioning configuration. Structure is documented below.
- website Property Map
- Configuration if the bucket acts as a website. Structure is documented below.
Supporting Types
BucketAutoclass, BucketAutoclassArgs    
- Enabled bool
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- TerminalStorage stringClass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
- Enabled bool
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- TerminalStorage stringClass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
- enabled Boolean
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- terminalStorage StringClass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
- enabled boolean
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- terminalStorage stringClass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
- enabled bool
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- terminal_storage_ strclass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
- enabled Boolean
- While set to true, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
- terminalStorage StringClass 
- The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE,ARCHIVE.
BucketCor, BucketCorArgs    
- MaxAge intSeconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- Methods List<string>
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- Origins List<string>
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- ResponseHeaders List<string>
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
- MaxAge intSeconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- Methods []string
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- Origins []string
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- ResponseHeaders []string
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
- maxAge IntegerSeconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- methods List<String>
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- origins List<String>
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- responseHeaders List<String>
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
- maxAge numberSeconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- methods string[]
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- origins string[]
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- responseHeaders string[]
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
- max_age_ intseconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- methods Sequence[str]
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- origins Sequence[str]
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- response_headers Sequence[str]
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
- maxAge NumberSeconds 
- The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
- methods List<String>
- The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
- origins List<String>
- The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
- responseHeaders List<String>
- The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.
BucketCustomPlacementConfig, BucketCustomPlacementConfigArgs        
- DataLocations List<string>
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
- DataLocations []string
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
- dataLocations List<String>
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
- dataLocations string[]
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
- data_locations Sequence[str]
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
- dataLocations List<String>
- The list of individual regions that comprise a dual-region bucket. See Cloud Storage bucket locations for a list of acceptable regions. Note: If any of the data_locations changes, it will recreate the bucket.
BucketEncryption, BucketEncryptionArgs    
- DefaultKms stringKey Name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
- DefaultKms stringKey Name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
- defaultKms StringKey Name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
- defaultKms stringKey Name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
- default_kms_ strkey_ name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
- defaultKms StringKey Name 
- The - idof a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See the docs for more details.- As per the docs for customer-managed encryption keys, the IAM policy for the specified key must permit the automatic Google Cloud Storage service account for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the - gcp.storage.getProjectServiceAccountdata source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
BucketHierarchicalNamespace, BucketHierarchicalNamespaceArgs      
- Enabled bool
- Enables hierarchical namespace for the bucket.
- Enabled bool
- Enables hierarchical namespace for the bucket.
- enabled Boolean
- Enables hierarchical namespace for the bucket.
- enabled boolean
- Enables hierarchical namespace for the bucket.
- enabled bool
- Enables hierarchical namespace for the bucket.
- enabled Boolean
- Enables hierarchical namespace for the bucket.
BucketLifecycleRule, BucketLifecycleRuleArgs      
- Action
BucketLifecycle Rule Action 
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- Condition
BucketLifecycle Rule Condition 
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
- Action
BucketLifecycle Rule Action 
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- Condition
BucketLifecycle Rule Condition 
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
- action
BucketLifecycle Rule Action 
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- condition
BucketLifecycle Rule Condition 
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
- action
BucketLifecycle Rule Action 
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- condition
BucketLifecycle Rule Condition 
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
- action
BucketLifecycle Rule Action 
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- condition
BucketLifecycle Rule Condition 
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
- action Property Map
- The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
- condition Property Map
- The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
BucketLifecycleRuleAction, BucketLifecycleRuleActionArgs        
- Type string
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- StorageClass string
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- Type string
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- StorageClass string
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- type String
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- storageClass String
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- type string
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- storageClass string
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- type str
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- storage_class str
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
- type String
- The type of the action of this Lifecycle Rule. Supported values include: Delete,SetStorageClassandAbortIncompleteMultipartUpload.
- storageClass String
- The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE.
BucketLifecycleRuleCondition, BucketLifecycleRuleConditionArgs        
- Age int
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- CreatedBefore string
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- CustomTime stringBefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- DaysSince intCustom Time 
- Number of days elapsed since the user-specified timestamp set on an object.
- DaysSince intNoncurrent Time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- MatchesPrefixes List<string>
- One or more matching name prefixes to satisfy this condition.
- MatchesStorage List<string>Classes 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- MatchesSuffixes List<string>
- One or more matching name suffixes to satisfy this condition.
- NoncurrentTime stringBefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- NumNewer intVersions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- SendAge boolIf Zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- SendDays boolSince Custom Time If Zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- SendDays boolSince Noncurrent Time If Zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- SendNum boolNewer Versions If Zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- WithState string
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
- Age int
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- CreatedBefore string
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- CustomTime stringBefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- DaysSince intCustom Time 
- Number of days elapsed since the user-specified timestamp set on an object.
- DaysSince intNoncurrent Time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- MatchesPrefixes []string
- One or more matching name prefixes to satisfy this condition.
- MatchesStorage []stringClasses 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- MatchesSuffixes []string
- One or more matching name suffixes to satisfy this condition.
- NoncurrentTime stringBefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- NumNewer intVersions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- SendAge boolIf Zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- SendDays boolSince Custom Time If Zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- SendDays boolSince Noncurrent Time If Zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- SendNum boolNewer Versions If Zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- WithState string
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
- age Integer
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- createdBefore String
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- customTime StringBefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- daysSince IntegerCustom Time 
- Number of days elapsed since the user-specified timestamp set on an object.
- daysSince IntegerNoncurrent Time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- matchesPrefixes List<String>
- One or more matching name prefixes to satisfy this condition.
- matchesStorage List<String>Classes 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- matchesSuffixes List<String>
- One or more matching name suffixes to satisfy this condition.
- noncurrentTime StringBefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- numNewer IntegerVersions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- sendAge BooleanIf Zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- sendDays BooleanSince Custom Time If Zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- sendDays BooleanSince Noncurrent Time If Zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- sendNum BooleanNewer Versions If Zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- withState String
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
- age number
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- createdBefore string
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- customTime stringBefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- daysSince numberCustom Time 
- Number of days elapsed since the user-specified timestamp set on an object.
- daysSince numberNoncurrent Time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- matchesPrefixes string[]
- One or more matching name prefixes to satisfy this condition.
- matchesStorage string[]Classes 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- matchesSuffixes string[]
- One or more matching name suffixes to satisfy this condition.
- noncurrentTime stringBefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- numNewer numberVersions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- sendAge booleanIf Zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- sendDays booleanSince Custom Time If Zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- sendDays booleanSince Noncurrent Time If Zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- sendNum booleanNewer Versions If Zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- withState string
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
- age int
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- created_before str
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- custom_time_ strbefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- days_since_ intcustom_ time 
- Number of days elapsed since the user-specified timestamp set on an object.
- days_since_ intnoncurrent_ time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- matches_prefixes Sequence[str]
- One or more matching name prefixes to satisfy this condition.
- matches_storage_ Sequence[str]classes 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- matches_suffixes Sequence[str]
- One or more matching name suffixes to satisfy this condition.
- noncurrent_time_ strbefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- num_newer_ intversions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- send_age_ boolif_ zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- send_days_ boolsince_ custom_ time_ if_ zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- send_days_ boolsince_ noncurrent_ time_ if_ zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- send_num_ boolnewer_ versions_ if_ zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- with_state str
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
- age Number
- Minimum age of an object in days to satisfy this condition. Note To set 0value ofage,send_age_if_zeroshould be settrueotherwise0value ofagefield will be ignored.
- createdBefore String
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
- customTime StringBefore 
- A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
- daysSince NumberCustom Time 
- Number of days elapsed since the user-specified timestamp set on an object.
- daysSince NumberNoncurrent Time 
- Number of days elapsed since the noncurrent timestamp of an object. This condition is relevant only for versioned objects.
- matchesPrefixes List<String>
- One or more matching name prefixes to satisfy this condition.
- matchesStorage List<String>Classes 
- Storage Class of objects to satisfy this condition. Supported values include: STANDARD,MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,ARCHIVE,DURABLE_REDUCED_AVAILABILITY.
- matchesSuffixes List<String>
- One or more matching name suffixes to satisfy this condition.
- noncurrentTime StringBefore 
- Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
- numNewer NumberVersions 
- Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
- sendAge BooleanIf Zero 
- While set true, agevalue will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to theagefield. It can be used alone or together withageattribute. NOTEageattibute with0value will be ommitted from the API request ifsend_age_if_zerofield is havingfalsevalue.
- sendDays BooleanSince Custom Time If Zero 
- While set true, days_since_custom_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_custom_timefield. It can be used alone or together withdays_since_custom_time.
- sendDays BooleanSince Noncurrent Time If Zero 
- While set true, days_since_noncurrent_timevalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thedays_since_noncurrent_timefield. It can be used alone or together withdays_since_noncurrent_time.
- sendNum BooleanNewer Versions If Zero 
- While set true, num_newer_versionsvalue will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to thenum_newer_versionsfield. It can be used alone or together withnum_newer_versions.
- withState String
- Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE","ARCHIVED","ANY".
BucketLogging, BucketLoggingArgs    
- LogBucket string
- The bucket that will receive log objects.
- LogObject stringPrefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
- LogBucket string
- The bucket that will receive log objects.
- LogObject stringPrefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
- logBucket String
- The bucket that will receive log objects.
- logObject StringPrefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
- logBucket string
- The bucket that will receive log objects.
- logObject stringPrefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
- log_bucket str
- The bucket that will receive log objects.
- log_object_ strprefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
- logBucket String
- The bucket that will receive log objects.
- logObject StringPrefix 
- The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.
BucketRetentionPolicy, BucketRetentionPolicyArgs      
- RetentionPeriod int
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- IsLocked bool
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
- RetentionPeriod int
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- IsLocked bool
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
- retentionPeriod Integer
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- isLocked Boolean
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
- retentionPeriod number
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- isLocked boolean
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
- retention_period int
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- is_locked bool
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
- retentionPeriod Number
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
- isLocked Boolean
- If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
BucketSoftDeletePolicy, BucketSoftDeletePolicyArgs        
- EffectiveTime string
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- RetentionDuration intSeconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
- EffectiveTime string
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- RetentionDuration intSeconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
- effectiveTime String
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- retentionDuration IntegerSeconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
- effectiveTime string
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- retentionDuration numberSeconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
- effective_time str
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- retention_duration_ intseconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
- effectiveTime String
- Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
- retentionDuration NumberSeconds 
- The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). Note: To disable the soft delete policy on a bucket, This field must be set to 0.
BucketVersioning, BucketVersioningArgs    
- Enabled bool
- While set to true, versioning is fully enabled for this bucket.
- Enabled bool
- While set to true, versioning is fully enabled for this bucket.
- enabled Boolean
- While set to true, versioning is fully enabled for this bucket.
- enabled boolean
- While set to true, versioning is fully enabled for this bucket.
- enabled bool
- While set to true, versioning is fully enabled for this bucket.
- enabled Boolean
- While set to true, versioning is fully enabled for this bucket.
BucketWebsite, BucketWebsiteArgs    
- MainPage stringSuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- NotFound stringPage 
- The custom object to return when a requested resource is not found.
- MainPage stringSuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- NotFound stringPage 
- The custom object to return when a requested resource is not found.
- mainPage StringSuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- notFound StringPage 
- The custom object to return when a requested resource is not found.
- mainPage stringSuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- notFound stringPage 
- The custom object to return when a requested resource is not found.
- main_page_ strsuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- not_found_ strpage 
- The custom object to return when a requested resource is not found.
- mainPage StringSuffix 
- Behaves as the bucket's directory index where missing objects are treated as potential directories.
- notFound StringPage 
- The custom object to return when a requested resource is not found.
Import
Storage buckets can be imported using the name or project/name. If the project is not
passed to the import command it will be inferred from the provider block or environment variables.
If it cannot be inferred it will be queried from the Compute API (this will fail if the API is
not enabled).
- {{project_id}}/{{bucket}}
- {{bucket}}
When using the pulumi import command, Storage buckets can be imported using one of the formats above. For example:
$ pulumi import gcp:storage/bucket:Bucket default {{bucket}}
$ pulumi import gcp:storage/bucket:Bucket default {{project_id}}/{{bucket}}
false in state. If you’ve set it to true in config, run pulumi up to
update the value set in state. If you delete this resource before updating the
value, objects in the bucket will not be destroyed.
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-betaTerraform Provider.