def confirm_subscription(TopicArn=None, Token=None,
    AuthenticateOnUnsubscribe=None):
    """
    Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true".
    See also: AWS API Documentation
    
    
    :example: response = client.confirm_subscription(
        TopicArn='string',
        Token='string',
        AuthenticateOnUnsubscribe='string'
    )
    
    
    :type TopicArn: string
    :param TopicArn: [REQUIRED]
            The ARN of the topic for which you wish to confirm a subscription.
            

    :type Token: string
    :param Token: [REQUIRED]
            Short-lived token sent to an endpoint during the Subscribe action.
            

    :type AuthenticateOnUnsubscribe: string
    :param AuthenticateOnUnsubscribe: Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is true and the request has an AWS signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires AWS authentication.

    :rtype: dict
    :return: {
        'SubscriptionArn': 'string'
    }
    
    
    """
    pass
