Class BucketLoggingV2


  • public class BucketLoggingV2
    extends com.pulumi.resources.CustomResource
    Provides an S3 bucket (server access) logging resource. For more information, see [Logging requests using server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) in the AWS S3 User Guide. > **Note:** Amazon S3 supports server access logging, AWS CloudTrail, or a combination of both. Refer to the [Logging options for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html) to decide which method meets your requirements. > This resource cannot be used with S3 directory buckets. ## Example Usage <!--Start PulumiCodeChooser --> ```java 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.BucketAclV2; import com.pulumi.aws.s3.BucketAclV2Args; import com.pulumi.aws.s3.BucketLoggingV2; import com.pulumi.aws.s3.BucketLoggingV2Args; 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("my-tf-example-bucket") .build()); var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() .bucket(example.id()) .acl("private") .build()); var logBucket = new BucketV2("logBucket", BucketV2Args.builder() .bucket("my-tf-log-bucket") .build()); var logBucketAcl = new BucketAclV2("logBucketAcl", BucketAclV2Args.builder() .bucket(logBucket.id()) .acl("log-delivery-write") .build()); var exampleBucketLoggingV2 = new BucketLoggingV2("exampleBucketLoggingV2", BucketLoggingV2Args.builder() .bucket(example.id()) .targetBucket(logBucket.id()) .targetPrefix("log/") .build()); } } ``` <!--End PulumiCodeChooser --> ## Import If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): __Using `pulumi import` to import__ S3 bucket logging using the `bucket` or using the `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example: If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: ```sh $ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name ``` If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): ```sh $ pulumi import aws:s3/bucketLoggingV2:BucketLoggingV2 example bucket-name,123456789012 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • 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<java.lang.String>> expectedBucketOwner()  
      static BucketLoggingV2 get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, BucketLoggingV2State 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> targetBucket()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<BucketLoggingV2TargetGrant>>> targetGrants()  
      com.pulumi.core.Output<java.util.Optional<BucketLoggingV2TargetObjectKeyFormat>> targetObjectKeyFormat()  
      com.pulumi.core.Output<java.lang.String> targetPrefix()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BucketLoggingV2

        public BucketLoggingV2​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • BucketLoggingV2

        public BucketLoggingV2​(java.lang.String name,
                               BucketLoggingV2Args args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • BucketLoggingV2

        public BucketLoggingV2​(java.lang.String name,
                               BucketLoggingV2Args 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.
      • expectedBucketOwner

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> expectedBucketOwner()
        Returns:
        Account ID of the expected bucket owner.
      • targetBucket

        public com.pulumi.core.Output<java.lang.String> targetBucket()
        Returns:
        Name of the bucket where you want Amazon S3 to store server access logs.
      • targetGrants

        public com.pulumi.core.Output<java.util.Optional<java.util.List<BucketLoggingV2TargetGrant>>> targetGrants()
        Returns:
        Set of configuration blocks with information for granting permissions. See below.
      • targetObjectKeyFormat

        public com.pulumi.core.Output<java.util.Optional<BucketLoggingV2TargetObjectKeyFormat>> targetObjectKeyFormat()
        Returns:
        Amazon S3 key format for log objects. See below.
      • targetPrefix

        public com.pulumi.core.Output<java.lang.String> targetPrefix()
        Returns:
        Prefix for all log object keys.
      • get

        public static BucketLoggingV2 get​(java.lang.String name,
                                          com.pulumi.core.Output<java.lang.String> id,
                                          @Nullable
                                          BucketLoggingV2State 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.