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
Added support for gp3 and io2 both root and ebs volumes (fixed copy of #117) (#136)
* adding gp3 volume
* fmt
* Auto Format
* fix variables
* update modules
* fix examples to be inline with new module versions
* remove deprecated syntax
* upgrade required terraform version
* Auto Format
* fix provider in examples
Co-authored-by: Tommy <[email protected]>
Co-authored-by: cloudpossebot <[email protected]>
Co-authored-by: Tommy <[email protected]>
| <aname="input_descriptor_formats"></a> [descriptor\_formats](#input\_descriptor\_formats)| Describe additional descriptors to be output in the `descriptors` output map.<br>Map of maps. Keys are names of descriptors. Values are maps of the form<br>`{<br> format = string<br> labels = list(string)<br>}`<br>(Type is `any` so the map values can later be enhanced to provide additional options.)<br>`format` is a Terraform format string to be passed to the `format()` function.<br>`labels` is a list of labels, in order, to pass to `format()` function.<br>Label values will be normalized before being passed to `format()` so they will be<br>identical to how they appear in `id`.<br>Default is `{}` (`descriptors` output will be empty). |`any`|`{}`| no |
| <aname="input_ebs_device_name"></a> [ebs\_device\_name](#input\_ebs\_device\_name)| Name of the EBS device to mount |`list(string)`| <pre>[<br> "/dev/xvdb",<br> "/dev/xvdc",<br> "/dev/xvdd",<br> "/dev/xvde",<br> "/dev/xvdf",<br> "/dev/xvdg",<br> "/dev/xvdh",<br> "/dev/xvdi",<br> "/dev/xvdj",<br> "/dev/xvdk",<br> "/dev/xvdl",<br> "/dev/xvdm",<br> "/dev/xvdn",<br> "/dev/xvdo",<br> "/dev/xvdp",<br> "/dev/xvdq",<br> "/dev/xvdr",<br> "/dev/xvds",<br> "/dev/xvdt",<br> "/dev/xvdu",<br> "/dev/xvdv",<br> "/dev/xvdw",<br> "/dev/xvdx",<br> "/dev/xvdy",<br> "/dev/xvdz"<br>]</pre> | no |
273
-
| <aname="input_ebs_iops"></a> [ebs\_iops](#input\_ebs\_iops)| Amount of provisioned IOPS. This must be set with a volume\_type of io1 |`number`|`0`| no |
273
+
| <aname="input_ebs_iops"></a> [ebs\_iops](#input\_ebs\_iops)| Amount of provisioned IOPS. This must be set with a volume\_type of `io1`, `io2` or `gp3`|`number`|`0`| no |
274
274
| <aname="input_ebs_optimized"></a> [ebs\_optimized](#input\_ebs\_optimized)| Launched EC2 instance will be EBS-optimized |`bool`|`false`| no |
275
+
| <aname="input_ebs_throughput"></a> [ebs\_throughput](#input\_ebs\_throughput)| Amount of throughput. This must be set if volume\_type is set to `gp3`|`number`|`0`| no |
275
276
| <aname="input_ebs_volume_count"></a> [ebs\_volume\_count](#input\_ebs\_volume\_count)| Count of EBS volumes that will be attached to the instance |`number`|`0`| no |
276
277
| <aname="input_ebs_volume_encrypted"></a> [ebs\_volume\_encrypted](#input\_ebs\_volume\_encrypted)| Whether to encrypt the additional EBS volumes |`bool`|`true`| no |
277
278
| <aname="input_ebs_volume_size"></a> [ebs\_volume\_size](#input\_ebs\_volume\_size)| Size of the additional EBS volumes in gigabytes |`number`|`10`| no |
278
-
| <aname="input_ebs_volume_type"></a> [ebs\_volume\_type](#input\_ebs\_volume\_type)| The type of the additional EBS volumes. Can be standard, gp2 or io1 |`string`|`"gp2"`| no |
279
+
| <aname="input_ebs_volume_type"></a> [ebs\_volume\_type](#input\_ebs\_volume\_type)| The type of the additional EBS volumes. Can be standard, gp2, gp3, io1 or io2|`string`|`"gp2"`| no |
279
280
| <aname="input_enabled"></a> [enabled](#input\_enabled)| Set to false to prevent the module from creating any resources |`bool`|`null`| no |
280
281
| <aname="input_environment"></a> [environment](#input\_environment)| ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'staging', 'dev', 'UAT' |`string`|`null`| no |
281
282
| <aname="input_evaluation_periods"></a> [evaluation\_periods](#input\_evaluation\_periods)| The number of periods over which data is compared to the specified threshold. |`number`|`5`| no |
@@ -306,9 +307,10 @@ Available targets:
306
307
| <aname="input_region"></a> [region](#input\_region)| AWS Region the instance is launched in |`string`|`""`| no |
307
308
| <aname="input_root_block_device_encrypted"></a> [root\_block\_device\_encrypted](#input\_root\_block\_device\_encrypted)| Whether to encrypt the root block device |`bool`|`true`| no |
308
309
| <aname="input_root_block_device_kms_key_id"></a> [root\_block\_device\_kms\_key\_id](#input\_root\_block\_device\_kms\_key\_id)| KMS key ID used to encrypt EBS volume. When specifying root\_block\_device\_kms\_key\_id, root\_block\_device\_encrypted needs to be set to true |`string`|`null`| no |
309
-
| <aname="input_root_iops"></a> [root\_iops](#input\_root\_iops)| Amount of provisioned IOPS. This must be set if root\_volume\_type is set to `io1`|`number`|`0`| no |
310
+
| <aname="input_root_iops"></a> [root\_iops](#input\_root\_iops)| Amount of provisioned IOPS. This must be set if root\_volume\_type is set of `io1`, `io2` or `gp3`|`number`|`0`| no |
311
+
| <aname="input_root_throughput"></a> [root\_throughput](#input\_root\_throughput)| Amount of throughput. This must be set if root\_volume\_type is set to `gp3`|`number`|`0`| no |
310
312
| <aname="input_root_volume_size"></a> [root\_volume\_size](#input\_root\_volume\_size)| Size of the root volume in gigabytes |`number`|`10`| no |
311
-
| <aname="input_root_volume_type"></a> [root\_volume\_type](#input\_root\_volume\_type)| Type of root volume. Can be standard, gp2 or io1 |`string`|`"gp2"`| no |
313
+
| <aname="input_root_volume_type"></a> [root\_volume\_type](#input\_root\_volume\_type)| Type of root volume. Can be standard, gp2, gp3, io1 or io2|`string`|`"gp2"`| no |
312
314
| <aname="input_security_group_description"></a> [security\_group\_description](#input\_security\_group\_description)| The Security Group description. |`string`|`"EC2 Security Group"`| no |
313
315
| <aname="input_security_group_enabled"></a> [security\_group\_enabled](#input\_security\_group\_enabled)| Whether to create default Security Group for EC2. |`bool`|`true`| no |
314
316
| <aname="input_security_group_rules"></a> [security\_group\_rules](#input\_security\_group\_rules)| A list of maps of Security Group rules.<br>The values of map is fully complated with `aws_security_group_rule` resource.<br>To get more info see https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule . |`list(any)`| <pre>[<br> {<br> "cidr_blocks": [<br> "0.0.0.0/0"<br> ],<br> "description": "Allow all outbound traffic",<br> "from_port": 0,<br> "protocol": "-1",<br> "to_port": 65535,<br> "type": "egress"<br> }<br>]</pre> | no |
@@ -539,7 +541,7 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply
| <aname="input_descriptor_formats"></a> [descriptor\_formats](#input\_descriptor\_formats)| Describe additional descriptors to be output in the `descriptors` output map.<br>Map of maps. Keys are names of descriptors. Values are maps of the form<br>`{<br> format = string<br> labels = list(string)<br>}`<br>(Type is `any` so the map values can later be enhanced to provide additional options.)<br>`format` is a Terraform format string to be passed to the `format()` function.<br>`labels` is a list of labels, in order, to pass to `format()` function.<br>Label values will be normalized before being passed to `format()` so they will be<br>identical to how they appear in `id`.<br>Default is `{}` (`descriptors` output will be empty). |`any`|`{}`| no |
| <aname="input_ebs_device_name"></a> [ebs\_device\_name](#input\_ebs\_device\_name)| Name of the EBS device to mount |`list(string)`| <pre>[<br> "/dev/xvdb",<br> "/dev/xvdc",<br> "/dev/xvdd",<br> "/dev/xvde",<br> "/dev/xvdf",<br> "/dev/xvdg",<br> "/dev/xvdh",<br> "/dev/xvdi",<br> "/dev/xvdj",<br> "/dev/xvdk",<br> "/dev/xvdl",<br> "/dev/xvdm",<br> "/dev/xvdn",<br> "/dev/xvdo",<br> "/dev/xvdp",<br> "/dev/xvdq",<br> "/dev/xvdr",<br> "/dev/xvds",<br> "/dev/xvdt",<br> "/dev/xvdu",<br> "/dev/xvdv",<br> "/dev/xvdw",<br> "/dev/xvdx",<br> "/dev/xvdy",<br> "/dev/xvdz"<br>]</pre> | no |
76
-
| <aname="input_ebs_iops"></a> [ebs\_iops](#input\_ebs\_iops)| Amount of provisioned IOPS. This must be set with a volume\_type of io1 |`number`|`0`| no |
76
+
| <aname="input_ebs_iops"></a> [ebs\_iops](#input\_ebs\_iops)| Amount of provisioned IOPS. This must be set with a volume\_type of `io1`, `io2` or `gp3`|`number`|`0`| no |
77
77
| <aname="input_ebs_optimized"></a> [ebs\_optimized](#input\_ebs\_optimized)| Launched EC2 instance will be EBS-optimized |`bool`|`false`| no |
78
+
| <aname="input_ebs_throughput"></a> [ebs\_throughput](#input\_ebs\_throughput)| Amount of throughput. This must be set if volume\_type is set to `gp3`|`number`|`0`| no |
78
79
| <aname="input_ebs_volume_count"></a> [ebs\_volume\_count](#input\_ebs\_volume\_count)| Count of EBS volumes that will be attached to the instance |`number`|`0`| no |
79
80
| <aname="input_ebs_volume_encrypted"></a> [ebs\_volume\_encrypted](#input\_ebs\_volume\_encrypted)| Whether to encrypt the additional EBS volumes |`bool`|`true`| no |
80
81
| <aname="input_ebs_volume_size"></a> [ebs\_volume\_size](#input\_ebs\_volume\_size)| Size of the additional EBS volumes in gigabytes |`number`|`10`| no |
81
-
| <aname="input_ebs_volume_type"></a> [ebs\_volume\_type](#input\_ebs\_volume\_type)| The type of the additional EBS volumes. Can be standard, gp2 or io1 |`string`|`"gp2"`| no |
82
+
| <aname="input_ebs_volume_type"></a> [ebs\_volume\_type](#input\_ebs\_volume\_type)| The type of the additional EBS volumes. Can be standard, gp2, gp3, io1 or io2|`string`|`"gp2"`| no |
82
83
| <aname="input_enabled"></a> [enabled](#input\_enabled)| Set to false to prevent the module from creating any resources |`bool`|`null`| no |
83
84
| <aname="input_environment"></a> [environment](#input\_environment)| ID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'staging', 'dev', 'UAT' |`string`|`null`| no |
84
85
| <aname="input_evaluation_periods"></a> [evaluation\_periods](#input\_evaluation\_periods)| The number of periods over which data is compared to the specified threshold. |`number`|`5`| no |
@@ -109,9 +110,10 @@
109
110
| <aname="input_region"></a> [region](#input\_region)| AWS Region the instance is launched in |`string`|`""`| no |
110
111
| <aname="input_root_block_device_encrypted"></a> [root\_block\_device\_encrypted](#input\_root\_block\_device\_encrypted)| Whether to encrypt the root block device |`bool`|`true`| no |
111
112
| <aname="input_root_block_device_kms_key_id"></a> [root\_block\_device\_kms\_key\_id](#input\_root\_block\_device\_kms\_key\_id)| KMS key ID used to encrypt EBS volume. When specifying root\_block\_device\_kms\_key\_id, root\_block\_device\_encrypted needs to be set to true |`string`|`null`| no |
112
-
| <aname="input_root_iops"></a> [root\_iops](#input\_root\_iops)| Amount of provisioned IOPS. This must be set if root\_volume\_type is set to `io1`|`number`|`0`| no |
113
+
| <aname="input_root_iops"></a> [root\_iops](#input\_root\_iops)| Amount of provisioned IOPS. This must be set if root\_volume\_type is set of `io1`, `io2` or `gp3`|`number`|`0`| no |
114
+
| <aname="input_root_throughput"></a> [root\_throughput](#input\_root\_throughput)| Amount of throughput. This must be set if root\_volume\_type is set to `gp3`|`number`|`0`| no |
113
115
| <aname="input_root_volume_size"></a> [root\_volume\_size](#input\_root\_volume\_size)| Size of the root volume in gigabytes |`number`|`10`| no |
114
-
| <aname="input_root_volume_type"></a> [root\_volume\_type](#input\_root\_volume\_type)| Type of root volume. Can be standard, gp2 or io1 |`string`|`"gp2"`| no |
116
+
| <aname="input_root_volume_type"></a> [root\_volume\_type](#input\_root\_volume\_type)| Type of root volume. Can be standard, gp2, gp3, io1 or io2|`string`|`"gp2"`| no |
115
117
| <aname="input_security_group_description"></a> [security\_group\_description](#input\_security\_group\_description)| The Security Group description. |`string`|`"EC2 Security Group"`| no |
116
118
| <aname="input_security_group_enabled"></a> [security\_group\_enabled](#input\_security\_group\_enabled)| Whether to create default Security Group for EC2. |`bool`|`true`| no |
117
119
| <aname="input_security_group_rules"></a> [security\_group\_rules](#input\_security\_group\_rules)| A list of maps of Security Group rules.<br>The values of map is fully complated with `aws_security_group_rule` resource.<br>To get more info see https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule . |`list(any)`| <pre>[<br> {<br> "cidr_blocks": [<br> "0.0.0.0/0"<br> ],<br> "description": "Allow all outbound traffic",<br> "from_port": 0,<br> "protocol": "-1",<br> "to_port": 65535,<br> "type": "egress"<br> }<br>]</pre> | no |
0 commit comments