def changepassword(self): if (self.cli_args.old_password is None): message = "OldPassword is required for changing user password" CLIResponse.send_error_out(message) if (self.cli_args.new_password is None): message = "NewPassword is required for changing user password" CLIResponse.send_error_out(message) user_args = {} user_args['OldPassword'] = self.cli_args.old_password user_args['NewPassword'] = self.cli_args.new_password try: result = self.iam_client.change_password(**user_args) message = "ChangePassword is successful" CLIResponse.send_success_out(message) except Exception as ex: message = "ChangePassword failed\n" message += str(ex) CLIResponse.send_error_out(message)
def update(self): if (self.cli_args.name is None): message = "UserName is required for UpdateUserLoginProfile" CLIResponse.send_error_out(message) user_args = {} user_args['UserName'] = self.cli_args.name if (not self.cli_args.password is None): user_args['Password'] = self.cli_args.password user_args['PasswordResetRequired'] = False if (self.cli_args.password_reset_required): user_args['PasswordResetRequired'] = True if (self.cli_args.password is None) and ( self.cli_args.password_reset_required is False) and (self.cli_args.no_password_reset_required is False): message = "Please provide password or password-reset flag" CLIResponse.send_error_out(message) try: result = self.iam_client.update_login_profile(**user_args) message = "UpdateUserLoginProfile is successful" CLIResponse.send_success_out(message) except Exception as ex: message = "UpdateUserLoginProfile failed\n" message += str(ex) CLIResponse.send_error_out(message)
def update(self): if (self.cli_args.name is None): message = "Account name is required for UpdateAccountLoginProfile" CLIResponse.send_error_out(message) passwordResetRequired = False if (self.cli_args.password_reset_required): passwordResetRequired = True if (self.cli_args.password is None) and ( self.cli_args.password_reset_required is False) and (self.cli_args.no_password_reset_required is False): message = "Please provide password or password-reset flag" CLIResponse.send_error_out(message) # Get host value from url https://iam.seagate.com:9443 url_parse_result = urllib.parse.urlparse(Config.endpoint) epoch_t = datetime.datetime.utcnow() if (self.cli_args.password is None): body = urllib.parse.urlencode({ 'Action': 'UpdateAccountLoginProfile', 'AccountName': self.cli_args.name, 'PasswordResetRequired': passwordResetRequired }) else: body = urllib.parse.urlencode({ 'Action': 'UpdateAccountLoginProfile', 'AccountName': self.cli_args.name, 'Password': self.cli_args.password, 'PasswordResetRequired': passwordResetRequired }) headers = { 'content-type': 'application/x-www-form-urlencoded', 'Accept': 'text/plain' } headers['Authorization'] = sign_request_v4('POST', '/', body, epoch_t, url_parse_result.netloc, Config.service, Config.default_region) headers['X-Amz-Date'] = get_timestamp(epoch_t) if (self.cli_args.session_token is not None): headers['X-Amz-Security-Token'] = self.cli_args.session_token if (headers['Authorization'] is None): message = "Failed to generate v4 signature" CLIResponse.send_error_out(message) result = ConnMan.send_post_request(body, headers) # Validate response if (result['status'] == 200): message = "Account login profile updated." CLIResponse.send_success_out(message) elif (result['status'] == 503): message = "Failed to update Account login profile.\n" \ "An error occurred (503) when calling the UpdateAccountLoginProfile operation : " + result['reason'] CLIResponse.send_error_out(message) else: message = "Account login profile wasn't Updated." error = ErrorResponse(result) message += error.get_error_message() CLIResponse.send_error_out(message)