1. Packages
  2. Linode
  3. API Docs
  4. ObjectStorageBucket
Linode v4.21.0 published on Friday, Jun 7, 2024 by Pulumi

linode.ObjectStorageBucket

Explore with Pulumi AI

linode logo
Linode v4.21.0 published on Friday, Jun 7, 2024 by Pulumi

    Provides a Linode Object Storage Bucket resource. This can be used to create, modify, and delete Linodes Object Storage Buckets.

    Example Usage

    The following example shows how one might use this resource to create an Object Storage Bucket:

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const primary = linode.getObjectStorageCluster({
        id: "us-east-1",
    });
    const foobar = new linode.ObjectStorageBucket("foobar", {
        cluster: primary.then(primary => primary.id),
        label: "mybucket",
    });
    
    import pulumi
    import pulumi_linode as linode
    
    primary = linode.get_object_storage_cluster(id="us-east-1")
    foobar = linode.ObjectStorageBucket("foobar",
        cluster=primary.id,
        label="mybucket")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		primary, err := linode.GetObjectStorageCluster(ctx, &linode.GetObjectStorageClusterArgs{
    			Id: "us-east-1",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = linode.NewObjectStorageBucket(ctx, "foobar", &linode.ObjectStorageBucketArgs{
    			Cluster: pulumi.String(primary.Id),
    			Label:   pulumi.String("mybucket"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var primary = Linode.GetObjectStorageCluster.Invoke(new()
        {
            Id = "us-east-1",
        });
    
        var foobar = new Linode.ObjectStorageBucket("foobar", new()
        {
            Cluster = primary.Apply(getObjectStorageClusterResult => getObjectStorageClusterResult.Id),
            Label = "mybucket",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.LinodeFunctions;
    import com.pulumi.linode.inputs.GetObjectStorageClusterArgs;
    import com.pulumi.linode.ObjectStorageBucket;
    import com.pulumi.linode.ObjectStorageBucketArgs;
    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) {
            final var primary = LinodeFunctions.getObjectStorageCluster(GetObjectStorageClusterArgs.builder()
                .id("us-east-1")
                .build());
    
            var foobar = new ObjectStorageBucket("foobar", ObjectStorageBucketArgs.builder()
                .cluster(primary.applyValue(getObjectStorageClusterResult -> getObjectStorageClusterResult.id()))
                .label("mybucket")
                .build());
    
        }
    }
    
    resources:
      foobar:
        type: linode:ObjectStorageBucket
        properties:
          cluster: ${primary.id}
          label: mybucket
    variables:
      primary:
        fn::invoke:
          Function: linode:getObjectStorageCluster
          Arguments:
            id: us-east-1
    

    Creating an Object Storage Bucket with Lifecycle rules:

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const mykey = new linode.ObjectStorageKey("mykey", {label: "image-access"});
    const mybucket = new linode.ObjectStorageBucket("mybucket", {
        accessKey: mykey.accessKey,
        secretKey: mykey.secretKey,
        cluster: "us-east-1",
        label: "mybucket",
        lifecycleRules: [{
            id: "my-rule",
            enabled: true,
            abortIncompleteMultipartUploadDays: 5,
            expiration: {
                date: "2021-06-21",
            },
        }],
    });
    
    import pulumi
    import pulumi_linode as linode
    
    mykey = linode.ObjectStorageKey("mykey", label="image-access")
    mybucket = linode.ObjectStorageBucket("mybucket",
        access_key=mykey.access_key,
        secret_key=mykey.secret_key,
        cluster="us-east-1",
        label="mybucket",
        lifecycle_rules=[linode.ObjectStorageBucketLifecycleRuleArgs(
            id="my-rule",
            enabled=True,
            abort_incomplete_multipart_upload_days=5,
            expiration=linode.ObjectStorageBucketLifecycleRuleExpirationArgs(
                date="2021-06-21",
            ),
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		mykey, err := linode.NewObjectStorageKey(ctx, "mykey", &linode.ObjectStorageKeyArgs{
    			Label: pulumi.String("image-access"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = linode.NewObjectStorageBucket(ctx, "mybucket", &linode.ObjectStorageBucketArgs{
    			AccessKey: mykey.AccessKey,
    			SecretKey: mykey.SecretKey,
    			Cluster:   pulumi.String("us-east-1"),
    			Label:     pulumi.String("mybucket"),
    			LifecycleRules: linode.ObjectStorageBucketLifecycleRuleArray{
    				&linode.ObjectStorageBucketLifecycleRuleArgs{
    					Id:                                 pulumi.String("my-rule"),
    					Enabled:                            pulumi.Bool(true),
    					AbortIncompleteMultipartUploadDays: pulumi.Int(5),
    					Expiration: &linode.ObjectStorageBucketLifecycleRuleExpirationArgs{
    						Date: pulumi.String("2021-06-21"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var mykey = new Linode.ObjectStorageKey("mykey", new()
        {
            Label = "image-access",
        });
    
        var mybucket = new Linode.ObjectStorageBucket("mybucket", new()
        {
            AccessKey = mykey.AccessKey,
            SecretKey = mykey.SecretKey,
            Cluster = "us-east-1",
            Label = "mybucket",
            LifecycleRules = new[]
            {
                new Linode.Inputs.ObjectStorageBucketLifecycleRuleArgs
                {
                    Id = "my-rule",
                    Enabled = true,
                    AbortIncompleteMultipartUploadDays = 5,
                    Expiration = new Linode.Inputs.ObjectStorageBucketLifecycleRuleExpirationArgs
                    {
                        Date = "2021-06-21",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.ObjectStorageKey;
    import com.pulumi.linode.ObjectStorageKeyArgs;
    import com.pulumi.linode.ObjectStorageBucket;
    import com.pulumi.linode.ObjectStorageBucketArgs;
    import com.pulumi.linode.inputs.ObjectStorageBucketLifecycleRuleArgs;
    import com.pulumi.linode.inputs.ObjectStorageBucketLifecycleRuleExpirationArgs;
    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 mykey = new ObjectStorageKey("mykey", ObjectStorageKeyArgs.builder()
                .label("image-access")
                .build());
    
            var mybucket = new ObjectStorageBucket("mybucket", ObjectStorageBucketArgs.builder()
                .accessKey(mykey.accessKey())
                .secretKey(mykey.secretKey())
                .cluster("us-east-1")
                .label("mybucket")
                .lifecycleRules(ObjectStorageBucketLifecycleRuleArgs.builder()
                    .id("my-rule")
                    .enabled(true)
                    .abortIncompleteMultipartUploadDays(5)
                    .expiration(ObjectStorageBucketLifecycleRuleExpirationArgs.builder()
                        .date("2021-06-21")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      mykey:
        type: linode:ObjectStorageKey
        properties:
          label: image-access
      mybucket:
        type: linode:ObjectStorageBucket
        properties:
          accessKey: ${mykey.accessKey}
          secretKey: ${mykey.secretKey}
          cluster: us-east-1
          label: mybucket
          lifecycleRules:
            - id: my-rule
              enabled: true
              abortIncompleteMultipartUploadDays: 5
              expiration:
                date: 2021-06-21
    

    Creating an Object Storage Bucket with Lifecycle rules using provider-level object credentials

    Create ObjectStorageBucket Resource

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

    Constructor syntax

    new ObjectStorageBucket(name: string, args: ObjectStorageBucketArgs, opts?: CustomResourceOptions);
    @overload
    def ObjectStorageBucket(resource_name: str,
                            args: ObjectStorageBucketArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def ObjectStorageBucket(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            cluster: Optional[str] = None,
                            label: Optional[str] = None,
                            access_key: Optional[str] = None,
                            acl: Optional[str] = None,
                            cert: Optional[ObjectStorageBucketCertArgs] = None,
                            cors_enabled: Optional[bool] = None,
                            lifecycle_rules: Optional[Sequence[ObjectStorageBucketLifecycleRuleArgs]] = None,
                            secret_key: Optional[str] = None,
                            versioning: Optional[bool] = None)
    func NewObjectStorageBucket(ctx *Context, name string, args ObjectStorageBucketArgs, opts ...ResourceOption) (*ObjectStorageBucket, error)
    public ObjectStorageBucket(string name, ObjectStorageBucketArgs args, CustomResourceOptions? opts = null)
    public ObjectStorageBucket(String name, ObjectStorageBucketArgs args)
    public ObjectStorageBucket(String name, ObjectStorageBucketArgs args, CustomResourceOptions options)
    
    type: linode:ObjectStorageBucket
    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 ObjectStorageBucketArgs
    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 ObjectStorageBucketArgs
    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 ObjectStorageBucketArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ObjectStorageBucketArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ObjectStorageBucketArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var objectStorageBucketResource = new Linode.ObjectStorageBucket("objectStorageBucketResource", new()
    {
        Cluster = "string",
        Label = "string",
        AccessKey = "string",
        Acl = "string",
        Cert = new Linode.Inputs.ObjectStorageBucketCertArgs
        {
            Certificate = "string",
            PrivateKey = "string",
        },
        CorsEnabled = false,
        LifecycleRules = new[]
        {
            new Linode.Inputs.ObjectStorageBucketLifecycleRuleArgs
            {
                Enabled = false,
                AbortIncompleteMultipartUploadDays = 0,
                Expiration = new Linode.Inputs.ObjectStorageBucketLifecycleRuleExpirationArgs
                {
                    Date = "string",
                    Days = 0,
                    ExpiredObjectDeleteMarker = false,
                },
                Id = "string",
                NoncurrentVersionExpiration = new Linode.Inputs.ObjectStorageBucketLifecycleRuleNoncurrentVersionExpirationArgs
                {
                    Days = 0,
                },
                Prefix = "string",
            },
        },
        SecretKey = "string",
        Versioning = false,
    });
    
    example, err := linode.NewObjectStorageBucket(ctx, "objectStorageBucketResource", &linode.ObjectStorageBucketArgs{
    	Cluster:   pulumi.String("string"),
    	Label:     pulumi.String("string"),
    	AccessKey: pulumi.String("string"),
    	Acl:       pulumi.String("string"),
    	Cert: &linode.ObjectStorageBucketCertArgs{
    		Certificate: pulumi.String("string"),
    		PrivateKey:  pulumi.String("string"),
    	},
    	CorsEnabled: pulumi.Bool(false),
    	LifecycleRules: linode.ObjectStorageBucketLifecycleRuleArray{
    		&linode.ObjectStorageBucketLifecycleRuleArgs{
    			Enabled:                            pulumi.Bool(false),
    			AbortIncompleteMultipartUploadDays: pulumi.Int(0),
    			Expiration: &linode.ObjectStorageBucketLifecycleRuleExpirationArgs{
    				Date:                      pulumi.String("string"),
    				Days:                      pulumi.Int(0),
    				ExpiredObjectDeleteMarker: pulumi.Bool(false),
    			},
    			Id: pulumi.String("string"),
    			NoncurrentVersionExpiration: &linode.ObjectStorageBucketLifecycleRuleNoncurrentVersionExpirationArgs{
    				Days: pulumi.Int(0),
    			},
    			Prefix: pulumi.String("string"),
    		},
    	},
    	SecretKey:  pulumi.String("string"),
    	Versioning: pulumi.Bool(false),
    })
    
    var objectStorageBucketResource = new ObjectStorageBucket("objectStorageBucketResource", ObjectStorageBucketArgs.builder()
        .cluster("string")
        .label("string")
        .accessKey("string")
        .acl("string")
        .cert(ObjectStorageBucketCertArgs.builder()
            .certificate("string")
            .privateKey("string")
            .build())
        .corsEnabled(false)
        .lifecycleRules(ObjectStorageBucketLifecycleRuleArgs.builder()
            .enabled(false)
            .abortIncompleteMultipartUploadDays(0)
            .expiration(ObjectStorageBucketLifecycleRuleExpirationArgs.builder()
                .date("string")
                .days(0)
                .expiredObjectDeleteMarker(false)
                .build())
            .id("string")
            .noncurrentVersionExpiration(ObjectStorageBucketLifecycleRuleNoncurrentVersionExpirationArgs.builder()
                .days(0)
                .build())
            .prefix("string")
            .build())
        .secretKey("string")
        .versioning(false)
        .build());
    
    object_storage_bucket_resource = linode.ObjectStorageBucket("objectStorageBucketResource",
        cluster="string",
        label="string",
        access_key="string",
        acl="string",
        cert=linode.ObjectStorageBucketCertArgs(
            certificate="string",
            private_key="string",
        ),
        cors_enabled=False,
        lifecycle_rules=[linode.ObjectStorageBucketLifecycleRuleArgs(
            enabled=False,
            abort_incomplete_multipart_upload_days=0,
            expiration=linode.ObjectStorageBucketLifecycleRuleExpirationArgs(
                date="string",
                days=0,
                expired_object_delete_marker=False,
            ),
            id="string",
            noncurrent_version_expiration=linode.ObjectStorageBucketLifecycleRuleNoncurrentVersionExpirationArgs(
                days=0,
            ),
            prefix="string",
        )],
        secret_key="string",
        versioning=False)
    
    const objectStorageBucketResource = new linode.ObjectStorageBucket("objectStorageBucketResource", {
        cluster: "string",
        label: "string",
        accessKey: "string",
        acl: "string",
        cert: {
            certificate: "string",
            privateKey: "string",
        },
        corsEnabled: false,
        lifecycleRules: [{
            enabled: false,
            abortIncompleteMultipartUploadDays: 0,
            expiration: {
                date: "string",
                days: 0,
                expiredObjectDeleteMarker: false,
            },
            id: "string",
            noncurrentVersionExpiration: {
                days: 0,
            },
            prefix: "string",
        }],
        secretKey: "string",
        versioning: false,
    });
    
    type: linode:ObjectStorageBucket
    properties:
        accessKey: string
        acl: string
        cert:
            certificate: string
            privateKey: string
        cluster: string
        corsEnabled: false
        label: string
        lifecycleRules:
            - abortIncompleteMultipartUploadDays: 0
              enabled: false
              expiration:
                date: string
                days: 0
                expiredObjectDeleteMarker: false
              id: string
              noncurrentVersionExpiration:
                days: 0
              prefix: string
        secretKey: string
        versioning: false
    

    ObjectStorageBucket Resource Properties

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

    Inputs

    The ObjectStorageBucket resource accepts the following input properties:

    Cluster string
    The cluster of the Linode Object Storage Bucket.
    Label string
    The label of the Linode Object Storage Bucket.
    AccessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    Cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    CorsEnabled bool
    If true, the bucket will have CORS enabled for all origins.
    LifecycleRules List<ObjectStorageBucketLifecycleRule>
    Lifecycle rules to be applied to the bucket.
    SecretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    Cluster string
    The cluster of the Linode Object Storage Bucket.
    Label string
    The label of the Linode Object Storage Bucket.
    AccessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    Cert ObjectStorageBucketCertArgs
    The cert used by this Object Storage Bucket.
    CorsEnabled bool
    If true, the bucket will have CORS enabled for all origins.
    LifecycleRules []ObjectStorageBucketLifecycleRuleArgs
    Lifecycle rules to be applied to the bucket.
    SecretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    cluster String
    The cluster of the Linode Object Storage Bucket.
    label String
    The label of the Linode Object Storage Bucket.
    accessKey String
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl String
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    corsEnabled Boolean
    If true, the bucket will have CORS enabled for all origins.
    lifecycleRules List<ObjectStorageBucketLifecycleRule>
    Lifecycle rules to be applied to the bucket.
    secretKey String
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning Boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    cluster string
    The cluster of the Linode Object Storage Bucket.
    label string
    The label of the Linode Object Storage Bucket.
    accessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    corsEnabled boolean
    If true, the bucket will have CORS enabled for all origins.
    lifecycleRules ObjectStorageBucketLifecycleRule[]
    Lifecycle rules to be applied to the bucket.
    secretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    cluster str
    The cluster of the Linode Object Storage Bucket.
    label str
    The label of the Linode Object Storage Bucket.
    access_key str
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl str
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCertArgs
    The cert used by this Object Storage Bucket.
    cors_enabled bool
    If true, the bucket will have CORS enabled for all origins.
    lifecycle_rules Sequence[ObjectStorageBucketLifecycleRuleArgs]
    Lifecycle rules to be applied to the bucket.
    secret_key str
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    cluster String
    The cluster of the Linode Object Storage Bucket.
    label String
    The label of the Linode Object Storage Bucket.
    accessKey String
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl String
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert Property Map
    The cert used by this Object Storage Bucket.
    corsEnabled Boolean
    If true, the bucket will have CORS enabled for all origins.
    lifecycleRules List<Property Map>
    Lifecycle rules to be applied to the bucket.
    secretKey String
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning Boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    Outputs

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

    Endpoint string
    The endpoint for the bucket used for s3 connections.
    Hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    Id string
    The provider-assigned unique ID for this managed resource.
    Endpoint string
    The endpoint for the bucket used for s3 connections.
    Hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    Id string
    The provider-assigned unique ID for this managed resource.
    endpoint String
    The endpoint for the bucket used for s3 connections.
    hostname String
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    id String
    The provider-assigned unique ID for this managed resource.
    endpoint string
    The endpoint for the bucket used for s3 connections.
    hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    id string
    The provider-assigned unique ID for this managed resource.
    endpoint str
    The endpoint for the bucket used for s3 connections.
    hostname str
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    id str
    The provider-assigned unique ID for this managed resource.
    endpoint String
    The endpoint for the bucket used for s3 connections.
    hostname String
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ObjectStorageBucket Resource

    Get an existing ObjectStorageBucket 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?: ObjectStorageBucketState, opts?: CustomResourceOptions): ObjectStorageBucket
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            access_key: Optional[str] = None,
            acl: Optional[str] = None,
            cert: Optional[ObjectStorageBucketCertArgs] = None,
            cluster: Optional[str] = None,
            cors_enabled: Optional[bool] = None,
            endpoint: Optional[str] = None,
            hostname: Optional[str] = None,
            label: Optional[str] = None,
            lifecycle_rules: Optional[Sequence[ObjectStorageBucketLifecycleRuleArgs]] = None,
            secret_key: Optional[str] = None,
            versioning: Optional[bool] = None) -> ObjectStorageBucket
    func GetObjectStorageBucket(ctx *Context, name string, id IDInput, state *ObjectStorageBucketState, opts ...ResourceOption) (*ObjectStorageBucket, error)
    public static ObjectStorageBucket Get(string name, Input<string> id, ObjectStorageBucketState? state, CustomResourceOptions? opts = null)
    public static ObjectStorageBucket get(String name, Output<String> id, ObjectStorageBucketState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    Cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    Cluster string
    The cluster of the Linode Object Storage Bucket.
    CorsEnabled bool
    If true, the bucket will have CORS enabled for all origins.
    Endpoint string
    The endpoint for the bucket used for s3 connections.
    Hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    Label string
    The label of the Linode Object Storage Bucket.
    LifecycleRules List<ObjectStorageBucketLifecycleRule>
    Lifecycle rules to be applied to the bucket.
    SecretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    AccessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    Cert ObjectStorageBucketCertArgs
    The cert used by this Object Storage Bucket.
    Cluster string
    The cluster of the Linode Object Storage Bucket.
    CorsEnabled bool
    If true, the bucket will have CORS enabled for all origins.
    Endpoint string
    The endpoint for the bucket used for s3 connections.
    Hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    Label string
    The label of the Linode Object Storage Bucket.
    LifecycleRules []ObjectStorageBucketLifecycleRuleArgs
    Lifecycle rules to be applied to the bucket.
    SecretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    Versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    accessKey String
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl String
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    cluster String
    The cluster of the Linode Object Storage Bucket.
    corsEnabled Boolean
    If true, the bucket will have CORS enabled for all origins.
    endpoint String
    The endpoint for the bucket used for s3 connections.
    hostname String
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    label String
    The label of the Linode Object Storage Bucket.
    lifecycleRules List<ObjectStorageBucketLifecycleRule>
    Lifecycle rules to be applied to the bucket.
    secretKey String
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning Boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    accessKey string
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl string
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCert
    The cert used by this Object Storage Bucket.
    cluster string
    The cluster of the Linode Object Storage Bucket.
    corsEnabled boolean
    If true, the bucket will have CORS enabled for all origins.
    endpoint string
    The endpoint for the bucket used for s3 connections.
    hostname string
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    label string
    The label of the Linode Object Storage Bucket.
    lifecycleRules ObjectStorageBucketLifecycleRule[]
    Lifecycle rules to be applied to the bucket.
    secretKey string
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    access_key str
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl str
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert ObjectStorageBucketCertArgs
    The cert used by this Object Storage Bucket.
    cluster str
    The cluster of the Linode Object Storage Bucket.
    cors_enabled bool
    If true, the bucket will have CORS enabled for all origins.
    endpoint str
    The endpoint for the bucket used for s3 connections.
    hostname str
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    label str
    The label of the Linode Object Storage Bucket.
    lifecycle_rules Sequence[ObjectStorageBucketLifecycleRuleArgs]
    Lifecycle rules to be applied to the bucket.
    secret_key str
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning bool

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    accessKey String
    The access key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_access_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    acl String
    The Access Control Level of the bucket using a canned ACL string. See all ACL strings in the Linode API v4 documentation.
    cert Property Map
    The cert used by this Object Storage Bucket.
    cluster String
    The cluster of the Linode Object Storage Bucket.
    corsEnabled Boolean
    If true, the bucket will have CORS enabled for all origins.
    endpoint String
    The endpoint for the bucket used for s3 connections.
    hostname String
    The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public.
    label String
    The label of the Linode Object Storage Bucket.
    lifecycleRules List<Property Map>
    Lifecycle rules to be applied to the bucket.
    secretKey String
    The secret key to authenticate with. If not specified with the resource, its value can be

    • configured by obj_secret_key in the provider configuration;
    • or, generated implicitly at apply-time if obj_use_temp_keys at provider-level is set.
    versioning Boolean

    Whether to enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. (Requires access_key and secret_key)

    • lifecycle_rule - (Optional) Lifecycle rules to be applied to the bucket. (Requires access_key and secret_key)

    • cert - (Optional) The bucket's TLS/SSL certificate.

    Supporting Types

    ObjectStorageBucketCert, ObjectStorageBucketCertArgs

    Certificate string
    The Base64 encoded and PEM formatted SSL certificate.
    PrivateKey string
    The private key associated with the TLS/SSL certificate.
    Certificate string
    The Base64 encoded and PEM formatted SSL certificate.
    PrivateKey string
    The private key associated with the TLS/SSL certificate.
    certificate String
    The Base64 encoded and PEM formatted SSL certificate.
    privateKey String
    The private key associated with the TLS/SSL certificate.
    certificate string
    The Base64 encoded and PEM formatted SSL certificate.
    privateKey string
    The private key associated with the TLS/SSL certificate.
    certificate str
    The Base64 encoded and PEM formatted SSL certificate.
    private_key str
    The private key associated with the TLS/SSL certificate.
    certificate String
    The Base64 encoded and PEM formatted SSL certificate.
    privateKey String
    The private key associated with the TLS/SSL certificate.

    ObjectStorageBucketLifecycleRule, ObjectStorageBucketLifecycleRuleArgs

    Enabled bool
    Specifies whether the lifecycle rule is active.
    AbortIncompleteMultipartUploadDays int

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    Expiration ObjectStorageBucketLifecycleRuleExpiration
    Specifies a period in the object's expire.
    Id string
    The unique identifier for the rule.
    NoncurrentVersionExpiration ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies when non-current object versions expire.
    Prefix string
    The object key prefix identifying one or more objects to which the rule applies.
    Enabled bool
    Specifies whether the lifecycle rule is active.
    AbortIncompleteMultipartUploadDays int

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    Expiration ObjectStorageBucketLifecycleRuleExpiration
    Specifies a period in the object's expire.
    Id string
    The unique identifier for the rule.
    NoncurrentVersionExpiration ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies when non-current object versions expire.
    Prefix string
    The object key prefix identifying one or more objects to which the rule applies.
    enabled Boolean
    Specifies whether the lifecycle rule is active.
    abortIncompleteMultipartUploadDays Integer

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    expiration ObjectStorageBucketLifecycleRuleExpiration
    Specifies a period in the object's expire.
    id String
    The unique identifier for the rule.
    noncurrentVersionExpiration ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies when non-current object versions expire.
    prefix String
    The object key prefix identifying one or more objects to which the rule applies.
    enabled boolean
    Specifies whether the lifecycle rule is active.
    abortIncompleteMultipartUploadDays number

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    expiration ObjectStorageBucketLifecycleRuleExpiration
    Specifies a period in the object's expire.
    id string
    The unique identifier for the rule.
    noncurrentVersionExpiration ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies when non-current object versions expire.
    prefix string
    The object key prefix identifying one or more objects to which the rule applies.
    enabled bool
    Specifies whether the lifecycle rule is active.
    abort_incomplete_multipart_upload_days int

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    expiration ObjectStorageBucketLifecycleRuleExpiration
    Specifies a period in the object's expire.
    id str
    The unique identifier for the rule.
    noncurrent_version_expiration ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration
    Specifies when non-current object versions expire.
    prefix str
    The object key prefix identifying one or more objects to which the rule applies.
    enabled Boolean
    Specifies whether the lifecycle rule is active.
    abortIncompleteMultipartUploadDays Number

    Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

    • expiration - (Optional) Specifies a period in the object's expire.

    • noncurrent_version_expiration - (Optional) Specifies when non-current object versions expire.

    expiration Property Map
    Specifies a period in the object's expire.
    id String
    The unique identifier for the rule.
    noncurrentVersionExpiration Property Map
    Specifies when non-current object versions expire.
    prefix String
    The object key prefix identifying one or more objects to which the rule applies.

    ObjectStorageBucketLifecycleRuleExpiration, ObjectStorageBucketLifecycleRuleExpirationArgs

    Date string
    Specifies the date after which you want the corresponding action to take effect.
    Days int
    Specifies the number of days after object creation when the specific rule action takes effect.
    ExpiredObjectDeleteMarker bool
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
    Date string
    Specifies the date after which you want the corresponding action to take effect.
    Days int
    Specifies the number of days after object creation when the specific rule action takes effect.
    ExpiredObjectDeleteMarker bool
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
    date String
    Specifies the date after which you want the corresponding action to take effect.
    days Integer
    Specifies the number of days after object creation when the specific rule action takes effect.
    expiredObjectDeleteMarker Boolean
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
    date string
    Specifies the date after which you want the corresponding action to take effect.
    days number
    Specifies the number of days after object creation when the specific rule action takes effect.
    expiredObjectDeleteMarker boolean
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
    date str
    Specifies the date after which you want the corresponding action to take effect.
    days int
    Specifies the number of days after object creation when the specific rule action takes effect.
    expired_object_delete_marker bool
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
    date String
    Specifies the date after which you want the corresponding action to take effect.
    days Number
    Specifies the number of days after object creation when the specific rule action takes effect.
    expiredObjectDeleteMarker Boolean
    On a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Linode Object Storage to delete expired object delete markers. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

    ObjectStorageBucketLifecycleRuleNoncurrentVersionExpiration, ObjectStorageBucketLifecycleRuleNoncurrentVersionExpirationArgs

    Days int
    Specifies the number of days non-current object versions expire.
    Days int
    Specifies the number of days non-current object versions expire.
    days Integer
    Specifies the number of days non-current object versions expire.
    days number
    Specifies the number of days non-current object versions expire.
    days int
    Specifies the number of days non-current object versions expire.
    days Number
    Specifies the number of days non-current object versions expire.

    Import

    Linodes Object Storage Buckets can be imported using the resource id which is made of cluster:label, e.g.

    $ pulumi import linode:index/objectStorageBucket:ObjectStorageBucket mybucket us-east-1:foobar
    

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

    Package Details

    Repository
    Linode pulumi/pulumi-linode
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the linode Terraform Provider.
    linode logo
    Linode v4.21.0 published on Friday, Jun 7, 2024 by Pulumi