Module: Awskeyring::Validate

Defined in:
lib/awskeyring/validate.rb

Overview

Validation methods for Awskeyring

Class Method Summary collapse

Class Method Details

.access_key(aws_access_key) ⇒ Object

Validate an AWS Access Key ID



20
21
22
23
24
# 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) ⇒ Object

Validate an account name



11
12
13
14
15
# File 'lib/awskeyring/validate.rb', line 11

def self.()
  raise 'Invalid Account Name' unless /\S+/.match?()

  
end

.mfa_arn(mfa_arn) ⇒ Object

Validate an Users mfa ARN



38
39
40
41
42
# 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) ⇒ Object

Validate an MFA CODE



65
66
67
68
69
# 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) ⇒ Object

Validate a Role ARN



56
57
58
59
60
# 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) ⇒ Object

Validate a Role name



47
48
49
50
51
# 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) ⇒ Object

Validate an AWS Secret Key ID



29
30
31
32
33
# 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