def update_policy(PolicyId=None, Name=None, Description=None, Content=None):
    """
    Updates an existing policy with a new name, description, or content. If any parameter is not supplied, that value remains unchanged. Note that you cannot change a policy's type.
    This operation can be called only from the organization's master account.
    See also: AWS API Documentation
    
    
    :example: response = client.update_policy(
        PolicyId='string',
        Name='string',
        Description='string',
        Content='string'
    )
    
    
    :type PolicyId: string
    :param PolicyId: [REQUIRED]
            The unique identifier (ID) of the policy that you want to update.
            The regex pattern for a policy ID string requires 'p-' followed by from 8 to 128 lower-case letters or digits.
            

    :type Name: string
    :param Name: If provided, the new name for the policy.
            The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.
            

    :type Description: string
    :param Description: If provided, the new description for the policy.

    :type Content: string
    :param Content: If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide .

    :rtype: dict
    :return: {
        'Policy': {
            'PolicySummary': {
                'Id': 'string',
                'Arn': 'string',
                'Name': 'string',
                'Description': 'string',
                'Type': 'SERVICE_CONTROL_POLICY',
                'AwsManaged': True|False
            },
            'Content': 'string'
        }
    }
    
    
    """
    pass
