class AwsRouteTable

def fetch_from_api

def fetch_from_api
  backend = BackendFactory.create(inspec_runner)
  if @route_table_id.nil?
    args = nil
  else
    args = { filters: [{ name: 'route-table-id', values: [@route_table_id] }] }
  end
  resp = backend.describe_route_tables(args)
  routetable = resp.to_h[:route_tables]
  @exists = !routetable.empty?
end

def to_s

def to_s
  "Route Table #{@route_table_id}"
end

def validate_params(raw_params)

def validate_params(raw_params)
  validated_params = check_resource_param_names(
    raw_params: raw_params,
    allowed_params: [:route_table_id],
    allowed_scalar_name: :route_table_id,
    allowed_scalar_type: String,
  )
  if validated_params.key?(:route_table_id) &&
     validated_params[:route_table_id] !~ /^rtb\-([0-9a-f]{17})|(^rtb\-[0-9a-f]{8})$/
    raise ArgumentError,
          'aws_route_table Route Table ID must be in the' \
          ' format "rtb-" followed by 8 or 17 hexadecimal characters.'
  end
  validated_params
end