@staticmethod
def get_dns_challenge_change_batch(action, domain, txt_challenge):
    """
        Given action, domain and challenge, return a change batch to use with
        route53 call.

        :param action: DELETE | UPSERT
        :param domain: domain name
        :param txt_challenge: challenge
        :return: change set for a given action, domain and TXT challenge.
        """
    return {'Changes': [{'Action': action, 'ResourceRecordSet': {'Name':
        '_acme-challenge.{0}'.format(domain), 'Type': 'TXT', 'TTL': 60,
        'ResourceRecords': [{'Value': '"{0}"'.format(txt_challenge)}]}}]}
