Skip to content

Commit e613a1a

Browse files
authored
Merge pull request #12 from mheffner/launch-template-config
Allow overrides for detailed monitoring and public IP
2 parents 741ea8e + f800220 commit e613a1a

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Here is an example of using this module:
7979

8080
| Name | Source | Version |
8181
| -------------------------------------------------------------------------------------------------------- | --------------------------- | ------- |
82-
| <a name="module_tailscale_subnet_router"></a> [tailscale_subnet_router](#module_tailscale_subnet_router) | masterpointio/ssm-agent/aws | 0.16.1 |
82+
| <a name="module_tailscale_subnet_router"></a> [tailscale_subnet_router](#module_tailscale_subnet_router) | masterpointio/ssm-agent/aws | 0.17.0 |
8383
| <a name="module_this"></a> [this](#module_this) | cloudposse/label/null | 0.25.0 |
8484

8585
## Resources
@@ -96,6 +96,7 @@ Here is an example of using this module:
9696
| <a name="input_additional_tag_map"></a> [additional_tag_map](#input_additional_tag_map) | Additional key-value pairs to add to each map in `tags_as_list_of_maps`. Not added to `tags` or `id`.<br>This is for some rare cases where resources want additional configuration of tags<br>and therefore take a list of maps with tag key, value, and additional configuration. | `map(string)` | `{}` | no |
9797
| <a name="input_advertise_routes"></a> [advertise_routes](#input_advertise_routes) | The routes (expressed as CIDRs) to advertise as part of the Tailscale Subnet Router.<br> Example: ["10.0.2.0/24", "0.0.1.0/24"] | `list(string)` | `[]` | no |
9898
| <a name="input_ami"></a> [ami](#input_ami) | The AMI to use for the Tailscale Subnet Router EC2 instance.<br> If not provided, the latest Amazon Linux 2 AMI will be used.<br> Note: This will update periodically as AWS releases updates to their AL2 AMI.<br> Pin to a specific AMI if you would like to avoid these updates. | `string` | `""` | no |
99+
| <a name="input_associate_public_ip_address"></a> [associate_public_ip_address](#input_associate_public_ip_address) | Associate public IP address with subnet router | `bool` | `null` | no |
99100
| <a name="input_attributes"></a> [attributes](#input_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,<br>in the order they appear in the list. New attributes are appended to the<br>end of the list. The elements of the list are joined by the `delimiter`<br>and treated as a single ID element. | `list(string)` | `[]` | no |
100101
| <a name="input_context"></a> [context](#input_context) | Single object for setting entire context at once.<br>See description of individual variables for details.<br>Leave string and numeric variables as `null` to use default value.<br>Individual variable settings (non-null) override settings in context object,<br>except for attributes, tags, and additional_tag_map, which are merged. | `any` | <pre>{<br> "additional_tag_map": {},<br> "attributes": [],<br> "delimiter": null,<br> "descriptor_formats": {},<br> "enabled": true,<br> "environment": null,<br> "id_length_limit": null,<br> "label_key_case": null,<br> "label_order": [],<br> "label_value_case": null,<br> "labels_as_tags": [<br> "unset"<br> ],<br> "name": null,<br> "namespace": null,<br> "regex_replace_chars": null,<br> "stage": null,<br> "tags": {},<br> "tenant": null<br>}</pre> | no |
101102
| <a name="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 |
@@ -113,6 +114,7 @@ Here is an example of using this module:
113114
| <a name="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 |
114115
| <a name="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 |
115116
| <a name="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 |
117+
| <a name="input_monitoring_enabled"></a> [monitoring_enabled](#input_monitoring_enabled) | Enable detailed monitoring of instances | `bool` | `true` | no |
116118
| <a name="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 |
117119
| <a name="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 |
118120
| <a name="input_preauthorized"></a> [preauthorized](#input_preauthorized) | Determines whether or not the machines authenticated by the key will be authorized for the tailnet by default. | `bool` | `true` | no |

main.tf

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ locals {
99

1010
module "tailscale_subnet_router" {
1111
source = "masterpointio/ssm-agent/aws"
12-
version = "0.16.1"
12+
version = "0.17.0"
1313

1414
context = module.this.context
1515
tags = module.this.tags
@@ -28,6 +28,9 @@ module "tailscale_subnet_router" {
2828
instance_type = var.instance_type
2929
instance_count = var.instance_count
3030

31+
monitoring_enabled = var.monitoring_enabled
32+
associate_public_ip_address = var.associate_public_ip_address
33+
3134
user_data = base64encode(length(var.user_data) > 0 ? var.user_data : local.userdata)
3235
}
3336

variables.tf

+12
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,18 @@ variable "instance_count" {
9292
description = "The number of Tailscale Subnet Router EC2 instances you would like to deploy."
9393
}
9494

95+
variable "monitoring_enabled" {
96+
description = "Enable detailed monitoring of instances"
97+
type = bool
98+
default = true
99+
}
100+
101+
variable "associate_public_ip_address" {
102+
description = "Associate public IP address with subnet router"
103+
type = bool
104+
default = null
105+
}
106+
95107
################
96108
## Tailscale ##
97109
##############

0 commit comments

Comments
 (0)