1. Packages
  2. Packages
  3. CoreWeave Provider
  4. API Docs
  5. ObjectStorageBucketLifecycleConfiguration
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

    Lifecycle configurations automate object management by defining actions applied to objects over time, such as expiring objects after a specified period or transitioning them to different storage tiers. This helps optimize storage costs and maintain data hygiene. Lifecycle configurations automate object management by defining actions applied to objects over time, such as expiring objects after a specified period or transitioning them to different storage tiers. This helps optimize storage costs and maintain data hygiene. Learn more about S3-compatible lifecycle bucket configurations.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as coreweave from "@pulumi/coreweave";
    
    const _default = new coreweave.ObjectStorageBucket("default", {
        name: "bucket-lifecycle-example",
        zone: "US-EAST-04A",
    });
    const defaultObjectStorageBucketVersioning = new coreweave.ObjectStorageBucketVersioning("default", {
        bucket: _default.name,
        versioningConfiguration: {
            status: "Enabled",
        },
    });
    const defaultObjectStorageBucketLifecycleConfiguration = new coreweave.ObjectStorageBucketLifecycleConfiguration("default", {
        bucket: _default.name,
        rules: [
            {
                id: "cleanup-logs",
                status: "Enabled",
                filter: {
                    and: {
                        prefix: "logs/",
                        objectSizeGreaterThan: 1000000,
                        tags: {
                            env: "prod",
                        },
                    },
                },
                expiration: {
                    days: 30,
                },
                noncurrentVersionExpiration: {
                    noncurrentDays: 7,
                    newerNoncurrentVersions: 2,
                },
            },
            {
                id: "expire-traces",
                prefix: "traces/",
                status: "Enabled",
                abortIncompleteMultipartUpload: {
                    daysAfterInitiation: 5,
                },
                expiration: {
                    date: "2026-01-01T00:00:00Z",
                },
            },
        ],
    }, {
        dependsOn: [defaultObjectStorageBucketVersioning],
    });
    
    import pulumi
    import pulumi_coreweave as coreweave
    
    default = coreweave.ObjectStorageBucket("default",
        name="bucket-lifecycle-example",
        zone="US-EAST-04A")
    default_object_storage_bucket_versioning = coreweave.ObjectStorageBucketVersioning("default",
        bucket=default.name,
        versioning_configuration={
            "status": "Enabled",
        })
    default_object_storage_bucket_lifecycle_configuration = coreweave.ObjectStorageBucketLifecycleConfiguration("default",
        bucket=default.name,
        rules=[
            {
                "id": "cleanup-logs",
                "status": "Enabled",
                "filter": {
                    "and_": {
                        "prefix": "logs/",
                        "object_size_greater_than": 1000000,
                        "tags": {
                            "env": "prod",
                        },
                    },
                },
                "expiration": {
                    "days": 30,
                },
                "noncurrent_version_expiration": {
                    "noncurrent_days": 7,
                    "newer_noncurrent_versions": 2,
                },
            },
            {
                "id": "expire-traces",
                "prefix": "traces/",
                "status": "Enabled",
                "abort_incomplete_multipart_upload": {
                    "days_after_initiation": 5,
                },
                "expiration": {
                    "date": "2026-01-01T00:00:00Z",
                },
            },
        ],
        opts = pulumi.ResourceOptions(depends_on=[default_object_storage_bucket_versioning]))
    
    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-lifecycle-example"),
    			Zone: pulumi.String("US-EAST-04A"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultObjectStorageBucketVersioning, err := coreweave.NewObjectStorageBucketVersioning(ctx, "default", &coreweave.ObjectStorageBucketVersioningArgs{
    			Bucket: _default.Name,
    			VersioningConfiguration: &coreweave.ObjectStorageBucketVersioningVersioningConfigurationArgs{
    				Status: pulumi.String("Enabled"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = coreweave.NewObjectStorageBucketLifecycleConfiguration(ctx, "default", &coreweave.ObjectStorageBucketLifecycleConfigurationArgs{
    			Bucket: _default.Name,
    			Rules: coreweave.ObjectStorageBucketLifecycleConfigurationRuleArray{
    				&coreweave.ObjectStorageBucketLifecycleConfigurationRuleArgs{
    					Id:     pulumi.String("cleanup-logs"),
    					Status: pulumi.String("Enabled"),
    					Filter: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs{
    						And: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs{
    							Prefix:                pulumi.String("logs/"),
    							ObjectSizeGreaterThan: pulumi.Int(1000000),
    							Tags: pulumi.StringMap{
    								"env": pulumi.String("prod"),
    							},
    						},
    					},
    					Expiration: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs{
    						Days: pulumi.Int(30),
    					},
    					NoncurrentVersionExpiration: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{
    						NoncurrentDays:          pulumi.Int(7),
    						NewerNoncurrentVersions: pulumi.Int(2),
    					},
    				},
    				&coreweave.ObjectStorageBucketLifecycleConfigurationRuleArgs{
    					Id:     pulumi.String("expire-traces"),
    					Prefix: pulumi.String("traces/"),
    					Status: pulumi.String("Enabled"),
    					AbortIncompleteMultipartUpload: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs{
    						DaysAfterInitiation: pulumi.Int(5),
    					},
    					Expiration: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs{
    						Date: pulumi.String("2026-01-01T00:00:00Z"),
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			defaultObjectStorageBucketVersioning,
    		}))
    		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-lifecycle-example",
            Zone = "US-EAST-04A",
        });
    
        var defaultObjectStorageBucketVersioning = new CoreWeave.ObjectStorageBucketVersioning("default", new()
        {
            Bucket = @default.Name,
            VersioningConfiguration = new CoreWeave.Inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs
            {
                Status = "Enabled",
            },
        });
    
        var defaultObjectStorageBucketLifecycleConfiguration = new CoreWeave.ObjectStorageBucketLifecycleConfiguration("default", new()
        {
            Bucket = @default.Name,
            Rules = new[]
            {
                new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs
                {
                    Id = "cleanup-logs",
                    Status = "Enabled",
                    Filter = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs
                    {
                        And = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs
                        {
                            Prefix = "logs/",
                            ObjectSizeGreaterThan = 1000000,
                            Tags = 
                            {
                                { "env", "prod" },
                            },
                        },
                    },
                    Expiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs
                    {
                        Days = 30,
                    },
                    NoncurrentVersionExpiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs
                    {
                        NoncurrentDays = 7,
                        NewerNoncurrentVersions = 2,
                    },
                },
                new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs
                {
                    Id = "expire-traces",
                    Prefix = "traces/",
                    Status = "Enabled",
                    AbortIncompleteMultipartUpload = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs
                    {
                        DaysAfterInitiation = 5,
                    },
                    Expiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs
                    {
                        Date = "2026-01-01T00:00:00Z",
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                defaultObjectStorageBucketVersioning,
            },
        });
    
    });
    
    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 com.pulumi.coreweave.ObjectStorageBucketLifecycleConfiguration;
    import com.pulumi.coreweave.ObjectStorageBucketLifecycleConfigurationArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs;
    import com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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-lifecycle-example")
                .zone("US-EAST-04A")
                .build());
    
            var defaultObjectStorageBucketVersioning = new ObjectStorageBucketVersioning("defaultObjectStorageBucketVersioning", ObjectStorageBucketVersioningArgs.builder()
                .bucket(default_.name())
                .versioningConfiguration(ObjectStorageBucketVersioningVersioningConfigurationArgs.builder()
                    .status("Enabled")
                    .build())
                .build());
    
            var defaultObjectStorageBucketLifecycleConfiguration = new ObjectStorageBucketLifecycleConfiguration("defaultObjectStorageBucketLifecycleConfiguration", ObjectStorageBucketLifecycleConfigurationArgs.builder()
                .bucket(default_.name())
                .rules(            
                    ObjectStorageBucketLifecycleConfigurationRuleArgs.builder()
                        .id("cleanup-logs")
                        .status("Enabled")
                        .filter(ObjectStorageBucketLifecycleConfigurationRuleFilterArgs.builder()
                            .and(ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs.builder()
                                .prefix("logs/")
                                .objectSizeGreaterThan(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(1e+06) (example.pp:26,33-40)))
                                .tags(Map.of("env", "prod"))
                                .build())
                            .build())
                        .expiration(ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs.builder()
                            .days(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(30) (example.pp:33,14-16)))
                            .build())
                        .noncurrentVersionExpiration(ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs.builder()
                            .noncurrentDays(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(7) (example.pp:36,33-34)))
                            .newerNoncurrentVersions(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2) (example.pp:37,33-34)))
                            .build())
                        .build(),
                    ObjectStorageBucketLifecycleConfigurationRuleArgs.builder()
                        .id("expire-traces")
                        .prefix("traces/")
                        .status("Enabled")
                        .abortIncompleteMultipartUpload(ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.builder()
                            .daysAfterInitiation(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(5) (example.pp:44,29-30)))
                            .build())
                        .expiration(ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs.builder()
                            .date("2026-01-01T00:00:00Z")
                            .build())
                        .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(defaultObjectStorageBucketVersioning)
                    .build());
    
        }
    }
    
    resources:
      default:
        type: coreweave:ObjectStorageBucket
        properties:
          name: bucket-lifecycle-example
          zone: US-EAST-04A
      defaultObjectStorageBucketVersioning:
        type: coreweave:ObjectStorageBucketVersioning
        name: default
        properties:
          bucket: ${default.name}
          versioningConfiguration:
            status: Enabled
      defaultObjectStorageBucketLifecycleConfiguration:
        type: coreweave:ObjectStorageBucketLifecycleConfiguration
        name: default
        properties:
          bucket: ${default.name}
          rules:
            - id: cleanup-logs
              status: Enabled
              filter:
                and:
                  prefix: logs/
                  objectSizeGreaterThan: 1e+06
                  tags:
                    env: prod
              expiration:
                days: 30
              noncurrentVersionExpiration:
                noncurrentDays: 7
                newerNoncurrentVersions: 2
            - id: expire-traces
              prefix: traces/
              status: Enabled
              abortIncompleteMultipartUpload:
                daysAfterInitiation: 5
              expiration:
                date: 2026-01-01T00:00:00Z
        options:
          dependsOn:
            - ${defaultObjectStorageBucketVersioning}
    
    Example coming soon!
    

    Create ObjectStorageBucketLifecycleConfiguration Resource

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

    Constructor syntax

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

    Parameters

    name string
    The unique name of the resource.
    args ObjectStorageBucketLifecycleConfigurationArgs
    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 ObjectStorageBucketLifecycleConfigurationArgs
    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 ObjectStorageBucketLifecycleConfigurationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ObjectStorageBucketLifecycleConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ObjectStorageBucketLifecycleConfigurationArgs
    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 objectStorageBucketLifecycleConfigurationResource = new CoreWeave.ObjectStorageBucketLifecycleConfiguration("objectStorageBucketLifecycleConfigurationResource", new()
    {
        Bucket = "string",
        Rules = new[]
        {
            new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs
            {
                Status = "string",
                AbortIncompleteMultipartUpload = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs
                {
                    DaysAfterInitiation = 0,
                },
                Expiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs
                {
                    Date = "string",
                    Days = 0,
                    ExpiredObjectDeleteMarker = false,
                },
                Filter = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs
                {
                    And = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs
                    {
                        ObjectSizeGreaterThan = 0,
                        ObjectSizeLessThan = 0,
                        Prefix = "string",
                        Tags = 
                        {
                            { "string", "string" },
                        },
                    },
                    ObjectSizeGreaterThan = 0,
                    ObjectSizeLessThan = 0,
                    Prefix = "string",
                    Tag = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterTagArgs
                    {
                        Key = "string",
                        Value = "string",
                    },
                },
                Id = "string",
                NoncurrentVersionExpiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs
                {
                    NewerNoncurrentVersions = 0,
                    NoncurrentDays = 0,
                },
                NoncurrentVersionTransitions = new[]
                {
                    new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs
                    {
                        NoncurrentDays = 0,
                        StorageClass = "string",
                        NewerNoncurrentVersions = 0,
                    },
                },
                Prefix = "string",
                Transitions = new[]
                {
                    new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleTransitionArgs
                    {
                        StorageClass = "string",
                        Date = "string",
                        Days = 0,
                    },
                },
            },
        },
    });
    
    example, err := coreweave.NewObjectStorageBucketLifecycleConfiguration(ctx, "objectStorageBucketLifecycleConfigurationResource", &coreweave.ObjectStorageBucketLifecycleConfigurationArgs{
    	Bucket: pulumi.String("string"),
    	Rules: coreweave.ObjectStorageBucketLifecycleConfigurationRuleArray{
    		&coreweave.ObjectStorageBucketLifecycleConfigurationRuleArgs{
    			Status: pulumi.String("string"),
    			AbortIncompleteMultipartUpload: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs{
    				DaysAfterInitiation: pulumi.Int(0),
    			},
    			Expiration: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs{
    				Date:                      pulumi.String("string"),
    				Days:                      pulumi.Int(0),
    				ExpiredObjectDeleteMarker: pulumi.Bool(false),
    			},
    			Filter: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs{
    				And: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs{
    					ObjectSizeGreaterThan: pulumi.Int(0),
    					ObjectSizeLessThan:    pulumi.Int(0),
    					Prefix:                pulumi.String("string"),
    					Tags: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				ObjectSizeGreaterThan: pulumi.Int(0),
    				ObjectSizeLessThan:    pulumi.Int(0),
    				Prefix:                pulumi.String("string"),
    				Tag: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterTagArgs{
    					Key:   pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Id: pulumi.String("string"),
    			NoncurrentVersionExpiration: &coreweave.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{
    				NewerNoncurrentVersions: pulumi.Int(0),
    				NoncurrentDays:          pulumi.Int(0),
    			},
    			NoncurrentVersionTransitions: coreweave.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArray{
    				&coreweave.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs{
    					NoncurrentDays:          pulumi.Int(0),
    					StorageClass:            pulumi.String("string"),
    					NewerNoncurrentVersions: pulumi.Int(0),
    				},
    			},
    			Prefix: pulumi.String("string"),
    			Transitions: coreweave.ObjectStorageBucketLifecycleConfigurationRuleTransitionArray{
    				&coreweave.ObjectStorageBucketLifecycleConfigurationRuleTransitionArgs{
    					StorageClass: pulumi.String("string"),
    					Date:         pulumi.String("string"),
    					Days:         pulumi.Int(0),
    				},
    			},
    		},
    	},
    })
    
    resource "coreweave_objectstoragebucketlifecycleconfiguration" "objectStorageBucketLifecycleConfigurationResource" {
      bucket = "string"
      rules {
        status = "string"
        abort_incomplete_multipart_upload = {
          days_after_initiation = 0
        }
        expiration = {
          date                         = "string"
          days                         = 0
          expired_object_delete_marker = false
        }
        filter = {
          and = {
            object_size_greater_than = 0
            object_size_less_than    = 0
            prefix                   = "string"
            tags = {
              "string" = "string"
            }
          }
          object_size_greater_than = 0
          object_size_less_than    = 0
          prefix                   = "string"
          tag = {
            key   = "string"
            value = "string"
          }
        }
        id = "string"
        noncurrent_version_expiration = {
          newer_noncurrent_versions = 0
          noncurrent_days           = 0
        }
        noncurrent_version_transitions {
          noncurrent_days           = 0
          storage_class             = "string"
          newer_noncurrent_versions = 0
        }
        prefix = "string"
        transitions {
          storage_class = "string"
          date          = "string"
          days          = 0
        }
      }
    }
    
    var objectStorageBucketLifecycleConfigurationResource = new ObjectStorageBucketLifecycleConfiguration("objectStorageBucketLifecycleConfigurationResource", ObjectStorageBucketLifecycleConfigurationArgs.builder()
        .bucket("string")
        .rules(ObjectStorageBucketLifecycleConfigurationRuleArgs.builder()
            .status("string")
            .abortIncompleteMultipartUpload(ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.builder()
                .daysAfterInitiation(0)
                .build())
            .expiration(ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs.builder()
                .date("string")
                .days(0)
                .expiredObjectDeleteMarker(false)
                .build())
            .filter(ObjectStorageBucketLifecycleConfigurationRuleFilterArgs.builder()
                .and(ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs.builder()
                    .objectSizeGreaterThan(0)
                    .objectSizeLessThan(0)
                    .prefix("string")
                    .tags(Map.of("string", "string"))
                    .build())
                .objectSizeGreaterThan(0)
                .objectSizeLessThan(0)
                .prefix("string")
                .tag(ObjectStorageBucketLifecycleConfigurationRuleFilterTagArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .id("string")
            .noncurrentVersionExpiration(ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs.builder()
                .newerNoncurrentVersions(0)
                .noncurrentDays(0)
                .build())
            .noncurrentVersionTransitions(ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs.builder()
                .noncurrentDays(0)
                .storageClass("string")
                .newerNoncurrentVersions(0)
                .build())
            .prefix("string")
            .transitions(ObjectStorageBucketLifecycleConfigurationRuleTransitionArgs.builder()
                .storageClass("string")
                .date("string")
                .days(0)
                .build())
            .build())
        .build());
    
    object_storage_bucket_lifecycle_configuration_resource = coreweave.ObjectStorageBucketLifecycleConfiguration("objectStorageBucketLifecycleConfigurationResource",
        bucket="string",
        rules=[{
            "status": "string",
            "abort_incomplete_multipart_upload": {
                "days_after_initiation": 0,
            },
            "expiration": {
                "date": "string",
                "days": 0,
                "expired_object_delete_marker": False,
            },
            "filter": {
                "and_": {
                    "object_size_greater_than": 0,
                    "object_size_less_than": 0,
                    "prefix": "string",
                    "tags": {
                        "string": "string",
                    },
                },
                "object_size_greater_than": 0,
                "object_size_less_than": 0,
                "prefix": "string",
                "tag": {
                    "key": "string",
                    "value": "string",
                },
            },
            "id": "string",
            "noncurrent_version_expiration": {
                "newer_noncurrent_versions": 0,
                "noncurrent_days": 0,
            },
            "noncurrent_version_transitions": [{
                "noncurrent_days": 0,
                "storage_class": "string",
                "newer_noncurrent_versions": 0,
            }],
            "prefix": "string",
            "transitions": [{
                "storage_class": "string",
                "date": "string",
                "days": 0,
            }],
        }])
    
    const objectStorageBucketLifecycleConfigurationResource = new coreweave.ObjectStorageBucketLifecycleConfiguration("objectStorageBucketLifecycleConfigurationResource", {
        bucket: "string",
        rules: [{
            status: "string",
            abortIncompleteMultipartUpload: {
                daysAfterInitiation: 0,
            },
            expiration: {
                date: "string",
                days: 0,
                expiredObjectDeleteMarker: false,
            },
            filter: {
                and: {
                    objectSizeGreaterThan: 0,
                    objectSizeLessThan: 0,
                    prefix: "string",
                    tags: {
                        string: "string",
                    },
                },
                objectSizeGreaterThan: 0,
                objectSizeLessThan: 0,
                prefix: "string",
                tag: {
                    key: "string",
                    value: "string",
                },
            },
            id: "string",
            noncurrentVersionExpiration: {
                newerNoncurrentVersions: 0,
                noncurrentDays: 0,
            },
            noncurrentVersionTransitions: [{
                noncurrentDays: 0,
                storageClass: "string",
                newerNoncurrentVersions: 0,
            }],
            prefix: "string",
            transitions: [{
                storageClass: "string",
                date: "string",
                days: 0,
            }],
        }],
    });
    
    type: coreweave:ObjectStorageBucketLifecycleConfiguration
    properties:
        bucket: string
        rules:
            - abortIncompleteMultipartUpload:
                daysAfterInitiation: 0
              expiration:
                date: string
                days: 0
                expiredObjectDeleteMarker: false
              filter:
                and:
                    objectSizeGreaterThan: 0
                    objectSizeLessThan: 0
                    prefix: string
                    tags:
                        string: string
                objectSizeGreaterThan: 0
                objectSizeLessThan: 0
                prefix: string
                tag:
                    key: string
                    value: string
              id: string
              noncurrentVersionExpiration:
                newerNoncurrentVersions: 0
                noncurrentDays: 0
              noncurrentVersionTransitions:
                - newerNoncurrentVersions: 0
                  noncurrentDays: 0
                  storageClass: string
              prefix: string
              status: string
              transitions:
                - date: string
                  days: 0
                  storageClass: string
    

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

    Bucket string
    Name of the bucket to apply lifecycle configuration to
    Rules List<Pulumi.CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRule>
    One or more lifecycle rule blocks
    Bucket string
    Name of the bucket to apply lifecycle configuration to
    Rules []ObjectStorageBucketLifecycleConfigurationRuleArgs
    One or more lifecycle rule blocks
    bucket string
    Name of the bucket to apply lifecycle configuration to
    rules list(object)
    One or more lifecycle rule blocks
    bucket String
    Name of the bucket to apply lifecycle configuration to
    rules List<ObjectStorageBucketLifecycleConfigurationRule>
    One or more lifecycle rule blocks
    bucket string
    Name of the bucket to apply lifecycle configuration to
    rules ObjectStorageBucketLifecycleConfigurationRule[]
    One or more lifecycle rule blocks
    bucket str
    Name of the bucket to apply lifecycle configuration to
    rules Sequence[ObjectStorageBucketLifecycleConfigurationRuleArgs]
    One or more lifecycle rule blocks
    bucket String
    Name of the bucket to apply lifecycle configuration to
    rules List<Property Map>
    One or more lifecycle rule blocks

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ObjectStorageBucketLifecycleConfiguration 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 ObjectStorageBucketLifecycleConfiguration Resource

    Get an existing ObjectStorageBucketLifecycleConfiguration 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?: ObjectStorageBucketLifecycleConfigurationState, opts?: CustomResourceOptions): ObjectStorageBucketLifecycleConfiguration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bucket: Optional[str] = None,
            rules: Optional[Sequence[ObjectStorageBucketLifecycleConfigurationRuleArgs]] = None) -> ObjectStorageBucketLifecycleConfiguration
    func GetObjectStorageBucketLifecycleConfiguration(ctx *Context, name string, id IDInput, state *ObjectStorageBucketLifecycleConfigurationState, opts ...ResourceOption) (*ObjectStorageBucketLifecycleConfiguration, error)
    public static ObjectStorageBucketLifecycleConfiguration Get(string name, Input<string> id, ObjectStorageBucketLifecycleConfigurationState? state, CustomResourceOptions? opts = null)
    public static ObjectStorageBucketLifecycleConfiguration get(String name, Output<String> id, ObjectStorageBucketLifecycleConfigurationState state, CustomResourceOptions options)
    resources:  _:    type: coreweave:ObjectStorageBucketLifecycleConfiguration    get:      id: ${id}
    import {
      to = coreweave_objectstoragebucketlifecycleconfiguration.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
    Name of the bucket to apply lifecycle configuration to
    Rules List<Pulumi.CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRule>
    One or more lifecycle rule blocks
    Bucket string
    Name of the bucket to apply lifecycle configuration to
    Rules []ObjectStorageBucketLifecycleConfigurationRuleArgs
    One or more lifecycle rule blocks
    bucket string
    Name of the bucket to apply lifecycle configuration to
    rules list(object)
    One or more lifecycle rule blocks
    bucket String
    Name of the bucket to apply lifecycle configuration to
    rules List<ObjectStorageBucketLifecycleConfigurationRule>
    One or more lifecycle rule blocks
    bucket string
    Name of the bucket to apply lifecycle configuration to
    rules ObjectStorageBucketLifecycleConfigurationRule[]
    One or more lifecycle rule blocks
    bucket str
    Name of the bucket to apply lifecycle configuration to
    rules Sequence[ObjectStorageBucketLifecycleConfigurationRuleArgs]
    One or more lifecycle rule blocks
    bucket String
    Name of the bucket to apply lifecycle configuration to
    rules List<Property Map>
    One or more lifecycle rule blocks

    Supporting Types

    ObjectStorageBucketLifecycleConfigurationRule, ObjectStorageBucketLifecycleConfigurationRuleArgs

    status string
    Rule status: Enabled or Disabled
    abort_incomplete_multipart_upload object
    expiration object
    filter object
    id string
    Unique identifier for the rule
    noncurrent_version_expiration object
    noncurrent_version_transitions list(object)
    prefix string
    Object key prefix to which the rule applies
    transitions list(object)

    ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload, ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs

    DaysAfterInitiation int
    Days after initiation to abort multipart uploads
    DaysAfterInitiation int
    Days after initiation to abort multipart uploads
    days_after_initiation number
    Days after initiation to abort multipart uploads
    daysAfterInitiation Integer
    Days after initiation to abort multipart uploads
    daysAfterInitiation number
    Days after initiation to abort multipart uploads
    days_after_initiation int
    Days after initiation to abort multipart uploads
    daysAfterInitiation Number
    Days after initiation to abort multipart uploads

    ObjectStorageBucketLifecycleConfigurationRuleExpiration, ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs

    Date string
    ISO8601 date when objects expire
    Days int
    Number of days after object creation for expiration
    ExpiredObjectDeleteMarker bool
    Whether to remove expired delete markers
    Date string
    ISO8601 date when objects expire
    Days int
    Number of days after object creation for expiration
    ExpiredObjectDeleteMarker bool
    Whether to remove expired delete markers
    date string
    ISO8601 date when objects expire
    days number
    Number of days after object creation for expiration
    expired_object_delete_marker bool
    Whether to remove expired delete markers
    date String
    ISO8601 date when objects expire
    days Integer
    Number of days after object creation for expiration
    expiredObjectDeleteMarker Boolean
    Whether to remove expired delete markers
    date string
    ISO8601 date when objects expire
    days number
    Number of days after object creation for expiration
    expiredObjectDeleteMarker boolean
    Whether to remove expired delete markers
    date str
    ISO8601 date when objects expire
    days int
    Number of days after object creation for expiration
    expired_object_delete_marker bool
    Whether to remove expired delete markers
    date String
    ISO8601 date when objects expire
    days Number
    Number of days after object creation for expiration
    expiredObjectDeleteMarker Boolean
    Whether to remove expired delete markers

    ObjectStorageBucketLifecycleConfigurationRuleFilter, ObjectStorageBucketLifecycleConfigurationRuleFilterArgs

    And Pulumi.CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAnd
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    ObjectSizeGreaterThan int
    Minimum object size (in bytes) to which the rule applies.
    ObjectSizeLessThan int
    Maximum object size (in bytes) to which the rule applies.
    Prefix string
    Prefix filter
    Tag Pulumi.CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterTag
    And ObjectStorageBucketLifecycleConfigurationRuleFilterAnd
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    ObjectSizeGreaterThan int
    Minimum object size (in bytes) to which the rule applies.
    ObjectSizeLessThan int
    Maximum object size (in bytes) to which the rule applies.
    Prefix string
    Prefix filter
    Tag ObjectStorageBucketLifecycleConfigurationRuleFilterTag
    and object
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    object_size_greater_than number
    Minimum object size (in bytes) to which the rule applies.
    object_size_less_than number
    Maximum object size (in bytes) to which the rule applies.
    prefix string
    Prefix filter
    tag object
    and ObjectStorageBucketLifecycleConfigurationRuleFilterAnd
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    objectSizeGreaterThan Integer
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan Integer
    Maximum object size (in bytes) to which the rule applies.
    prefix String
    Prefix filter
    tag ObjectStorageBucketLifecycleConfigurationRuleFilterTag
    and ObjectStorageBucketLifecycleConfigurationRuleFilterAnd
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    objectSizeGreaterThan number
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan number
    Maximum object size (in bytes) to which the rule applies.
    prefix string
    Prefix filter
    tag ObjectStorageBucketLifecycleConfigurationRuleFilterTag
    and_ ObjectStorageBucketLifecycleConfigurationRuleFilterAnd
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    object_size_greater_than int
    Minimum object size (in bytes) to which the rule applies.
    object_size_less_than int
    Maximum object size (in bytes) to which the rule applies.
    prefix str
    Prefix filter
    tag ObjectStorageBucketLifecycleConfigurationRuleFilterTag
    and Property Map
    Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.
    objectSizeGreaterThan Number
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan Number
    Maximum object size (in bytes) to which the rule applies.
    prefix String
    Prefix filter
    tag Property Map

    ObjectStorageBucketLifecycleConfigurationRuleFilterAnd, ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs

    ObjectSizeGreaterThan int
    Minimum object size (in bytes) to which the rule applies.
    ObjectSizeLessThan int
    Maximum object size (in bytes) to which the rule applies.
    Prefix string
    Prefix identifying one or more objects to which the rule applies.
    Tags Dictionary<string, string>
    Map for specifying tag keys and values.
    ObjectSizeGreaterThan int
    Minimum object size (in bytes) to which the rule applies.
    ObjectSizeLessThan int
    Maximum object size (in bytes) to which the rule applies.
    Prefix string
    Prefix identifying one or more objects to which the rule applies.
    Tags map[string]string
    Map for specifying tag keys and values.
    object_size_greater_than number
    Minimum object size (in bytes) to which the rule applies.
    object_size_less_than number
    Maximum object size (in bytes) to which the rule applies.
    prefix string
    Prefix identifying one or more objects to which the rule applies.
    tags map(string)
    Map for specifying tag keys and values.
    objectSizeGreaterThan Integer
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan Integer
    Maximum object size (in bytes) to which the rule applies.
    prefix String
    Prefix identifying one or more objects to which the rule applies.
    tags Map<String,String>
    Map for specifying tag keys and values.
    objectSizeGreaterThan number
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan number
    Maximum object size (in bytes) to which the rule applies.
    prefix string
    Prefix identifying one or more objects to which the rule applies.
    tags {[key: string]: string}
    Map for specifying tag keys and values.
    object_size_greater_than int
    Minimum object size (in bytes) to which the rule applies.
    object_size_less_than int
    Maximum object size (in bytes) to which the rule applies.
    prefix str
    Prefix identifying one or more objects to which the rule applies.
    tags Mapping[str, str]
    Map for specifying tag keys and values.
    objectSizeGreaterThan Number
    Minimum object size (in bytes) to which the rule applies.
    objectSizeLessThan Number
    Maximum object size (in bytes) to which the rule applies.
    prefix String
    Prefix identifying one or more objects to which the rule applies.
    tags Map<String>
    Map for specifying tag keys and values.

    ObjectStorageBucketLifecycleConfigurationRuleFilterTag, ObjectStorageBucketLifecycleConfigurationRuleFilterTagArgs

    Key string
    Tag key filter
    Value string
    Tag value filter
    Key string
    Tag key filter
    Value string
    Tag value filter
    key string
    Tag key filter
    value string
    Tag value filter
    key String
    Tag key filter
    value String
    Tag value filter
    key string
    Tag key filter
    value string
    Tag value filter
    key str
    Tag key filter
    value str
    Tag value filter
    key String
    Tag key filter
    value String
    Tag value filter

    ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpiration, ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs

    NewerNoncurrentVersions int
    Number of noncurrent versions to retain
    NoncurrentDays int
    Days after becoming noncurrent before deletion
    NewerNoncurrentVersions int
    Number of noncurrent versions to retain
    NoncurrentDays int
    Days after becoming noncurrent before deletion
    newer_noncurrent_versions number
    Number of noncurrent versions to retain
    noncurrent_days number
    Days after becoming noncurrent before deletion
    newerNoncurrentVersions Integer
    Number of noncurrent versions to retain
    noncurrentDays Integer
    Days after becoming noncurrent before deletion
    newerNoncurrentVersions number
    Number of noncurrent versions to retain
    noncurrentDays number
    Days after becoming noncurrent before deletion
    newer_noncurrent_versions int
    Number of noncurrent versions to retain
    noncurrent_days int
    Days after becoming noncurrent before deletion
    newerNoncurrentVersions Number
    Number of noncurrent versions to retain
    noncurrentDays Number
    Days after becoming noncurrent before deletion

    ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransition, ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransitionArgs

    NoncurrentDays int
    Number of days after object becomes noncurrent before the transition may occur
    StorageClass string
    Storage class to transition noncurrent objects to
    NewerNoncurrentVersions int
    Number of noncurrent versions to retain
    NoncurrentDays int
    Number of days after object becomes noncurrent before the transition may occur
    StorageClass string
    Storage class to transition noncurrent objects to
    NewerNoncurrentVersions int
    Number of noncurrent versions to retain
    noncurrent_days number
    Number of days after object becomes noncurrent before the transition may occur
    storage_class string
    Storage class to transition noncurrent objects to
    newer_noncurrent_versions number
    Number of noncurrent versions to retain
    noncurrentDays Integer
    Number of days after object becomes noncurrent before the transition may occur
    storageClass String
    Storage class to transition noncurrent objects to
    newerNoncurrentVersions Integer
    Number of noncurrent versions to retain
    noncurrentDays number
    Number of days after object becomes noncurrent before the transition may occur
    storageClass string
    Storage class to transition noncurrent objects to
    newerNoncurrentVersions number
    Number of noncurrent versions to retain
    noncurrent_days int
    Number of days after object becomes noncurrent before the transition may occur
    storage_class str
    Storage class to transition noncurrent objects to
    newer_noncurrent_versions int
    Number of noncurrent versions to retain
    noncurrentDays Number
    Number of days after object becomes noncurrent before the transition may occur
    storageClass String
    Storage class to transition noncurrent objects to
    newerNoncurrentVersions Number
    Number of noncurrent versions to retain

    ObjectStorageBucketLifecycleConfigurationRuleTransition, ObjectStorageBucketLifecycleConfigurationRuleTransitionArgs

    StorageClass string
    Storage class to transition objects to
    Date string
    ISO8601 date when objects transition
    Days int
    Number of days after object creation for transition
    StorageClass string
    Storage class to transition objects to
    Date string
    ISO8601 date when objects transition
    Days int
    Number of days after object creation for transition
    storage_class string
    Storage class to transition objects to
    date string
    ISO8601 date when objects transition
    days number
    Number of days after object creation for transition
    storageClass String
    Storage class to transition objects to
    date String
    ISO8601 date when objects transition
    days Integer
    Number of days after object creation for transition
    storageClass string
    Storage class to transition objects to
    date string
    ISO8601 date when objects transition
    days number
    Number of days after object creation for transition
    storage_class str
    Storage class to transition objects to
    date str
    ISO8601 date when objects transition
    days int
    Number of days after object creation for transition
    storageClass String
    Storage class to transition objects to
    date String
    ISO8601 date when objects transition
    days Number
    Number of days after object creation for transition

    Import

    $ pulumi import coreweave:index/objectStorageBucketLifecycleConfiguration:ObjectStorageBucketLifecycleConfiguration 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.