class AwsIamAccessKeys

def fetch_from_api

def fetch_from_api
  # TODO: this interface should be normalized to match the AWS API
  criteria = {}
  criteria[:username] = @username if defined? @username
  @table = BackendFactory.create(inspec_runner).fetch(criteria)
end

def to_s

def to_s
  'IAM Access Keys'
end

def validate_params(raw_params)

def validate_params(raw_params)
  recognized_params = check_resource_param_names(
    raw_params: raw_params,
    allowed_params: [:username, :id, :access_key_id, :created_date],
    allowed_scalar_name: :access_key_id,
    allowed_scalar_type: String,
  )
  # id and access_key_id are aliases; standardize on access_key_id
  recognized_params[:access_key_id] = recognized_params.delete(:id) if recognized_params.key?(:id)
  if recognized_params[:access_key_id] and
     recognized_params[:access_key_id] !~ /^AKIA[0-9A-Z]{16}$/
    raise 'Incorrect format for Access Key ID - expected AKIA followed ' \
          'by 16 letters or numbers'
  end
  recognized_params
end