s3-bucket
cloudposse/s3-bucket/aws
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
This module creates an S3 bucket with support for versioning, lifecycles, object locks, replication, encryption, ACL, bucket object policies, and static website hosting. For backward compatibility, it sets the S3 bucket ACL to private and the s3_object_ownership to ObjectWriter. Moving forward, setting s3_object_ownership to BucketOwnerEnforced is recommended, and doing so automatically disables the ACL. This module blocks public access to the bucket by default. See block_public_acls, block_public_policy, ignore_public_acls, and restrict_public_buckets to change the settings. See AWS documentation for more details. This module can optionally create an IAM User with access to the S3 bucket. This is inherently insecure in that to enable anyone to become the User, access keys must be generate
| Name | Type | Description | Default |
|---|---|---|---|
| intelligent_tiering_configuration | list(object({ name = str | A list of S3 Intelligent-Tiering configurations for the bucket. Each configurati | [] |
| tags | map(string) | Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t | {} |
| id_length_limit | number | Limit `id` to this many characters (minimum 6). Set to `0` for unlimited length. | null |
| minimum_tls_version | string | Set the minimum TLS version for in-transit traffic | null |
| ignore_public_acls | bool | Set to `false` to disable the ignoring of public access lists on the bucket | true |
| stage | string | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bu | null |
| label_key_case | string | Controls the letter case of the `tags` keys (label names) for tags generated by | null |
| user_permissions_boundary_arn | string | Permission boundary ARN for the IAM user created to access the bucket. | null |
| access_key_enabled | bool | Set to `true` to create an IAM Access Key for the created IAM user | true |
| force_destroy | bool | When `true`, permits a non-empty S3 bucket to be deleted by first deleting all o | false |
| kms_master_key_arn | string | The AWS KMS master key ARN used for the `SSE-KMS` encryption. This can only be u | "" |
| s3_object_ownership | string | Specifies the S3 object ownership control. Valid values are `ObjectWriter`, `Buc | "ObjectWriter" |
| availability_zone_id | string | The ID of the availability zone. | "" |
| enabled | bool | Set to false to prevent the module from creating any resources | null |
| label_order | list(string) | The order in which the labels (ID elements) appear in the `id`. Defaults to ["na | null |
| grants | list(object({ id | A list of policy grants for the bucket, taking a list of permissions. Conflicts | [] |
| sse_algorithm | string | The server-side encryption algorithm to use. Valid values are `AES256` and `aws: | "AES256" |
| store_access_key_in_ssm | bool | Set to `true` to store the created IAM user's access key in SSM Parameter Store, | false |
| allow_ssl_requests_only | bool | Set to `true` to require requests to use Secure Socket Layer (HTTPS/SSL). This w | false |
| transfer_acceleration_enabled | bool | Set this to `true` to enable S3 Transfer Acceleration for the bucket. Note: When | false |
| … and 10 more inputs | |||
bucket_domain_name — FQDN of bucketbucket_id — Bucket Name (aka ID)bucket_arn — Bucket ARNbucket_region — Bucket regionenabled — Is module enableduser_name — Normalized IAM user namesecret_access_key_ssm_path — The SSM Path under which the S3 User's secret access key is storeduser_enabled — Is user creation enableduser_arn — The ARN assigned by AWS for the useruser_unique_id — The user unique ID assigned by AWSreplication_role_arn — The ARN of the replication IAM Roleaccess_key_id_ssm_path — The SSM Path under which the S3 User's access key ID is storedaccess_key_id — The access key ID, if `var.user_enabled && var.access_key_enabled`.
While sensitive, it does not neebucket_regional_domain_name — The bucket region-specific domain namebucket_website_endpoint — The bucket website endpoint, if website is enabledbucket_website_domain — The bucket website domain, if website is enabledsecret_access_key — The secret access key will be output if created and not stored in SSM. However, the secret access keAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,