Package com.pulumi.aws.cloudtrail
Class CloudtrailFunctions
- java.lang.Object
-
- com.pulumi.aws.cloudtrail.CloudtrailFunctions
-
public final class CloudtrailFunctions extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description CloudtrailFunctions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.pulumi.core.Output<GetServiceAccountResult>getServiceAccount()Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static com.pulumi.core.Output<GetServiceAccountResult>getServiceAccount(GetServiceAccountArgs args)Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static com.pulumi.core.Output<GetServiceAccountResult>getServiceAccount(GetServiceAccountArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static com.pulumi.core.Output<GetServiceAccountResult>getServiceAccount(GetServiceAccountArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static java.util.concurrent.CompletableFuture<GetServiceAccountResult>getServiceAccountPlain()Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static java.util.concurrent.CompletableFuture<GetServiceAccountResult>getServiceAccountPlain(GetServiceAccountPlainArgs args)Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.static java.util.concurrent.CompletableFuture<GetServiceAccountResult>getServiceAccountPlain(GetServiceAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3.
-
-
-
Method Detail
-
getServiceAccount
public static com.pulumi.core.Output<GetServiceAccountResult> getServiceAccount()
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccountPlain
public static java.util.concurrent.CompletableFuture<GetServiceAccountResult> getServiceAccountPlain()
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccount
public static com.pulumi.core.Output<GetServiceAccountResult> getServiceAccount(GetServiceAccountArgs args)
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccountPlain
public static java.util.concurrent.CompletableFuture<GetServiceAccountResult> getServiceAccountPlain(GetServiceAccountPlainArgs args)
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccount
public static com.pulumi.core.Output<GetServiceAccountResult> getServiceAccount(GetServiceAccountArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccount
public static com.pulumi.core.Output<GetServiceAccountResult> getServiceAccount(GetServiceAccountArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
getServiceAccountPlain
public static java.util.concurrent.CompletableFuture<GetServiceAccountResult> getServiceAccountPlain(GetServiceAccountPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) in a given region for the purpose of allowing CloudTrail to store trail data in S3. > **Warning:** This data source is deprecated. The AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudtrail.CloudtrailFunctions; import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; 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 main = CloudtrailFunctions.getServiceAccount(GetServiceAccountArgs.builder() .build()); var bucket = new Bucket("bucket", BucketArgs.builder() .bucket("tf-cloudtrail-logging-test-bucket") .forceDestroy(true) .build()); final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Put bucket policy needed for trails") .effect("Allow") .actions("s3:PutObject") .resources(bucket.arn().applyValue(_arn -> String.format("%s/*", _arn))) .build(), GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(main.arn()) .build()) .sid("Get bucket policy needed for trails") .effect("Allow") .actions("s3:GetBucketAcl") .resources(bucket.arn()) .build()) .build()); var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder() .bucket(bucket.id()) .policy(allowCloudtrailLogging.applyValue(_allowCloudtrailLogging -> _allowCloudtrailLogging.json())) .build()); } }
-
-