AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

This operation is not supported by directory buckets.

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.

To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the bucket owner has this permission and the bucket owner can grant this permission to others.

There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems.

For more information about the object expiration, see Elements to Describe Lifecycle Actions.

Related actions include:

Note:

For .NET Core this operation is only available in asynchronous form. Please refer to DeleteLifecycleConfigurationAsync.

Namespace: Amazon.S3
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z

Syntax

C#
public virtual DeleteLifecycleConfigurationResponse DeleteLifecycleConfiguration(
         DeleteLifecycleConfigurationRequest request
)

Parameters

request
Type: Amazon.S3.Model.DeleteLifecycleConfigurationRequest

Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method.

Return Value


The response from the DeleteLifecycleConfiguration service method, as returned by S3.

Examples

This example shows how to Get, Put and Delete bucket Lifecycle Configurations.
A Lifecycle Configuration allows an owner to configure when specific objects should be deleted. Objects to be deleted are specified with a prefix.
The configuration being used has rules that delete objects with a specific prefix and objects in a specific subdirectory.

LifecycleConfiguration samples


// Create a client
AmazonS3Client client = new AmazonS3Client();


// Put sample lifecycle configuration (overwrite an existing configuration)
LifecycleConfiguration newConfiguration = new LifecycleConfiguration
{
    Rules = new List<LifecycleRule>
    {
        // Rule to delete keys with prefix "Test-" after 5 days
        new LifecycleRule
        {
            Prefix = "Test-",
            Expiration = new LifecycleRuleExpiration { Days = 5 }
        },
        // Rule to delete keys in subdirectory "Logs" after 2 days
        new LifecycleRule
        {
            Prefix = "Logs/",
            Expiration = new LifecycleRuleExpiration  { Days = 2 },
            Id = "log-file-removal"
        }
    }
};
PutLifecycleConfigurationRequest putRequest = new PutLifecycleConfigurationRequest
{
    BucketName = "SampleBucket",
    Configuration = newConfiguration
};
client.PutLifecycleConfiguration(putRequest);


// Retrieve current configuration
GetLifecycleConfigurationRequest getRequest = new GetLifecycleConfigurationRequest
{
    BucketName = "SampleBucket"
};
LifecycleConfiguration configuration = client.GetLifecycleConfiguration(getRequest).Configuration;

Console.WriteLine("Configuration contains {0} rules", configuration.Rules.Count);
foreach (LifecycleRule rule in configuration.Rules)
{
    Console.WriteLine("Rule");
    Console.WriteLine(" Prefix = " + rule.Prefix);
    Console.WriteLine(" Expiration (days) = " + rule.Expiration.Days);
    Console.WriteLine(" Id = " + rule.Id);
    Console.WriteLine(" Status = " + rule.Status);
}


// Put a new configuration and overwrite the existing configuration
configuration.Rules.RemoveAt(0);    // remove first rule
client.PutLifecycleConfiguration(putRequest);

// Delete current configuration
DeleteLifecycleConfigurationRequest deleteRequest = new DeleteLifecycleConfigurationRequest
{
    BucketName = "SampleBucket"
};
client.DeleteLifecycleConfiguration(deleteRequest);


// Retrieve current configuration and verify that it is null
configuration = client.GetLifecycleConfiguration(getRequest).Configuration;
Debug.Assert(configuration == null);

                

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

See Also