Sha256: 6b2cc73cc6d8ed8113935975b27441b1495248431dffafe40a65ed33163c549f

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

module Kontena
  module Machine
    module Aws
      module Common

        # @param [String] region
        # @return String
        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

        # @param [String] vpc_id
        # @param [String] zone
        # @return [Aws::EC2::Types::Subnet, NilClass]
        def default_subnet(vpc_id, zone)
          ec2.subnets({
            filters: [
              {name: "vpc-id", values: [vpc_id]},
              {name: "availability-zone", values: [zone]}
            ]
          }).first
        end

        # @return [Aws::EC2::Types::Vpc, NilClass]
        def default_vpc
          ec2.vpcs({filters: [{name: "is-default", values: ["true"]}]}).first
        end

        

        ##
        # Resolves givne list of group names into group ids
        # @param [String] comma separated list of group names
        # @return [Array]
        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
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kontena-cli-0.14.7 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.6 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.5 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.4 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.3 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.2 lib/kontena/machine/aws/common.rb
kontena-cli-0.14.1 lib/kontena/machine/aws/common.rb