module Awskeyring::Validate

Validation methods for Awskeyring

Public Class Methods

access_key(aws_access_key) click to toggle source

Validate an AWS Access Key ID

@param [String] aws_access_key The aws_access_key_id

# File lib/awskeyring/validate.rb, line 20
def self.access_key(aws_access_key)
  raise 'Invalid Access Key' unless /\AAKIA[A-Z0-9]{12,16}\z/.match?(aws_access_key)

  aws_access_key
end
account_name(account_name) click to toggle source

Validate an account name

@param [String] account_name the associated account name.

# File lib/awskeyring/validate.rb, line 11
def self.account_name(account_name)
  raise 'Invalid Account Name' unless /\S+/.match?(account_name)

  account_name
end
mfa_arn(mfa_arn) click to toggle source

Validate an Users mfa ARN

@param [String] mfa_arn The users MFA arn

# File lib/awskeyring/validate.rb, line 38
def self.mfa_arn(mfa_arn)
  raise 'Invalid MFA ARN' unless %r(\Aarn:aws:iam::[0-9]{12}:mfa/\S*\z).match?(mfa_arn)

  mfa_arn
end
mfa_code(mfa_code) click to toggle source

Validate an MFA CODE

@param [String] mfa_code The mfa code

# File lib/awskeyring/validate.rb, line 65
def self.mfa_code(mfa_code)
  raise 'Invalid MFA CODE' unless /\A\d{6}\z/.match?(mfa_code)

  mfa_code
end
role_arn(role_arn) click to toggle source

Validate a Role ARN

@param [String] role_arn The role arn

# File lib/awskeyring/validate.rb, line 56
def self.role_arn(role_arn)
  raise 'Invalid Role ARN' unless %r(\Aarn:aws:iam::[0-9]{12}:role/\S*\z).match?(role_arn)

  role_arn
end
role_name(role_name) click to toggle source

Validate a Role name

@param [String] role_name

# File lib/awskeyring/validate.rb, line 47
def self.role_name(role_name)
  raise 'Invalid Role Name' unless /\S+/.match?(role_name)

  role_name
end
secret_access_key(aws_secret_access_key) click to toggle source

Validate an AWS Secret Key ID

@param [String] aws_secret_access_key The aws_secret_access_key

# File lib/awskeyring/validate.rb, line 29
def self.secret_access_key(aws_secret_access_key)
  raise 'Secret Access Key is not 40 chars' if aws_secret_access_key.length != 40

  aws_secret_access_key
end