Exemple #1
0
    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)
Exemple #2
0
 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)
Exemple #3
0
    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)