1. Packages
  2. Packages
  3. CoreWeave Provider
  4. API Docs
  5. ObjectStorageBucketVersioning
Viewing docs for CoreWeave v1.0.1
published on Monday, May 18, 2026 by Pulumi
coreweave logo
Viewing docs for CoreWeave v1.0.1
published on Monday, May 18, 2026 by Pulumi

    Versioning protects your data by preserving all versions of objects and preventing permanent deletion. When objects are deleted, they are “soft deleted” with delete markers, allowing you to restore previous versions and recover data. After creating a versioned bucket with Terraform, use rclone to manage versioned objects and delete markers.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as coreweave from "@pulumi/coreweave";
    
    const _default = new coreweave.ObjectStorageBucket("default", {
        name: "bucket-versioning-example",
        zone: "US-EAST-04A",
    });
    const defaultObjectStorageBucketVersioning = new coreweave.ObjectStorageBucketVersioning("default", {
        bucket: _default.name,
        versioningConfiguration: {
            status: "Enabled",
        },
    });
    
    import pulumi
    import pulumi_coreweave as coreweave
    
    default = coreweave.ObjectStorageBucket("default",
        name="bucket-versioning-example",
        zone="US-EAST-04A")
    default_object_storage_bucket_versioning = coreweave.ObjectStorageBucketVersioning("default",
        bucket=default.name,
        versioning_configuration={
            "status": "Enabled",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := coreweave.NewObjectStorageBucket(ctx, "default", &coreweave.ObjectStorageBucketArgs{
    			Name: pulumi.String("bucket-versioning-example"),
    			Zone: pulumi.String("US-EAST-04A"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = coreweave.NewObjectStorageBucketVersioning(ctx, "default", &coreweave.ObjectStorageBucketVersioningArgs{
    			Bucket: _default.Name,
    			VersioningConfiguration: &coreweave.ObjectStorageBucketVersioningVersioningConfigurationArgs{
    				Status: pulumi.String("Enabled"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CoreWeave = Pulumi.CoreWeave;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new CoreWeave.ObjectStorageBucket("default", new()
        {
            Name = "bucket-versioning-example",
            Zone = "US-EAST-04A",
        });
    
        var defaultObjectStorageBucketVersioning = new CoreWeave.ObjectStorageBucketVersioning("default", new()
        {
            Bucket = @default.Name,
            VersioningConfiguration = new CoreWeave.Inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs
            {
                Status = "Enabled",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.coreweave.ObjectStorageBucket;
    import com.pulumi.coreweave.ObjectStorageBucketArgs;
    import com.pulumi.coreweave.ObjectStorageBucketVersioning;
    import com.pulumi.coreweave.ObjectStorageBucketVersioningArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs;
    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 default_ = new ObjectStorageBucket("default", ObjectStorageBucketArgs.builder()
                .name("bucket-versioning-example")
                .zone("US-EAST-04A")
                .build());
    
            var defaultObjectStorageBucketVersioning = new ObjectStorageBucketVersioning("defaultObjectStorageBucketVersioning", ObjectStorageBucketVersioningArgs.builder()
                .bucket(default_.name())
                .versioningConfiguration(ObjectStorageBucketVersioningVersioningConfigurationArgs.builder()
                    .status("Enabled")
                    .build())
                .build());
    
        }
    }
    
    resources:
      default:
        type: coreweave:ObjectStorageBucket
        properties:
          name: bucket-versioning-example
          zone: US-EAST-04A
      defaultObjectStorageBucketVersioning:
        type: coreweave:ObjectStorageBucketVersioning
        name: default
        properties:
          bucket: ${default.name}
          versioningConfiguration:
            status: Enabled
    
    Example coming soon!
    

    Create ObjectStorageBucketVersioning Resource

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

    Constructor syntax

    new ObjectStorageBucketVersioning(name: string, args: ObjectStorageBucketVersioningArgs, opts?: CustomResourceOptions);
    @overload
    def ObjectStorageBucketVersioning(resource_name: str,
                                      args: ObjectStorageBucketVersioningArgs,
                                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def ObjectStorageBucketVersioning(resource_name: str,
                                      opts: Optional[ResourceOptions] = None,
                                      bucket: Optional[str] = None,
                                      versioning_configuration: Optional[ObjectStorageBucketVersioningVersioningConfigurationArgs] = None)
    func NewObjectStorageBucketVersioning(ctx *Context, name string, args ObjectStorageBucketVersioningArgs, opts ...ResourceOption) (*ObjectStorageBucketVersioning, error)
    public ObjectStorageBucketVersioning(string name, ObjectStorageBucketVersioningArgs args, CustomResourceOptions? opts = null)
    public ObjectStorageBucketVersioning(String name, ObjectStorageBucketVersioningArgs args)
    public ObjectStorageBucketVersioning(String name, ObjectStorageBucketVersioningArgs args, CustomResourceOptions options)
    
    type: coreweave:ObjectStorageBucketVersioning
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "coreweave_objectstoragebucketversioning" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ObjectStorageBucketVersioningArgs
    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 ObjectStorageBucketVersioningArgs
    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 ObjectStorageBucketVersioningArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ObjectStorageBucketVersioningArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ObjectStorageBucketVersioningArgs
    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 objectStorageBucketVersioningResource = new CoreWeave.ObjectStorageBucketVersioning("objectStorageBucketVersioningResource", new()
    {
        Bucket = "string",
        VersioningConfiguration = new CoreWeave.Inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs
        {
            Status = "string",
        },
    });
    
    example, err := coreweave.NewObjectStorageBucketVersioning(ctx, "objectStorageBucketVersioningResource", &coreweave.ObjectStorageBucketVersioningArgs{
    	Bucket: pulumi.String("string"),
    	VersioningConfiguration: &coreweave.ObjectStorageBucketVersioningVersioningConfigurationArgs{
    		Status: pulumi.String("string"),
    	},
    })
    
    resource "coreweave_objectstoragebucketversioning" "objectStorageBucketVersioningResource" {
      bucket = "string"
      versioning_configuration = {
        status = "string"
      }
    }
    
    var objectStorageBucketVersioningResource = new ObjectStorageBucketVersioning("objectStorageBucketVersioningResource", ObjectStorageBucketVersioningArgs.builder()
        .bucket("string")
        .versioningConfiguration(ObjectStorageBucketVersioningVersioningConfigurationArgs.builder()
            .status("string")
            .build())
        .build());
    
    object_storage_bucket_versioning_resource = coreweave.ObjectStorageBucketVersioning("objectStorageBucketVersioningResource",
        bucket="string",
        versioning_configuration={
            "status": "string",
        })
    
    const objectStorageBucketVersioningResource = new coreweave.ObjectStorageBucketVersioning("objectStorageBucketVersioningResource", {
        bucket: "string",
        versioningConfiguration: {
            status: "string",
        },
    });
    
    type: coreweave:ObjectStorageBucketVersioning
    properties:
        bucket: string
        versioningConfiguration:
            status: string
    

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

    Bucket string
    The bucket on which to enable or suspend versioning.
    VersioningConfiguration ObjectStorageBucketVersioningVersioningConfigurationArgs
    bucket string
    The bucket on which to enable or suspend versioning.
    versioning_configuration object
    bucket String
    The bucket on which to enable or suspend versioning.
    versioningConfiguration ObjectStorageBucketVersioningVersioningConfiguration
    bucket string
    The bucket on which to enable or suspend versioning.
    versioningConfiguration ObjectStorageBucketVersioningVersioningConfiguration
    bucket String
    The bucket on which to enable or suspend versioning.
    versioningConfiguration Property Map

    Outputs

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

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

    Look up Existing ObjectStorageBucketVersioning Resource

    Get an existing ObjectStorageBucketVersioning 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?: ObjectStorageBucketVersioningState, opts?: CustomResourceOptions): ObjectStorageBucketVersioning
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bucket: Optional[str] = None,
            versioning_configuration: Optional[ObjectStorageBucketVersioningVersioningConfigurationArgs] = None) -> ObjectStorageBucketVersioning
    func GetObjectStorageBucketVersioning(ctx *Context, name string, id IDInput, state *ObjectStorageBucketVersioningState, opts ...ResourceOption) (*ObjectStorageBucketVersioning, error)
    public static ObjectStorageBucketVersioning Get(string name, Input<string> id, ObjectStorageBucketVersioningState? state, CustomResourceOptions? opts = null)
    public static ObjectStorageBucketVersioning get(String name, Output<String> id, ObjectStorageBucketVersioningState state, CustomResourceOptions options)
    resources:  _:    type: coreweave:ObjectStorageBucketVersioning    get:      id: ${id}
    import {
      to = coreweave_objectstoragebucketversioning.example
      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.
    The following state arguments are supported:
    Bucket string
    The bucket on which to enable or suspend versioning.
    VersioningConfiguration ObjectStorageBucketVersioningVersioningConfigurationArgs
    bucket string
    The bucket on which to enable or suspend versioning.
    versioning_configuration object
    bucket String
    The bucket on which to enable or suspend versioning.
    versioningConfiguration ObjectStorageBucketVersioningVersioningConfiguration
    bucket string
    The bucket on which to enable or suspend versioning.
    versioningConfiguration ObjectStorageBucketVersioningVersioningConfiguration
    bucket String
    The bucket on which to enable or suspend versioning.
    versioningConfiguration Property Map

    Supporting Types

    ObjectStorageBucketVersioningVersioningConfiguration, ObjectStorageBucketVersioningVersioningConfigurationArgs

    Status string
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    Status string
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    status string
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    status String
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    status string
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    status str
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.
    status String
    Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.

    Import

    $ pulumi import coreweave:index/objectStorageBucketVersioning:ObjectStorageBucketVersioning default {{bucket_name}}
    

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

    Package Details

    Repository
    coreweave pulumi/pulumi-coreweave
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the coreweave Terraform Provider.
    coreweave logo
    Viewing docs for CoreWeave v1.0.1
    published on Monday, May 18, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.