Bucket Intelligent Tiering Configuration Args
data class BucketIntelligentTieringConfigurationArgs(val bucket: Output<String>? = null, val filter: Output<BucketIntelligentTieringConfigurationFilterArgs>? = null, val name: Output<String>? = null, val status: Output<String>? = null, val tierings: Output<List<BucketIntelligentTieringConfigurationTieringArgs>>? = null) : ConvertibleToJava<BucketIntelligentTieringConfigurationArgs>
Provides an S3 Intelligent-Tiering configuration resource.
This resource cannot be used with S3 directory buckets.
Example Usage
Add intelligent tiering configuration for entire S3 bucket
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.s3.BucketV2("example", {bucket: "example"});
const example_entire_bucket = new aws.s3.BucketIntelligentTieringConfiguration("example-entire-bucket", {
bucket: example.id,
name: "EntireBucket",
tierings: [
{
accessTier: "DEEP_ARCHIVE_ACCESS",
days: 180,
},
{
accessTier: "ARCHIVE_ACCESS",
days: 125,
},
],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.s3.BucketV2("example", bucket="example")
example_entire_bucket = aws.s3.BucketIntelligentTieringConfiguration("example-entire-bucket",
bucket=example.id,
name="EntireBucket",
tierings=[
{
"access_tier": "DEEP_ARCHIVE_ACCESS",
"days": 180,
},
{
"access_tier": "ARCHIVE_ACCESS",
"days": 125,
},
])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.S3.BucketV2("example", new()
{
Bucket = "example",
});
var example_entire_bucket = new Aws.S3.BucketIntelligentTieringConfiguration("example-entire-bucket", new()
{
Bucket = example.Id,
Name = "EntireBucket",
Tierings = new[]
{
new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs
{
AccessTier = "DEEP_ARCHIVE_ACCESS",
Days = 180,
},
new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs
{
AccessTier = "ARCHIVE_ACCESS",
Days = 125,
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
Bucket: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, "example-entire-bucket", &s3.BucketIntelligentTieringConfigurationArgs{
Bucket: example.ID(),
Name: pulumi.String("EntireBucket"),
Tierings: s3.BucketIntelligentTieringConfigurationTieringArray{
&s3.BucketIntelligentTieringConfigurationTieringArgs{
AccessTier: pulumi.String("DEEP_ARCHIVE_ACCESS"),
Days: pulumi.Int(180),
},
&s3.BucketIntelligentTieringConfigurationTieringArgs{
AccessTier: pulumi.String("ARCHIVE_ACCESS"),
Days: pulumi.Int(125),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;
import com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;
import com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;
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 example = new BucketV2("example", BucketV2Args.builder()
.bucket("example")
.build());
var example_entire_bucket = new BucketIntelligentTieringConfiguration("example-entire-bucket", BucketIntelligentTieringConfigurationArgs.builder()
.bucket(example.id())
.name("EntireBucket")
.tierings(
BucketIntelligentTieringConfigurationTieringArgs.builder()
.accessTier("DEEP_ARCHIVE_ACCESS")
.days(180)
.build(),
BucketIntelligentTieringConfigurationTieringArgs.builder()
.accessTier("ARCHIVE_ACCESS")
.days(125)
.build())
.build());
}
}
Content copied to clipboard
resources:
example-entire-bucket:
type: aws:s3:BucketIntelligentTieringConfiguration
properties:
bucket: ${example.id}
name: EntireBucket
tierings:
- accessTier: DEEP_ARCHIVE_ACCESS
days: 180
- accessTier: ARCHIVE_ACCESS
days: 125
example:
type: aws:s3:BucketV2
properties:
bucket: example
Content copied to clipboard
Add intelligent tiering configuration with S3 object filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.s3.BucketV2("example", {bucket: "example"});
const example_filtered = new aws.s3.BucketIntelligentTieringConfiguration("example-filtered", {
bucket: example.id,
name: "ImportantBlueDocuments",
status: "Disabled",
filter: {
prefix: "documents/",
tags: {
priority: "high",
"class": "blue",
},
},
tierings: [{
accessTier: "ARCHIVE_ACCESS",
days: 125,
}],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.s3.BucketV2("example", bucket="example")
example_filtered = aws.s3.BucketIntelligentTieringConfiguration("example-filtered",
bucket=example.id,
name="ImportantBlueDocuments",
status="Disabled",
filter={
"prefix": "documents/",
"tags": {
"priority": "high",
"class": "blue",
},
},
tierings=[{
"access_tier": "ARCHIVE_ACCESS",
"days": 125,
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.S3.BucketV2("example", new()
{
Bucket = "example",
});
var example_filtered = new Aws.S3.BucketIntelligentTieringConfiguration("example-filtered", new()
{
Bucket = example.Id,
Name = "ImportantBlueDocuments",
Status = "Disabled",
Filter = new Aws.S3.Inputs.BucketIntelligentTieringConfigurationFilterArgs
{
Prefix = "documents/",
Tags =
{
{ "priority", "high" },
{ "class", "blue" },
},
},
Tierings = new[]
{
new Aws.S3.Inputs.BucketIntelligentTieringConfigurationTieringArgs
{
AccessTier = "ARCHIVE_ACCESS",
Days = 125,
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
Bucket: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = s3.NewBucketIntelligentTieringConfiguration(ctx, "example-filtered", &s3.BucketIntelligentTieringConfigurationArgs{
Bucket: example.ID(),
Name: pulumi.String("ImportantBlueDocuments"),
Status: pulumi.String("Disabled"),
Filter: &s3.BucketIntelligentTieringConfigurationFilterArgs{
Prefix: pulumi.String("documents/"),
Tags: pulumi.StringMap{
"priority": pulumi.String("high"),
"class": pulumi.String("blue"),
},
},
Tierings: s3.BucketIntelligentTieringConfigurationTieringArray{
&s3.BucketIntelligentTieringConfigurationTieringArgs{
AccessTier: pulumi.String("ARCHIVE_ACCESS"),
Days: pulumi.Int(125),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3.BucketIntelligentTieringConfiguration;
import com.pulumi.aws.s3.BucketIntelligentTieringConfigurationArgs;
import com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationFilterArgs;
import com.pulumi.aws.s3.inputs.BucketIntelligentTieringConfigurationTieringArgs;
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 example = new BucketV2("example", BucketV2Args.builder()
.bucket("example")
.build());
var example_filtered = new BucketIntelligentTieringConfiguration("example-filtered", BucketIntelligentTieringConfigurationArgs.builder()
.bucket(example.id())
.name("ImportantBlueDocuments")
.status("Disabled")
.filter(BucketIntelligentTieringConfigurationFilterArgs.builder()
.prefix("documents/")
.tags(Map.ofEntries(
Map.entry("priority", "high"),
Map.entry("class", "blue")
))
.build())
.tierings(BucketIntelligentTieringConfigurationTieringArgs.builder()
.accessTier("ARCHIVE_ACCESS")
.days(125)
.build())
.build());
}
}
Content copied to clipboard
resources:
example-filtered:
type: aws:s3:BucketIntelligentTieringConfiguration
properties:
bucket: ${example.id}
name: ImportantBlueDocuments
status: Disabled
filter:
prefix: documents/
tags:
priority: high
class: blue
tierings:
- accessTier: ARCHIVE_ACCESS
days: 125
example:
type: aws:s3:BucketV2
properties:
bucket: example
Content copied to clipboard
Import
Using pulumi import
, import S3 bucket intelligent tiering configurations using bucket:name
. For example:
$ pulumi import aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration my-bucket-entire-bucket my-bucket:EntireBucket
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(bucket: Output<String>? = null, filter: Output<BucketIntelligentTieringConfigurationFilterArgs>? = null, name: Output<String>? = null, status: Output<String>? = null, tierings: Output<List<BucketIntelligentTieringConfigurationTieringArgs>>? = null)