You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add the ability to use KMS encyption through the addition of the
`sse_encryption` and `kms_master_key_id` variables.
* Fixescloudposse#105
Co-authored-by: Lennart Goedhart <[email protected]>
Co-authored-by: Matt Gowie <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+5-3
Original file line number
Diff line number
Diff line change
@@ -282,6 +282,7 @@ Available targets:
282
282
| <aname="input_force_destroy"></a> [force\_destroy](#input\_force\_destroy)| A boolean that indicates the S3 bucket can be destroyed even if it contains objects. These objects are not recoverable |`bool`|`false`| no |
283
283
| <aname="input_id_length_limit"></a> [id\_length\_limit](#input\_id\_length\_limit)| Limit `id` to this many characters (minimum 6).<br>Set to `0` for unlimited length.<br>Set to `null` for keep the existing setting, which defaults to `0`.<br>Does not affect `id_full`. |`number`|`null`| no |
284
284
| <aname="input_ignore_public_acls"></a> [ignore\_public\_acls](#input\_ignore\_public\_acls)| Whether Amazon S3 should ignore public ACLs for this bucket |`bool`|`true`| no |
285
+
| <aname="input_kms_master_key_id"></a> [kms\_master\_key\_id](#input\_kms\_master\_key\_id)| AWS KMS master key ID used for the SSE-KMS encryption.<br>This can only be used when you set the value of sse\_algorithm as aws:kms. |`string`|`null`| no |
285
286
| <aname="input_label_key_case"></a> [label\_key\_case](#input\_label\_key\_case)| Controls the letter case of the `tags` keys (label names) for tags generated by this module.<br>Does not affect keys of tags passed in via the `tags` input.<br>Possible values: `lower`, `title`, `upper`.<br>Default value: `title`. |`string`|`null`| no |
286
287
| <aname="input_label_order"></a> [label\_order](#input\_label\_order)| The order in which the labels (ID elements) appear in the `id`.<br>Defaults to ["namespace", "environment", "stage", "name", "attributes"].<br>You can omit any of the 6 labels ("tenant" is the 6th), but at least one must be present. |`list(string)`|`null`| no |
287
288
| <aname="input_label_value_case"></a> [label\_value\_case](#input\_label\_value\_case)| Controls the letter case of ID elements (labels) as included in `id`,<br>set as tag values, and output by this module individually.<br>Does not affect values of tags passed in via the `tags` input.<br>Possible values: `lower`, `title`, `upper` and `none` (no transformation).<br>Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.<br>Default value: `lower`. |`string`|`null`| no |
@@ -301,6 +302,7 @@ Available targets:
301
302
| <aname="input_s3_replica_bucket_arn"></a> [s3\_replica\_bucket\_arn](#input\_s3\_replica\_bucket\_arn)| The ARN of the S3 replica bucket (destination) |`string`|`""`| no |
302
303
| <aname="input_s3_replication_enabled"></a> [s3\_replication\_enabled](#input\_s3\_replication\_enabled)| Set this to true and specify `s3_replica_bucket_arn` to enable replication |`bool`|`false`| no |
303
304
| <aname="input_source_policy_documents"></a> [source\_policy\_documents](#input\_source\_policy\_documents)| List of IAM policy documents (in JSON format) that are merged together into the generated S3 bucket policy.<br>Statements must have unique SIDs.<br>Statement having SIDs that match policy SIDs generated by this module will override them. |`list(string)`|`[]`| no |
305
+
| <aname="input_sse_encryption"></a> [sse\_encryption](#input\_sse\_encryption)| The server-side encryption algorithm to use.<br>Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`. |`string`|`"AES256"`| no |
304
306
| <aname="input_stage"></a> [stage](#input\_stage)| ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release' |`string`|`null`| no |
305
307
| <aname="input_tags"></a> [tags](#input\_tags)| Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`).<br>Neither the tag keys nor the tag values will be modified by this module. |`map(string)`|`{}`| no |
306
308
| <aname="input_tenant"></a> [tenant](#input\_tenant)| ID element \_(Rarely used, not included by default)\_. A customer identifier, indicating who this instance of a resource is for |`string`|`null`| no |
@@ -339,9 +341,9 @@ Check out these related projects.
339
341
>
340
342
> Use Cloud Posse's ready-to-go [terraform architecture blueprints](https://cloudposse.com/reference-architecture/) for AWS to get up and running quickly.
341
343
>
342
-
> ✅ We build it with you.<br/>
343
-
> ✅ You own everything.<br/>
344
-
> ✅ Your team wins.<br/>
344
+
> ✅ We build it together with your team.<br/>
345
+
> ✅ Your team owns everything.<br/>
346
+
> ✅ 100% Open Source and backed by fanatical support.<br/>
Copy file name to clipboardExpand all lines: docs/terraform.md
+2
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,7 @@
76
76
| <aname="input_force_destroy"></a> [force\_destroy](#input\_force\_destroy)| A boolean that indicates the S3 bucket can be destroyed even if it contains objects. These objects are not recoverable |`bool`|`false`| no |
77
77
| <aname="input_id_length_limit"></a> [id\_length\_limit](#input\_id\_length\_limit)| Limit `id` to this many characters (minimum 6).<br>Set to `0` for unlimited length.<br>Set to `null` for keep the existing setting, which defaults to `0`.<br>Does not affect `id_full`. |`number`|`null`| no |
78
78
| <aname="input_ignore_public_acls"></a> [ignore\_public\_acls](#input\_ignore\_public\_acls)| Whether Amazon S3 should ignore public ACLs for this bucket |`bool`|`true`| no |
79
+
| <aname="input_kms_master_key_id"></a> [kms\_master\_key\_id](#input\_kms\_master\_key\_id)| AWS KMS master key ID used for the SSE-KMS encryption.<br>This can only be used when you set the value of sse\_algorithm as aws:kms. |`string`|`null`| no |
79
80
| <aname="input_label_key_case"></a> [label\_key\_case](#input\_label\_key\_case)| Controls the letter case of the `tags` keys (label names) for tags generated by this module.<br>Does not affect keys of tags passed in via the `tags` input.<br>Possible values: `lower`, `title`, `upper`.<br>Default value: `title`. |`string`|`null`| no |
80
81
| <aname="input_label_order"></a> [label\_order](#input\_label\_order)| The order in which the labels (ID elements) appear in the `id`.<br>Defaults to ["namespace", "environment", "stage", "name", "attributes"].<br>You can omit any of the 6 labels ("tenant" is the 6th), but at least one must be present. |`list(string)`|`null`| no |
81
82
| <aname="input_label_value_case"></a> [label\_value\_case](#input\_label\_value\_case)| Controls the letter case of ID elements (labels) as included in `id`,<br>set as tag values, and output by this module individually.<br>Does not affect values of tags passed in via the `tags` input.<br>Possible values: `lower`, `title`, `upper` and `none` (no transformation).<br>Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.<br>Default value: `lower`. |`string`|`null`| no |
@@ -95,6 +96,7 @@
95
96
| <aname="input_s3_replica_bucket_arn"></a> [s3\_replica\_bucket\_arn](#input\_s3\_replica\_bucket\_arn)| The ARN of the S3 replica bucket (destination) |`string`|`""`| no |
96
97
| <aname="input_s3_replication_enabled"></a> [s3\_replication\_enabled](#input\_s3\_replication\_enabled)| Set this to true and specify `s3_replica_bucket_arn` to enable replication |`bool`|`false`| no |
97
98
| <aname="input_source_policy_documents"></a> [source\_policy\_documents](#input\_source\_policy\_documents)| List of IAM policy documents (in JSON format) that are merged together into the generated S3 bucket policy.<br>Statements must have unique SIDs.<br>Statement having SIDs that match policy SIDs generated by this module will override them. |`list(string)`|`[]`| no |
99
+
| <aname="input_sse_encryption"></a> [sse\_encryption](#input\_sse\_encryption)| The server-side encryption algorithm to use.<br>Valid values are `AES256`, `aws:kms`, and `aws:kms:dsse`. |`string`|`"AES256"`| no |
98
100
| <aname="input_stage"></a> [stage](#input\_stage)| ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release' |`string`|`null`| no |
99
101
| <aname="input_tags"></a> [tags](#input\_tags)| Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`).<br>Neither the tag keys nor the tag values will be modified by this module. |`map(string)`|`{}`| no |
100
102
| <aname="input_tenant"></a> [tenant](#input\_tenant)| ID element \_(Rarely used, not included by default)\_. A customer identifier, indicating who this instance of a resource is for |`string`|`null`| no |
0 commit comments