diff --git a/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-central-1.yml b/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-central-1.yml index b4148e586b..b0b2ecccb8 100644 --- a/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-central-1.yml +++ b/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-central-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-0498a49a15494604f' - options: - - 'ami-0498a49a15494604f' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 'c5.metal' diff --git a/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-west-2.yml b/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-west-2.yml index abcba7d971..2d529f4c9b 100644 --- a/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-west-2.yml +++ b/share/oneprovision/edge-clusters/metal/providers/aws/aws-eu-west-2.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-01d912b5940be07a5' - options: - - 'ami-01d912b5940be07a5' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 'c5.metal' diff --git a/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-east-1.yml b/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-east-1.yml index 8cff4bb108..0d31ce7ddb 100644 --- a/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-east-1.yml +++ b/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-east-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-01896de1f162f0ab7' - options: - - 'ami-01896de1f162f0ab7' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 'c5.metal' diff --git a/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-west-1.yml b/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-west-1.yml index abb2493e34..fa8663d323 100644 --- a/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-west-1.yml +++ b/share/oneprovision/edge-clusters/metal/providers/aws/aws-us-west-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-0189702ff9c0b592f' - options: - - 'ami-0189702ff9c0b592f' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 'c5.metal' diff --git a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml index 7cf4d8520e..9baedcb3a3 100644 --- a/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml +++ b/share/oneprovision/edge-clusters/metal/provisions/aws.d/inputs.yml @@ -34,6 +34,7 @@ inputs: - name: 'aws_ami_image' type: text description: 'AWS ami image used for host deployments' + default: 'default' - name: 'aws_instance_type' type: text diff --git a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-central-1.yml b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-central-1.yml index 79dbcc11c7..d3b8fbaa1b 100644 --- a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-central-1.yml +++ b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-central-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-0498a49a15494604f' - options: - - 'ami-0498a49a15494604f' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 't2.micro' diff --git a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-west-2.yml b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-west-2.yml index 9ec1e22bd4..a9771a6566 100644 --- a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-west-2.yml +++ b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-eu-west-2.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-0b0e59a09e7f4059f' - options: - - 'ami-0b0e59a09e7f4059f' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 't2.micro' diff --git a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-east-1.yml b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-east-1.yml index 0fc25f7c0e..4a5f4d331b 100644 --- a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-east-1.yml +++ b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-east-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-01896de1f162f0ab7' - options: - - 'ami-01896de1f162f0ab7' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 't2.micro' diff --git a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-west-1.yml b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-west-1.yml index a5a13c05f4..fafab3aea3 100644 --- a/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-west-1.yml +++ b/share/oneprovision/edge-clusters/virtual/providers/aws/aws-us-west-1.yml @@ -10,10 +10,9 @@ connection: inputs: - name: 'aws_ami_image' - type: 'list' - default: 'ami-0189702ff9c0b592f' - options: - - 'ami-0189702ff9c0b592f' + type: 'text' + default: 'default' + description: 'AWS AMI image (default = Ubuntu Focal)' - name: 'aws_instance_type' type: 'list' default: 't2.micro' diff --git a/share/oneprovision/edge-clusters/virtual/provisions/aws.d/inputs.yml b/share/oneprovision/edge-clusters/virtual/provisions/aws.d/inputs.yml index 2c4bc0d02f..f7727175f3 100644 --- a/share/oneprovision/edge-clusters/virtual/provisions/aws.d/inputs.yml +++ b/share/oneprovision/edge-clusters/virtual/provisions/aws.d/inputs.yml @@ -34,6 +34,7 @@ inputs: - name: 'aws_ami_image' type: text description: 'AWS ami image used for host deployments' + default: 'default' - name: 'aws_instance_type' type: text diff --git a/src/oneprovision/lib/terraform/providers/templates/aws/host.erb b/src/oneprovision/lib/terraform/providers/templates/aws/host.erb index 3672a29318..ddb7f82fd6 100644 --- a/src/oneprovision/lib/terraform/providers/templates/aws/host.erb +++ b/src/oneprovision/lib/terraform/providers/templates/aws/host.erb @@ -1,5 +1,28 @@ +data "aws_ami" "ubuntu2004" { + + most_recent = true + + filter { + name = "name" + values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"] + } + + filter { + name = "virtualization-type" + values = ["hvm"] + } + + owners = ["099720109477"] +} + resource "aws_instance" "device_<%= obj['ID'] %>" { + + <% if provision['AMI'] == 'default' %> + ami = data.aws_ami.ubuntu2004.id + <% else %> ami = "<%= provision['AMI'] %>" + <% end %> + instance_type = "<%= provision['INSTANCETYPE'] %>" availability_zone = local.my_zones[0]