Class: AWS::IAM::VirtualMfaDevice

Inherits:
Resource
  • Object
show all
Defined in:
lib/aws/iam/virtual_mfa_device.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

#exists?

Instance Attribute Details

#base_32_string_seedString (readonly)

The Base32 seed defined as specified in RFC3548. Only accessible on newly created devices. This value is Base64-encoded.



33
34
35
# File 'lib/aws/iam/virtual_mfa_device.rb', line 33

def base_32_string_seed
  @base_32_string_seed
end

#enable_dateDateTime (readonly)

When this device was enabled. Returns nil if this device has not been enabled.



33
34
35
# File 'lib/aws/iam/virtual_mfa_device.rb', line 33

def enable_date
  @enable_date
end

#qr_code_pngBlob (readonly)

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName? secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (accountId otherwise), and Base32String is the seed in Base32 format. Only accessible on newly created devices. This value is Base64-encoded.



33
34
35
# File 'lib/aws/iam/virtual_mfa_device.rb', line 33

def qr_code_png
  @qr_code_png
end

#serial_numberString (readonly) Also known as: arn



42
43
44
# File 'lib/aws/iam/virtual_mfa_device.rb', line 42

def serial_number
  @serial_number
end

Instance Method Details

#deactivatenil Also known as: disable

Deactivates the MFA device and removes it from association with the user for which it was originally enabled.



95
96
97
98
99
100
101
# File 'lib/aws/iam/virtual_mfa_device.rb', line 95

def deactivate
  client_opts = {}
  client_opts[:user_name] = user.name
  client_opts[:serial_number] = serial_number
  client.deactivate_mfa_device(client_opts)
  nil
end

#deletenil

Deletes this virtual MFA device.



106
107
108
109
# File 'lib/aws/iam/virtual_mfa_device.rb', line 106

def delete
  client.delete_virtual_mfa_device(resource_options)
  nil
end

#enable(user, code1, code2) ⇒ Object

Enables the MFA device and associates it with the specified user. When enabled, the MFA device is required for every subsequent login by the user name associated with the device.



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/aws/iam/virtual_mfa_device.rb', line 72

def enable user, code1, code2

  user_name = user.is_a?(User) ? user.name : user

  client.enable_mfa_device(
    :user_name => user_name,
    :serial_number => serial_number,
    :authentication_code_1 => format_auth_code(code1),
    :authentication_code_2 => format_auth_code(code2))

  nil

end

#enabled?Boolean



88
89
90
# File 'lib/aws/iam/virtual_mfa_device.rb', line 88

def enabled?
  !!enable_date
end

#userUser?



58
59
60
61
62
# File 'lib/aws/iam/virtual_mfa_device.rb', line 58

def user
  if details = user_details
    User.new(details.user_name, :config => config)
  end
end