Sha256: 454166e53a35513810bf7c809f8ce5ef36fc107239652bdfe7c527dde3d4776c

Contents?: true

Size: 1.21 KB

Versions: 8

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Awspec::Type
  class VpcEndpoints < ResourceBase
    aws_resource Aws::EC2::Types::VpcEndpoint
    tags_allowed

    def resource_via_client
      @resource_via_client ||= find_vpc_endpoint(@display_name)
    end

    def id
      @id ||= resource_via_client.vpc_endpoint_id if resource_via_client
    end

    STATES = %w[
      pendingacceptance pending available deleting
      deleted rejected failed expired
    ]

    STATES.each do |state|
      define_method "#{state}?" do
        resource_via_client.state == state
      end
    end

    def has_route_table?(route_table_id)
      rts = resource_via_client.route_table_ids

      ret = find_route_table(route_table_id)
      if ret && rts.include?(ret.route_table_id)
        return true
      end

      ret = rts.find do |rt|
        rt == route_table_id
      end
      return true if ret
    end

    def has_subnet?(subnet_id)
      subnets = resource_via_client.subnet_ids

      ret = subnets.find do |subnet|
        subnet == subnet_id
      end
      return true if ret

      res = find_subnet(subnet_id)
      ret = subnets.find do |subnet|
        subnet == res.subnet_id
      end
      return true if ret
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
awspec-1.32.0 lib/awspec/type/vpc_endpoints.rb
awspec-1.31.0 lib/awspec/type/vpc_endpoints.rb
awspec-1.30.0 lib/awspec/type/vpc_endpoints.rb
awspec-1.29.3 lib/awspec/type/vpc_endpoints.rb
awspec-1.29.2 lib/awspec/type/vpc_endpoints.rb
awspec-1.29.1 lib/awspec/type/vpc_endpoints.rb
awspec-1.29.0 lib/awspec/type/vpc_endpoints.rb
awspec-1.28.2 lib/awspec/type/vpc_endpoints.rb