Module: Kontena::Machine::Aws::Common
- Included in:
- MasterProvisioner, NodeProvisioner, NodeRestarter
- Defined in:
- lib/kontena/machine/aws/common.rb
Instance Method Summary collapse
- #default_subnet(vpc_id, zone) ⇒ Aws::EC2::Types::Subnet, NilClass
- #default_vpc ⇒ Aws::EC2::Types::Vpc, NilClass
-
#resolve_ami(region) ⇒ Object
String.
-
#resolve_security_groups_to_ids(group_list, vpc_id) ⇒ Array
Resolves givne list of group names into group ids.
Instance Method Details
#default_subnet(vpc_id, zone) ⇒ Aws::EC2::Types::Subnet, NilClass
20 21 22 23 24 25 26 27 |
# 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 ⇒ Aws::EC2::Types::Vpc, NilClass
30 31 32 |
# 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) ⇒ Object
Returns String.
6 7 8 9 10 11 12 13 14 15 |
# 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) ⇒ Array
Resolves givne list of group names into group ids
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# 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 |