S3
Terraform module to create AWS S3 resources
Inputs
40 / 72
acceleration_statusoptionalstring(Optional) Sets the accelerate configuration of an existing bucket. Can be Enabled or Suspended.
nullaccess_log_delivery_policy_source_accountsoptionallist(string)(Optional) List of AWS Account IDs should be allowed to deliver access logs to this bucket.
[]access_log_delivery_policy_source_bucketsoptionallist(string)(Optional) List of S3 bucket ARNs which should be allowed to deliver access logs to this bucket.
[]access_log_delivery_policy_source_organizationsoptionallist(string)(Optional) List of AWS Organization IDs should be allowed to deliver access logs to this bucket.
[]acloptionalstring(Optional) The canned ACL to apply. Conflicts with `grant`
nullallowed_kms_key_arnoptionalstringThe ARN of KMS key which should be allowed in PutObject
nullanalytics_configurationoptionalanyMap containing bucket analytics configuration.
{}analytics_self_source_destinationoptionalboolWhether or not the analytics source bucket is also the destination bucket.
falseanalytics_source_account_idoptionalstringThe analytics source account id.
nullanalytics_source_bucket_arnoptionalstringThe analytics source bucket ARN.
nullattach_access_log_delivery_policyoptionalboolControls if S3 bucket should have S3 access log delivery policy attached
falseattach_analytics_destination_policyoptionalboolControls if S3 bucket should have bucket analytics destination policy attached.
falseattach_cloudtrail_log_delivery_policyoptionalboolControls if S3 bucket should have CloudTrail log delivery policy attached
falseattach_deny_incorrect_encryption_headersoptionalboolControls if S3 bucket should deny incorrect encryption headers policy attached.
falseattach_deny_incorrect_kms_key_sseoptionalboolControls if S3 bucket policy should deny usage of incorrect KMS key SSE.
falseattach_deny_insecure_transport_policyoptionalboolControls if S3 bucket should have deny non-SSL transport policy attached
falseattach_deny_ssec_encrypted_object_uploadsoptionalboolControls if S3 bucket should deny SSEC encrypted object uploads.
falseattach_deny_unencrypted_object_uploadsoptionalboolControls if S3 bucket should deny unencrypted object uploads policy attached.
falseattach_elb_log_delivery_policyoptionalboolControls if S3 bucket should have ELB log delivery policy attached
falseattach_inventory_destination_policyoptionalboolControls if S3 bucket should have bucket inventory destination policy attached.
falseattach_lb_log_delivery_policyoptionalboolControls if S3 bucket should have ALB/NLB log delivery policy attached
falseattach_policyoptionalboolControls if S3 bucket should have bucket policy attached (set to `true` to use value of `policy` as bucket policy)
falseattach_public_policyoptionalboolControls if a user defined public bucket policy will be attached (set to `false` to allow upstream to apply defaults to the bucket)
trueattach_require_latest_tls_policyoptionalboolControls if S3 bucket should require the latest version of TLS
falseattach_waf_log_delivery_policyoptionalboolControls if S3 bucket should have WAF log delivery policy attached
falseavailability_zone_idoptionalstringAvailability Zone ID or Local Zone ID
nullblock_public_aclsoptionalboolWhether Amazon S3 should block public ACLs for this bucket.
trueblock_public_policyoptionalboolWhether Amazon S3 should block public bucket policies for this bucket.
truebucketoptionalstring(Optional, Forces new resource) The name of the bucket. If omitted, Terraform will assign a random, unique name.
nullbucket_namespaceoptionalstringNamespace for the bucket. Determines bucket naming scope. Valid values: account-regional, global. Defaults to global (AWS)
nullbucket_prefixoptionalstring(Optional, Forces new resource) Creates a unique bucket name beginning with the specified prefix. Conflicts with bucket.
nullcontrol_object_ownershipoptionalboolWhether to manage S3 Bucket Ownership Controls on this bucket.
falsecors_ruleoptionalanyList of maps containing rules for Cross-Origin Resource Sharing.
[]create_bucketoptionalboolControls if S3 bucket should be created
truecreate_metadata_configurationoptionalboolWhether to create metadata configuration resource
falsedata_redundancyoptionalstringData redundancy. Valid values: `SingleAvailabilityZone`
nullexpected_bucket_owneroptionalstringThe account ID of the expected bucket owner
nullforce_destroyoptionalbool(Optional, Default:false ) A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are not recoverable.
falsegrantoptionalanyAn ACL policy grant. Conflicts with `acl`
[]ignore_public_aclsoptionalboolWhether Amazon S3 should ignore public ACLs for this bucket.
trueAll 72 are optional — the module deploys with none of them set. Showing 40, so the site stays a static download — the remaining 32 are in the source.
Outputs
15
aws_s3_bucket_versioning_statusThe versioning status of the bucket. Will be 'Enabled', 'Suspended', or 'Disabled'.
s3_bucket_arnThe ARN of the bucket. Will be of format arn:aws:s3:::bucketname.
s3_bucket_bucket_domain_nameThe bucket domain name. Will be of format bucketname.s3.amazonaws.com.
s3_bucket_bucket_namespaceThe namespace of the bucket.
s3_bucket_bucket_regional_domain_nameThe bucket region-specific domain name. The bucket domain name including the region name, please refer here for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent redirect issues from CloudFront to S3 Origin URL.
s3_bucket_hosted_zone_idThe Route 53 Hosted Zone ID for this bucket's region.
s3_bucket_idThe name of the bucket.
s3_bucket_lifecycle_configuration_rulesThe lifecycle rules of the bucket, if the bucket is configured with lifecycle rules. If not, this will be an empty string.
s3_bucket_policyThe policy of the bucket, if the bucket is configured with a policy. If not, this will be an empty string.
s3_bucket_regionThe AWS region this bucket resides in.
s3_bucket_tagsTags of the bucket.
s3_bucket_website_domainThe domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records.
s3_bucket_website_endpointThe website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
s3_directory_bucket_arnARN of the directory bucket.
s3_directory_bucket_nameName of the directory bucket.
What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.