mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
M #-: Use only AV zone if inst.type is avail (AWS) (#1299)
This commit is contained in:
parent
37265a731a
commit
880e90bd09
@ -15,6 +15,8 @@ resource "aws_subnet" "device_<%= obj['ID'] %>" {
|
||||
tags = {
|
||||
Name = "<%= obj['NAME'] %>_subnet"
|
||||
}
|
||||
|
||||
availability_zone = local.my_zones[0]
|
||||
}
|
||||
|
||||
resource "aws_internet_gateway" "device_<%= obj['ID'] %>" {
|
||||
|
@ -1,16 +1,36 @@
|
||||
data "aws_availability_zones" "available" {}
|
||||
|
||||
# only filter availability zones where given instance could be deployed
|
||||
data "aws_ec2_instance_type_offerings" "available" {
|
||||
|
||||
for_each=toset(data.aws_availability_zones.available.names)
|
||||
|
||||
filter {
|
||||
name = "instance-type"
|
||||
values = ["<%= provision['INSTANCETYPE'] %>"]
|
||||
}
|
||||
|
||||
filter {
|
||||
name = "location"
|
||||
values = ["${each.key}"]
|
||||
}
|
||||
|
||||
location_type = "availability-zone"
|
||||
}
|
||||
|
||||
locals {
|
||||
my_zones = keys({ for az, details in data.aws_ec2_instance_type_offerings.available :
|
||||
az => details.instance_types if length(details.instance_types) != 0 })
|
||||
}
|
||||
|
||||
|
||||
resource "aws_instance" "device_<%= obj['ID'] %>" {
|
||||
ami = "<%= provision['AMI'] %>"
|
||||
instance_type = "<%= provision['INSTANCETYPE'] %>"
|
||||
availability_zone = local.my_zones[0]
|
||||
|
||||
vpc_security_group_ids = [ aws_security_group.device_<%= c['ID'] %>_all.id ]
|
||||
|
||||
#
|
||||
# Find below how to apply on instances the SGs provisioned in host.rb
|
||||
#
|
||||
#vpc_security_group_ids = [aws_security_group.device_<%= c['ID'] %>_ssh.id,
|
||||
# aws_security_group.device_<%= c['ID'] %>_bgp.id,
|
||||
# aws_security_group.device_<%= c['ID'] %>_vxlan.id]
|
||||
|
||||
subnet_id = aws_subnet.device_<%= c['ID'] %>.id
|
||||
|
||||
<% ecidr = c['TEMPLATE']['PROVISION']['CIDR'] || "10.0.0.0/16"
|
||||
|
Loading…
x
Reference in New Issue
Block a user