Method: Enscalator::Plugins::NATGateway#nat_gateway_init
- Defined in:
- lib/enscalator/plugins/nat_gateway.rb
#nat_gateway_init(name, subnet_name, route_table_name, dest_cidr_block: '0.0.0.0/0', depends_on: []) ⇒ Object
Create new NAT gateway
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/enscalator/plugins/nat_gateway.rb', line 46 def nat_gateway_init(name, subnet_name, route_table_name, dest_cidr_block: '0.0.0.0/0', depends_on: []) nat_gateway_eip_name = "#{name}EIP" nat_gateway_eip = allocate_new_eip(nat_gateway_eip_name, depends_on: depends_on) nat_gateway_name = name = { Type: 'AWS::EC2::NatGateway' } [:DependsOn] = depends_on unless depends_on.blank? resource nat_gateway_name, .merge( Properties: { AllocationId: nat_gateway_eip, SubnetId: ref(subnet_name) }) nat_route_rule_name = "#{name}Route" add_route_rule(nat_route_rule_name, route_table_name, nat_gateway_name, dest_cidr_block, depends_on: depends_on) output nat_gateway_name, Description: 'NAT Gateway', Value: ref(nat_gateway_name) nat_gateway_name end |