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
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.
41
+
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.
42
42
43
43
This module is basically combination of [Terraform open source](https://www.terraform.io/) and includes automatation tests and examples. It also helps to create and improve your infrastructure with minimalistic code instead of maintaining the whole infrastructure code yourself.
44
44
@@ -49,7 +49,7 @@ We have [*fifty plus terraform modules*][terraform_modules]. A few of them are c
| ami | The AMI to use for the instance. |`string`|n/a|yes|
141
+
| ami | The AMI to use for the instance. |`string`|`""`|no|
144
142
| assign\_eip\_address | Assign an Elastic IP address to the instance. |`bool`|`false`| no |
145
143
| associate\_public\_ip\_address | Associate a public IP address with the instance. |`bool`|`true`| no |
146
144
| attributes | Additional attributes (e.g. `1`). |`list(any)`|`[]`| no |
147
145
| availability\_zone | Availability Zone the instance is launched in. If not set, will be launched in the first AZ of the region. |`list(any)`|`[]`| no |
148
146
| cpu\_core\_count | Sets the number of CPU cores for an instance. |`string`|`null`| no |
149
147
| cpu\_credits | The credit option for CPU usage. Can be `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. |`string`|`"standard"`| no |
148
+
| delete\_on\_termination | Whether the volume should be destroyed on instance termination. Defaults to true. |`bool`|`true`| no |
150
149
| delimiter | Delimiter to be used between `organization`, `environment`, `name` and `attributes`. |`string`|`"-"`| no |
151
150
| disable\_api\_termination | If true, enables EC2 Instance Termination Protection. |`bool`|`false`| no |
152
151
| disk\_size | Size of the root volume in gigabytes. |`number`|`8`| no |
@@ -166,7 +165,7 @@ Here is examples of how you can use this module in your inventory structure:
166
165
| iam\_instance\_profile | The IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. |`string`|`""`| no |
167
166
| instance\_count | Number of instances to launch. |`number`|`1`| no |
168
167
| instance\_enabled | Flag to control the instance creation. |`bool`|`true`| no |
169
-
| instance\_initiated\_shutdown\_behavior |Shutdown behavior for the instance. |`string`|`""`| no |
168
+
| instance\_initiated\_shutdown\_behavior |n/a |`string`|`"terminate"`| no |
170
169
| instance\_profile\_enabled | Flag to control the instance profile creation. |`bool`|`false`| no |
171
170
| instance\_tags | Instance tags. |`map(any)`|`{}`| no |
172
171
| instance\_type | The type of instance to start. Updates to this field will trigger a stop/start of the EC2 instance. |`string`| n/a | yes |
@@ -176,20 +175,23 @@ Here is examples of how you can use this module in your inventory structure:
176
175
| kms\_key\_id | The ARN for the KMS encryption key. When specifying kms\_key\_id, encrypted needs to be set to true. |`string`|`""`| no |
177
176
| label\_order | Label order, e.g. `name`,`application`. |`list(any)`|`[]`| no |
178
177
| managedby | ManagedBy, eg 'CloudDrove'. |`string`|`"[email protected]"`| no |
178
+
| metadata\_http\_endpoint\_enabled | Whether the metadata service is available |`bool`|`true`| no |
179
+
| metadata\_http\_put\_response\_hop\_limit | The desired HTTP PUT response hop limit (between 1 and 64) for instance metadata requests. |`number`|`2`| no |
180
+
| metadata\_http\_tokens\_required | Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2. |`bool`|`true`| no |
179
181
| monitoring | If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0). |`bool`|`true`| no |
180
182
| name | Name (e.g. `app` or `cluster`). |`string`|`""`| no |
181
-
| network\_interface | Customize network interfaces to be attached at instance boot time.|`list(map(string))`|`[]`| no |
183
+
| network\_interface | Customize network interfaces to be attached at instance boot time |`list(map(string))`|`[]`| no |
182
184
| placement\_group | The Placement Group to start the instance in. |`string`|`""`| no |
183
-
| repository | Terraform current module repo |`string`|`"https://registry.terraform.io/modules/clouddrove/ec2/aws/0.14.0"`| no |
185
+
| repository | Terraform current module repo |`string`|`"https://github.com/clouddrove/terraform-aws-ec2"`| no |
184
186
| root\_block\_device | Customize details about the root block device of the instance. See Block Devices below for details. |`list(any)`|`[]`| no |
185
187
| source\_dest\_check | Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. |`bool`|`true`| no |
186
188
| subnet | VPC Subnet ID the instance is launched in. |`string`|`null`| no |
187
189
| subnet\_ids | A list of VPC Subnet IDs to launch in. |`list(string)`|`[]`| no |
188
190
| tags | Additional tags (e.g. map(`BusinessUnit`,`XYZ`). |`map(any)`|`{}`| no |
189
-
| tenancy | The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. |`string`|`""`| no |
191
+
| tenancy | The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. |`string`|`"default"`| no |
190
192
| ttl | The TTL of the record to add to the DNS zone to complete certificate validation. |`string`|`"300"`| no |
191
193
| type | Type of DNS records to create. |`string`|`"CNAME"`| no |
192
-
| user\_data |The Base64-encoded user data to provide when launching the instances. |`string`|`""`| no |
194
+
| user\_data |(Optional) A string of the desired User Data for the ec2. |`string`|`""`| no |
193
195
| vpc\_security\_group\_ids\_list | A list of security group IDs to associate with. |`list(string)`|`[]`| no |
194
196
195
197
## Outputs
@@ -212,7 +214,7 @@ Here is examples of how you can use this module in your inventory structure:
212
214
213
215
214
216
## Testing
215
-
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.
217
+
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.
216
218
217
219
You need to run the following command in the testing folder:
218
220
```hcl
@@ -221,7 +223,7 @@ You need to run the following command in the testing folder:
221
223
222
224
223
225
224
-
## Feedback
226
+
## Feedback
225
227
If you come accross a bug or have any feedback, please log it in our [issue tracker](https://github.com/clouddrove/terraform-aws-ec2/issues), or feel free to drop us an email at [[email protected]](mailto:[email protected]).
226
228
227
229
If you have found it worth your time, go ahead and give us a ★ on [our GitHub](https://github.com/clouddrove/terraform-aws-ec2)!
0 commit comments