A login profile is a user name and password that enables a user to log in to the {aws.amazon.com/console AWS Management Console}. Without a login profile, a user cannot access the console. (For information about accessing and using the AWS Management Console, see {docs.amazonwebservices.com/IAM/latest/UserGuide/Using_AWSManagementConsole.html Using the AWS Management Console}.)
@example Setting a password for a user's login profile
user.login_profile.password = "TheNewPassword"
@example Deleting the login profile for a user
user.login_profile.delete
@attr_reader [User] The user to which this login profile
belongs.
@api private
# File lib/aws/iam/login_profile.rb, line 34 def initialize(user, opts = {}) @user = user super end
Deletes the login profile for the specified user, which terminates the user's ability to access AWS services through the IAM login page.
@note Deleting a user's login profile does not prevent a user
from accessing IAM through the command line interface or the API. To prevent all user access you must also either make the access key inactive or delete it. For more information about making keys inactive or deleting them, see {User#access_keys}.
@return [nil]
# File lib/aws/iam/login_profile.rb, line 85 def delete client.delete_login_profile(resource_options) nil end
@return [Boolean] True if a login profile exists for the user.
# File lib/aws/iam/login_profile.rb, line 91 def exists? client.get_login_profile(resource_options) rescue Errors::NoSuchEntity => e false else true end
Sets a new password for the login profile, creating the profile if no profile currently exists for the user.
@param [String] password The new password for the user.
# File lib/aws/iam/login_profile.rb, line 51 def password=(password) options = resource_options(:password => password) client.update_login_profile(options) password rescue Errors::NoSuchEntity => e client.create_login_profile(options) password end
Set whether a user needs to update their password when they next signin.
@param [Boolean] bool If the password needs to be reset on next login
# File lib/aws/iam/login_profile.rb, line 63 def password_reset_required=(bool) options = resource_options(:password_reset_required => bool) client.update_login_profile(options) bool rescue Errors::NoSuchEntity => e # a password has to be set for us to be able to create a login_profile :( raise ArgumentError, "Unable force password reset when no password is set" end
# File lib/aws/iam/login_profile.rb, line 104 def resource_identifiers [[:user_name, user.name]] end