Package com.pulumi.aws.s3
Class BucketMetric
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.s3.BucketMetric
-
public class BucketMetric extends com.pulumi.resources.CustomResourceProvides a S3 bucket [metrics configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html) resource. ## Example Usage ### Add metrics configuration for entire S3 bucket
### Add metrics configuration with S3 object filterpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.s3.BucketMetric; import com.pulumi.aws.s3.BucketMetricArgs; import java.util.ArrayList; import java.util.Arrays; 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 Bucket("example", BucketArgs.builder() .bucket("example") .build()); var example_entire_bucket = new BucketMetric("example-entire-bucket", BucketMetricArgs.builder() .bucket(example.id()) .name("EntireBucket") .build()); } }
### Add metrics configuration with S3 object filter for S3 Access Pointpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.s3.BucketMetric; import com.pulumi.aws.s3.BucketMetricArgs; import com.pulumi.aws.s3.inputs.BucketMetricFilterArgs; import java.util.ArrayList; import java.util.Arrays; 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 Bucket("example", BucketArgs.builder() .bucket("example") .build()); var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() .filter(BucketMetricFilterArgs.builder() .prefix("documents/") .tags(Map.ofEntries( Map.entry("priority", "high"), Map.entry("class", "blue") )) .build()) .bucket(example.id()) .name("ImportantBlueDocuments") .build()); } }
### Add metrics configuration for S3 directory bucketpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.s3.AccessPoint; import com.pulumi.aws.s3.AccessPointArgs; import com.pulumi.aws.s3.BucketMetric; import com.pulumi.aws.s3.BucketMetricArgs; import com.pulumi.aws.s3.inputs.BucketMetricFilterArgs; import java.util.ArrayList; import java.util.Arrays; 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 Bucket("example", BucketArgs.builder() .bucket("example") .build()); var example_access_point = new AccessPoint("example-access-point", AccessPointArgs.builder() .bucket(example.id()) .name("example-access-point") .build()); var example_filtered = new BucketMetric("example-filtered", BucketMetricArgs.builder() .filter(BucketMetricFilterArgs.builder() .accessPoint(example_access_point.arn()) .tags(Map.ofEntries( Map.entry("priority", "high"), Map.entry("class", "blue") )) .build()) .bucket(example.id()) .name("ImportantBlueDocuments") .build()); } }
## Import Using `pulumi import`, import S3 bucket metric configurations using `bucket:metric`. For example: ```sh $ pulumi import aws:s3/bucketMetric:BucketMetric my-bucket-entire-bucket my-bucket:EntireBucket ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetAvailabilityZonesArgs; import com.pulumi.aws.s3.DirectoryBucket; import com.pulumi.aws.s3.DirectoryBucketArgs; import com.pulumi.aws.s3.inputs.DirectoryBucketLocationArgs; import com.pulumi.aws.s3.AccessPoint; import com.pulumi.aws.s3.AccessPointArgs; import com.pulumi.aws.s3.BucketMetric; import com.pulumi.aws.s3.BucketMetricArgs; import com.pulumi.aws.s3.inputs.BucketMetricFilterArgs; import java.util.ArrayList; import java.util.Arrays; 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 available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder() .state("available") .build()); var example = new DirectoryBucket("example", DirectoryBucketArgs.builder() .location(DirectoryBucketLocationArgs.builder() .name(available.zoneIds()[0]) .build()) .bucket("example--zoneId--x-s3") .build()); var example_access_point = new AccessPoint("example-access-point", AccessPointArgs.builder() .bucket(example.id()) .name("example--zoneId--xa-s3") .build()); var example_bucket_metric = new BucketMetric("example-bucket-metric", BucketMetricArgs.builder() .filter(BucketMetricFilterArgs.builder() .accessPoint(example_access_point.arn()) .prefix("documents/") .build()) .bucket(example.id()) .name("ExampleBucketMetricForDirectoryBuckets") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description BucketMetric(java.lang.String name)BucketMetric(java.lang.String name, BucketMetricArgs args)BucketMetric(java.lang.String name, BucketMetricArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>bucket()com.pulumi.core.Output<java.util.Optional<BucketMetricFilter>>filter()static BucketMetricget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, BucketMetricState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>region()
-
-
-
Constructor Detail
-
BucketMetric
public BucketMetric(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
BucketMetric
public BucketMetric(java.lang.String name, BucketMetricArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
BucketMetric
public BucketMetric(java.lang.String name, BucketMetricArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
bucket
public com.pulumi.core.Output<java.lang.String> bucket()
- Returns:
- Name of the bucket to put metric configuration.
-
filter
public com.pulumi.core.Output<java.util.Optional<BucketMetricFilter>> filter()
- Returns:
- [Object filtering](http://docs.aws.amazon.com/AmazonS3/latest/dev/metrics-configurations.html#metrics-configurations-filter) that accepts a prefix, tags, or a logical AND of prefix and tags. See below.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Unique identifier of the metrics configuration for the bucket. Must be less than or equal to 64 characters in length.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
get
public static BucketMetric get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable BucketMetricState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-