module Kontena::Machine::Aws::Common

Public Instance Methods

default_subnet(vpc_id, zone) click to toggle source

@param [String] vpc_id @param [String] zone @return [Aws::EC2::Types::Subnet, NilClass]

# File lib/kontena/machine/aws/common.rb, line 20
def default_subnet(vpc_id, zone)
  ec2.subnets({
    filters: [
      {name: "vpc-id", values: [vpc_id]},
      {name: "availability-zone", values: [zone]}
    ]
  }).first
end
default_vpc() click to toggle source

@return [Aws::EC2::Types::Vpc, NilClass]

# File lib/kontena/machine/aws/common.rb, line 30
def default_vpc
  ec2.vpcs({filters: [{name: "is-default", values: ["true"]}]}).first
end
resolve_ami(region) click to toggle source

@param [String] region @return String

# File lib/kontena/machine/aws/common.rb, line 6
def resolve_ami(region)
  response = Excon.get("https://coreos.com/dist/aws/aws-stable.json")
  images = JSON.parse(response.body)
  info = images[region]
  if info
    info['hvm']
  else
    nil
  end
end
resolve_security_groups_to_ids(group_list, vpc_id) click to toggle source

Resolves givne list of group names into group ids @param [String] comma separated list of group names @return [Array]

# File lib/kontena/machine/aws/common.rb, line 40
def resolve_security_groups_to_ids(group_list, vpc_id)
  ids = group_list.split(',').map { |group|
    sg = ec2.security_groups({
    filters: [
        {name: 'group-name', values: [group]},
        {name: 'vpc-id', values: [vpc_id]}
      ]
    }).first

    sg ? sg.group_id : nil
  }
  ids.compact
end