Sha256: c9aabc6627ca24af1809e2f4971a246a3dc1a359a3e8da18b801219157259408

Contents?: true

Size: 763 Bytes

Versions: 1

Compression:

Stored size: 763 Bytes

Contents

module Awsrm
  class Subnet < Awsrm::Resource
    FILTER_MAP = {
      name: 'tag:Name',
      cidr: 'cidrBlock',
      vpc_id: 'vpc-id',
      vpc: ->(value) { { name: 'vpc-id', values: [Awsrm::Vpc.one(name: value).id] } }
    }.freeze

    class << self
      def one(params)
        res = ec2_client.describe_subnets(
          filters: filters(params)
        )
        SubnetReader.new(res.subnets.first) if check_one(res.subnets)
      end

      def all(params)
        res = ec2_client.describe_subnets(
          filters: filters(params)
        )
        res.subnets.map do |route|
          SubnetReader.new(route)
        end
      end
    end
  end

  class SubnetReader < Awsrm::ResourceReader
    def id
      @resource.subnet_id
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
awsrm-0.0.1 lib/awsrm/subnet.rb