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
@@ -129,25 +128,29 @@ Use [the awesome `gossm` project](https://github.com/gjbae1212/gossm).
129
128
| <aname="input_create_run_shell_document"></a> [create\_run\_shell\_document](#input\_create\_run\_shell\_document)| Whether or not to create the SSM-SessionManagerRunShell SSM Document. |`bool`|`true`| no |
130
129
| <aname="input_delimiter"></a> [delimiter](#input\_delimiter)| Delimiter to be used between ID elements.<br>Defaults to `-` (hyphen). Set to `""` to use no delimiter at all. |`string`|`null`| no |
131
130
| <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 |
131
+
| <aname="input_desired_capacity"></a> [desired\_capacity](#input\_desired\_capacity)| Desired number of instances in the Auto Scaling Group |`number`|`1`| no |
132
132
| <aname="input_enabled"></a> [enabled](#input\_enabled)| Set to false to prevent the module from creating any resources |`bool`|`null`| no |
133
133
| <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 |
134
134
| <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 |
135
-
| <aname="input_instance_count"></a> [instance\_count](#input\_instance\_count)| The number of SSM Agent instances you would like to deploy. |`number`|`1`| no |
136
-
| <aname="input_instance_type"></a> [instance\_type](#input\_instance\_type)| The instance type to use for the SSM Agent EC2 Instnace. |`string`|`"t3.nano"`| no |
135
+
| <aname="input_instance_type"></a> [instance\_type](#input\_instance\_type)| The instance type to use for the SSM Agent EC2 instance. |`string`|`"t4g.nano"`| no |
137
136
| <aname="input_key_pair_name"></a> [key\_pair\_name](#input\_key\_pair\_name)| The name of the key-pair to associate with the SSM Agent instances. This can be (and probably should) left empty unless you specifically plan to use `AWS-StartSSHSession`. |`string`|`null`| no |
138
137
| <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 |
139
138
| <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 |
140
139
| <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 |
141
140
| <aname="input_labels_as_tags"></a> [labels\_as\_tags](#input\_labels\_as\_tags)| Set of labels (ID elements) to include as tags in the `tags` output.<br>Default is to include all labels.<br>Tags with empty values will not be included in the `tags` output.<br>Set to `[]` to suppress all generated tags.<br>**Notes:**<br> The value of the `name` tag, if included, will be the `id`, not the `name`.<br> Unlike other `null-label` inputs, the initial setting of `labels_as_tags` cannot be<br> changed in later chained modules. Attempts to change it will be silently ignored. |`set(string)`| <pre>[<br> "default"<br>]</pre> | no |
141
+
| <aname="input_max_size"></a> [max\_size](#input\_max\_size)| Maximum number of instances in the Auto Scaling Group |`number`|`2`| no |
142
142
| <aname="input_metadata_http_endpoint_enabled"></a> [metadata\_http\_endpoint\_enabled](#input\_metadata\_http\_endpoint\_enabled)| Whether or not to enable the metadata http endpoint |`bool`|`true`| no |
143
143
| <aname="input_metadata_http_protocol_ipv6_enabled"></a> [metadata\_http\_protocol\_ipv6\_enabled](#input\_metadata\_http\_protocol\_ipv6\_enabled)| Enable IPv6 metadata endpoint |`bool`|`false`| no |
144
144
| <aname="input_metadata_imdsv2_enabled"></a> [metadata\_imdsv2\_enabled](#input\_metadata\_imdsv2\_enabled)| Whether or not the metadata service requires session tokens,<br>also referred to as Instance Metadata Service Version 2 (IMDSv2). |`bool`|`true`| no |
145
+
| <aname="input_min_size"></a> [min\_size](#input\_min\_size)| Minimum number of instances in the Auto Scaling Group |`number`|`1`| no |
145
146
| <aname="input_monitoring_enabled"></a> [monitoring\_enabled](#input\_monitoring\_enabled)| Enable detailed monitoring of instance |`bool`|`true`| no |
146
147
| <aname="input_name"></a> [name](#input\_name)| ID element. Usually the component or solution name, e.g. 'app' or 'jenkins'.<br>This is the only ID element not also included as a `tag`.<br>The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. |`string`|`null`| no |
147
148
| <aname="input_namespace"></a> [namespace](#input\_namespace)| ID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique |`string`|`null`| no |
148
149
| <aname="input_permissions_boundary"></a> [permissions\_boundary](#input\_permissions\_boundary)| The ARN of the permissions boundary that will be applied to the SSM Agent role. |`string`|`""`| no |
150
+
| <aname="input_protect_from_scale_in"></a> [protect\_from\_scale\_in](#input\_protect\_from\_scale\_in)| Allows setting instance protection for scale in actions on the ASG. |`bool`|`false`| no |
149
151
| <aname="input_regex_replace_chars"></a> [regex\_replace\_chars](#input\_regex\_replace\_chars)| Terraform regular expression (regex) string.<br>Characters matching the regex will be removed from the ID elements.<br>If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. |`string`|`null`| no |
150
152
| <aname="input_region"></a> [region](#input\_region)| The region to deploy the S3 bucket for session logs. If not supplied, the module will use the current region. |`string`|`""`| no |
153
+
| <aname="input_scale_in_protected_instances"></a> [scale\_in\_protected\_instances](#input\_scale\_in\_protected\_instances)| Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. |`string`|`"Ignore"`| no |
151
154
| <aname="input_session_logging_bucket_name"></a> [session\_logging\_bucket\_name](#input\_session\_logging\_bucket\_name)| The name of the S3 Bucket to ship session logs to. This will remove creation of an independent session logging bucket. This is only relevant if the session\_logging\_enabled variable is `true`. |`string`|`""`| no |
152
155
| <aname="input_session_logging_enabled"></a> [session\_logging\_enabled](#input\_session\_logging\_enabled)| To enable CloudWatch and S3 session logging or not. Note this does not apply to SSH sessions as AWS cannot log those sessions. |`bool`|`true`| no |
153
156
| <aname="input_session_logging_encryption_enabled"></a> [session\_logging\_encryption\_enabled](#input\_session\_logging\_encryption\_enabled)| To enable CloudWatch and S3 session logging encryption or not. |`bool`|`true`| no |
description="The instance type to use for the SSM Agent EC2 Instnace."
24
+
description="The instance type to use for the SSM Agent EC2 instance."
25
25
}
26
26
27
27
variable"ami" {
@@ -30,12 +30,6 @@ variable "ami" {
30
30
description="The AMI to use for the SSM Agent EC2 Instance. If not provided, the latest Amazon Linux 2 AMI will be used. Note: This will update periodically as AWS releases updates to their AL2 AMI. Pin to a specific AMI if you would like to avoid these updates."
31
31
}
32
32
33
-
variable"instance_count" {
34
-
default=1
35
-
type=number
36
-
description="The number of SSM Agent instances you would like to deploy."
description="Name for `session_logging` SSM document. This is only applied if 2 conditions are met: (1) `session_logging_enabled` = true, (2) `create_run_shell_document` = true."
156
151
}
152
+
variable"max_size" {
153
+
description="Maximum number of instances in the Auto Scaling Group"
154
+
type=number
155
+
default=2
156
+
}
157
+
158
+
variable"min_size" {
159
+
description="Minimum number of instances in the Auto Scaling Group"
160
+
type=number
161
+
default=1
162
+
}
163
+
164
+
variable"desired_capacity" {
165
+
description="Desired number of instances in the Auto Scaling Group"
166
+
type=number
167
+
default=1
168
+
}
169
+
170
+
variable"protect_from_scale_in" {
171
+
description="Allows setting instance protection for scale in actions on the ASG."
172
+
type=bool
173
+
default=false
174
+
}
175
+
176
+
variable"scale_in_protected_instances" {
177
+
description="Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore."
0 commit comments