Skip to content

Latest commit

 

History

History
73 lines (69 loc) · 9.85 KB

io.md

File metadata and controls

73 lines (69 loc) · 9.85 KB

Inputs

Name Description Type Default Required
acceleration_status Sets the accelerate configuration of an existing bucket. Can be Enabled or Suspended bool false no
acl Canned ACL to apply to the S3 bucket. string null no
acl_grants A list of policy grants for the bucket. Conflicts with acl. Set acl to null to use this.
list(object({
id = string
type = string
permission = string
uri = string
}))
null no
analytics_configuration Map containing bucket analytics configuration. any {} no
attach_public_policy Controls if a user defined public bucket policy will be attached (set to false to allow upstream to apply defaults to the bucket) bool true no
aws_iam_policy_document The text of the policy. Although this is a bucket policy rather than an IAM policy, the aws_iam_policy_document data source may be used, so long as it specifies a principal. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide. Note: Bucket policies are limited to 20 KB in size. string "" no
block_http_bucket_policy Custome bucket policy to block https traffic any null no
block_public_acls Whether Amazon S3 should block public ACLs for this bucket. bool true no
block_public_policy Whether Amazon S3 should block public bucket policies for this bucket. bool true no
bucket_policy Conditionally create S3 bucket policy. bool false no
bucket_prefix (Optional, Forces new resource) Creates a unique bucket name beginning with the specified prefix. string null no
configuration_status Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets. string "Enabled" no
control_object_ownership Whether to manage S3 Bucket Ownership Controls on this bucket. bool false no
cors_rule CORS Configuration specification for this bucket
list(object({
allowed_headers = list(string)
allowed_methods = list(string)
allowed_origins = list(string)
expose_headers = list(string)
max_age_seconds = number
}))
null no
enable_kms Enable enable_server_side_encryption bool false no
enable_lifecycle_configuration_rules enable or disable lifecycle_configuration_rules bool false no
enable_server_side_encryption Enable enable_server_side_encryption bool false no
enabled Conditionally create S3 bucket. bool true no
environment Environment (e.g. prod, dev, staging). string "" no
expected_bucket_owner The account ID of the expected bucket owner string null no
force_destroy 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. bool false no
grants ACL Policy grant.conflict with acl.set acl null to use this
list(object({
id = string
type = string
permissions = list(string)
uri = string
}))
null no
ignore_public_acls Whether Amazon S3 should ignore public ACLs for this bucket. bool true no
intelligent_tiering Map containing intelligent tiering configuration. any {} no
inventory_configuration Map containing S3 inventory configuration. any {} no
kms_master_key_id The AWS KMS master key ID used for the SSE-KMS encryption. This can only be used when you set the value of sse_algorithm as aws:kms. The default aws/s3 AWS KMS master key is used if this element is absent while the sse_algorithm is aws:kms. string "" no
label_order Label order, e.g. name,application. list(any) [] no
lifecycle_configuration_rules A list of lifecycle rules
list(object({
id = string
enabled = bool
filter = any

enable_glacier_transition = bool
enable_deeparchive_transition = bool
enable_standard_ia_transition = bool
enable_current_object_expiration = bool
enable_noncurrent_version_expiration = bool

abort_incomplete_multipart_upload_days = number
noncurrent_version_glacier_transition_days = number
noncurrent_version_deeparchive_transition_days = number
noncurrent_version_expiration_days = number

standard_transition_days = number
glacier_transition_days = number
deeparchive_transition_days = number
expiration_days = number
}))
null no
logging Logging Object to enable and disable logging bool false no
managedby ManagedBy, eg 'CloudDrove'. string "[email protected]" no
metric_configuration Map containing bucket metric configuration. any [] no
mfa Optional, Required if versioning_configuration mfa_delete is enabled) Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. string null no
mfa_delete Specifies whether MFA delete is enabled in the bucket versioning configuration. Valid values: Enabled or Disabled. string "Disabled" no
name Name (e.g. app or cluster). string "" no
object_lock_configuration With S3 Object Lock, you can store objects using a write-once-read-many (WORM) model. Object Lock can help prevent objects from being deleted or overwritten for a fixed amount of time or indefinitely.
object({
mode = string #Valid values are GOVERNANCE and COMPLIANCE.
days = number
years = number
})
null no
object_lock_enabled Whether S3 bucket should have an Object Lock configuration enabled. bool false no
object_ownership Object ownership. Valid values: BucketOwnerEnforced, BucketOwnerPreferred or ObjectWriter. 'BucketOwnerEnforced': ACLs are disabled, and the bucket owner automatically owns and has full control over every object in the bucket. 'BucketOwnerPreferred': Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the bucket-owner-full-control canned ACL. 'ObjectWriter': The uploading account will own the object if the object is uploaded with the bucket-owner-full-control canned ACL. string "ObjectWriter" no
only_https_traffic This veriables use for only https traffic. bool true no
owner Bucket owner's display name and ID. Conflicts with acl map(string) {} no
owner_id The canonical user ID associated with the AWS account. string "" no
replication_configuration Map containing cross-region replication configuration. any {} no
repository Terraform current module repo string "https://github.com/clouddrove/terraform-aws-s3" no
request_payer (Optional) Specifies who should bear the cost of Amazon S3 data transfer. Can be either BucketOwner or Requester. By default, the owner of the S3 bucket would incur the costs of any data transfer. See Requester Pays Buckets developer guide for more information. string null no
restrict_public_buckets Whether Amazon S3 should restrict public bucket policies for this bucket. bool true no
s3_name name of s3 bucket string null no
sse_algorithm The server-side encryption algorithm to use. Valid values are AES256 and aws:kms. string "AES256" no
target_bucket The bucket where you want Amazon S3 to store server access logs. string "" no
target_prefix A prefix for all log object keys. string "" no
timeouts Define maximum timeout for creating, updating, and deleting VPC endpoint resources map(string) {} no
versioning Enable Versioning of S3. bool true no
versioning_status Required if versioning_configuration mfa_delete is enabled) Concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. string "Enabled" no
vpc_endpoints n/a any [] no
website Map containing static web-site hosting or redirect configuration. any {} no

Outputs

Name Description
arn The ARN of the s3 bucket.
bucket_domain_name The Domain of the s3 bucket.
bucket_regional_domain_name The 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.
id The ID of the s3 bucket.
s3_bucket_hosted_zone_id The Route 53 Hosted Zone ID for this bucket's region.
s3_bucket_lifecycle_configuration_rules The lifecycle rules of the bucket, if the bucket is configured with lifecycle rules. If not, this will be an empty string.
s3_bucket_policy The policy of the bucket, if the bucket is configured with a policy. If not, this will be an empty string.
s3_bucket_website_domain The 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_endpoint The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.
tags A mapping of tags to assign to the resource.