:doc:`IAM <../../iam>` / Client / change_password

***************
change_password
***************



.. py:method:: IAM.Client.change_password(**kwargs)

  

  Changes the password of the IAM user who is calling this operation. This operation can be performed using the CLI, the Amazon Web Services API, or the **My Security Credentials** page in the Amazon Web Services Management Console. The Amazon Web Services account root user password is not affected by this operation.

   

  Use `UpdateLoginProfile <https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateLoginProfile.html>`__ to use the CLI, the Amazon Web Services API, or the **Users** page in the IAM console to change the password for any IAM user. For more information about modifying passwords, see `Managing passwords <https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html>`__ in the *IAM User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ChangePassword>`_  


  **Request Syntax**
  ::

    response = client.change_password(
        OldPassword='string',
        NewPassword='string'
    )
    
  :type OldPassword: string
  :param OldPassword: **[REQUIRED]** 

    The IAM user's current password.

    

  
  :type NewPassword: string
  :param NewPassword: **[REQUIRED]** 

    The new password. The new password must conform to the Amazon Web Services account's password policy, if one exists.

     

    The `regex pattern <http://wikipedia.org/wiki/regex>`__ that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space ( ``\u0020``) through the end of the ASCII character range ( ``\u00FF``). You can also include the tab ( ``\u0009``), line feed ( ``\u000A``), and carriage return ( ``\u000D``) characters. Any of these characters are valid in a password. However, many tools, such as the Amazon Web Services Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

    

  
  
  :returns: None
  **Exceptions**
  
  *   :py:class:`IAM.Client.exceptions.NoSuchEntityException`

  
  *   :py:class:`IAM.Client.exceptions.InvalidUserTypeException`

  
  *   :py:class:`IAM.Client.exceptions.LimitExceededException`

  
  *   :py:class:`IAM.Client.exceptions.EntityTemporarilyUnmodifiableException`

  
  *   :py:class:`IAM.Client.exceptions.PasswordPolicyViolationException`

  
  *   :py:class:`IAM.Client.exceptions.ServiceFailureException`

  

  **Examples**

  The following command changes the password for the current IAM user.
  ::

    response = client.change_password(
        NewPassword=']35d/{pB9Fo9wJ',
        OldPassword='3s0K_;xh4~8XXI',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResponseMetadata': {
            '...': '...',
        },
    }

  