https://github.com/dcos/terraform-aws-spot-instance
https://github.com/dcos/terraform-aws-spot-instance
dcos dcos-testing-guild
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dcos/terraform-aws-spot-instance
- Owner: dcos
- License: apache-2.0
- Created: 2019-06-27T17:11:06.000Z (almost 7 years ago)
- Default Branch: 0.1.0
- Last Pushed: 2019-06-27T17:16:36.000Z (almost 7 years ago)
- Last Synced: 2025-11-16T21:05:35.413Z (7 months ago)
- Topics: dcos, dcos-testing-guild
- Language: HCL
- Size: 36.1 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
AWS Instance
============
This is an module to creates a DC/OS AWS Instance.
If `ami` variable is not set. This module uses the mesosphere suggested OS
which also includes all prerequisites.
Using you own AMI
-----------------
If you choose to use your own AMI please make sure the DC/OS related
prerequisites are met. Take a look at https://docs.mesosphere.com/1.11/installing/ent/custom/system-requirements/install-docker-RHEL/
EXAMPLE
-------
```hcl
module "dcos-master-instance" {
source = "terraform-dcos/instance/aws"
version = "~> 0.1.0"
cluster_name = "production"
subnet_ids = ["subnet-12345678"]
security_group_ids = ["sg-12345678"]
hostname_format = "%[3]s-master%[1]d-%[2]s"
ami = "ami-12345678"
extra_volumes = [
{
size = "100"
type = "gp2"
iops = "3000"
device_name = "/dev/xvdi"
},
{
size = "1000"
type = "" # Use AWS default.
iops = "0" # Use AWS default.
device_name = "/dev/xvdj"
}
]
}
```
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|:----:|:-----:|:-----:|
| ami | AMI that will be used for the instance | string | - | yes |
| associate_public_ip_address | Associate a public IP address with the instances | string | `true` | no |
| cluster_name | Name of the DC/OS cluster | string | - | yes |
| dcos_instance_os | Operating system to use. Instead of using your own AMI you could use a provided OS. | string | `centos_7.4` | no |
| extra_volume_name_format | Printf style format for naming the extra volumes. Inputs are cluster_name and instance ID. | string | `extra-volumes-%s-%s` | no |
| extra_volumes | Extra volumes for each instance | string | `` | no |
| hostname_format | Format the hostname inputs are index+1, region, cluster_name | string | `%[3]s-instance%[1]d-%[2]s` | no |
| iam_instance_profile | The instance profile to be used for these instances | string | `` | no |
| instance_type | Instance Type | string | `m4.large` | no |
| key_name | The SSH key to use for these instances. | string | - | yes |
| num | How many instances should be created | string | - | yes |
| region | region | string | `` | no |
| root_volume_size | Specify the root volume size | string | `40` | no |
| root_volume_type | Specify the root volume type. Masters MUST have at least gp2 | string | `gp2` | no |
| security_group_ids | Firewall IDs to use for these instances | list | - | yes |
| subnet_ids | List of subnet IDs created in this network | list | - | yes |
| tags | Add custom tags to all resources | map | `` | no |
| user_data | User data to be used on these instances (cloud-init) | string | `` | no |
## Outputs
| Name | Description |
|------|-------------|
| instances | List of instance IDs |
| os_user | The OS user to be used |
| prereq-id | Returns the ID of the prereq script (if user_data or ami are not used) |
| private_ips | List of private ip addresses created by this module |
| public_ips | List of public ip addresses created by this module |