class AwsElbs
def fetch_from_api
def fetch_from_api backend = BackendFactory.create(inspec_runner) @table = [] pagination_opts = {} loop do api_result = backend.describe_load_balancers(pagination_opts) @table += unpack_describe_elbs_response(api_result.load_balancer_descriptions) break unless api_result.next_marker pagination_opts = { marker: api_result.next_marker } end end
def to_s
def to_s 'AWS ELBs' end
def unpack_describe_elbs_response(load_balancers)
def unpack_describe_elbs_response(load_balancers) load_balancers.map do |lb_struct| { availability_zones: lb_struct.availability_zones, dns_name: lb_struct.dns_name, external_ports: lb_struct.listener_descriptions.map { |ld| ld.listener.load_balancer_port }, instance_ids: lb_struct.instances.map(&:instance_id), internal_ports: lb_struct.listener_descriptions.map { |ld| ld.listener.instance_port }, elb_name: lb_struct.load_balancer_name, security_group_ids: lb_struct.security_groups, subnet_ids: lb_struct.subnets, vpc_id: lb_struct.vpc_id, } end end
def validate_params(resource_params)
def validate_params(resource_params) unless resource_params.empty? raise ArgumentError, 'aws_elbs does not accept resource parameters.' end resource_params end