Module: Central::Machine::Aws::Common

Included in:
AuthProvisioner, MasterProvisioner, NodeProvisioner
Defined in:
lib/central/machine/aws/common.rb

Instance Method Summary collapse

Instance Method Details

#default_subnet(vpc_id, zone) ⇒ Aws::EC2::Types::Subnet, NilClass

Parameters:

  • vpc_id (String)
  • zone (String)

Returns:

  • (Aws::EC2::Types::Subnet, NilClass)


17
18
19
20
21
22
# File 'lib/central/machine/aws/common.rb', line 17

def default_subnet(vpc_id, zone)
  ec2.subnets(filters: [
                { name: 'vpc-id', values: [vpc_id] },
                { name: 'availability-zone', values: [zone] }
              ]).first
end

#default_vpcAws::EC2::Types::Vpc, NilClass

Returns:

  • (Aws::EC2::Types::Vpc, NilClass)


25
26
27
# File 'lib/central/machine/aws/common.rb', line 25

def default_vpc
  ec2.vpcs(filters: [{ name: 'is-default', values: ['true'] }]).first
end

#resolve_ami(region) ⇒ Object

Returns String.

Parameters:

  • region (String)

Returns:

  • String



7
8
9
10
11
12
# File 'lib/central/machine/aws/common.rb', line 7

def resolve_ami(region)
  response = Excon.get('https://coreos.com/dist/aws/aws-stable.json')
  images = JSON.parse(response.body)
  info = images[region]
  info ? info['hvm'] : nil
end