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

******************
get_policy_version
******************



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

  

  Retrieves information about the specified version of the specified managed policy, including the policy document.

   

  .. note::

    

    Policies returned by this operation are URL-encoded compliant with `RFC 3986 <https://tools.ietf.org/html/rfc3986>`__. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the ``decode`` method of the ``java.net.URLDecoder`` utility class in the Java SDK. Other languages and SDKs provide similar functionality, and some SDKs do this decoding automatically.

    

   

  To list the available versions for a policy, use `ListPolicyVersions <https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicyVersions.html>`__.

   

  This operation retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use `GetUserPolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html>`__, `GetGroupPolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroupPolicy.html>`__, or `GetRolePolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRolePolicy.html>`__.

   

  For more information about the types of policies, see `Managed policies and inline policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html>`__ in the *IAM User Guide*.

   

  For more information about managed policy versions, see `Versioning for managed policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html>`__ in the *IAM User Guide*.

  

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


  **Request Syntax**
  ::

    response = client.get_policy_version(
        PolicyArn='string',
        VersionId='string'
    )
    
  :type PolicyArn: string
  :param PolicyArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the managed policy that you want information about.

     

    For more information about ARNs, see `Amazon Resource Names (ARNs) <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`__ in the *Amazon Web Services General Reference*.

    

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

    Identifies the policy version to retrieve.

     

    This parameter allows (through its `regex pattern <http://wikipedia.org/wiki/regex>`__) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'PolicyVersion': {
              'Document': 'string',
              'VersionId': 'string',
              'IsDefaultVersion': True|False,
              'CreateDate': datetime(2015, 1, 1)
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Contains the response to a successful `GetPolicyVersion <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetPolicyVersion.html>`__ request.

      
      

      - **PolicyVersion** *(dict) --* 

        A structure containing details about the policy version.

        
        

        - **Document** *(string) --* 

          The policy document.

           

          The policy document is returned in the response to the `GetPolicyVersion <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetPolicyVersion.html>`__ and `GetAccountAuthorizationDetails <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountAuthorizationDetails.html>`__ operations. It is not returned in the response to the `CreatePolicyVersion <https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html>`__ or `ListPolicyVersions <https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPolicyVersions.html>`__ operations.

           

          The policy document returned in this structure is URL-encoded compliant with `RFC 3986 <https://tools.ietf.org/html/rfc3986>`__. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the ``decode`` method of the ``java.net.URLDecoder`` utility class in the Java SDK. Other languages and SDKs provide similar functionality.

          
        

        - **VersionId** *(string) --* 

          The identifier for the policy version.

           

          Policy version identifiers always begin with ``v`` (always lowercase). When a policy is created, the first policy version is ``v1``.

          
        

        - **IsDefaultVersion** *(boolean) --* 

          Specifies whether the policy version is set as the policy's default version.

          
        

        - **CreateDate** *(datetime) --* 

          The date and time, in `ISO 8601 date-time format <http://www.iso.org/iso/iso8601>`__, when the policy version was created.

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

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

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

  