Ensure the Route53 Hostes Zone described is absent

    name
        The name of the state definition.

    Name
        The name of the domain. This should be a fully-specified domain, and should terminate with a
        period.  If not provided, the value of name will be used.

    PrivateZone
        Set True if deleting a private hosted zone.

def hosted_zone_absent(name, Name=None, PrivateZone=False,
                       region=None, key=None, keyid=None, profile=None):
    '''
    Ensure the Route53 Hostes Zone described is absent

    name
        The name of the state definition.

    Name
        The name of the domain. This should be a fully-specified domain, and should terminate with a
        period.  If not provided, the value of name will be used.

    PrivateZone
        Set True if deleting a private hosted zone.

    '''
    Name = Name if Name else name

    ret = {'name': name, 'result': True, 'comment': '', 'changes': {}}

    args = {'Name': Name, 'PrivateZone': PrivateZone, 'region': region, 'key': key,
            'keyid': keyid, 'profile': profile}
    zone = __salt__['boto3_route53.find_hosted_zone'](**args)
    if not zone:
        ret['comment'] = 'Route 53 {} hosted zone {} already absent'.format('private' if
                PrivateZone else 'public', Name)
        log.info(ret['comment'])
        return ret
    if __opts__['test']:
        ret['comment'] = 'Route 53 {} hosted zone {} would be deleted'.format('private' if
                PrivateZone else 'public', Name)
        ret['result'] = None
        return ret
    zone = zone[0]
    Id = zone['HostedZone']['Id']
    if __salt__['boto3_route53.delete_hosted_zone'](Id=Id, region=region, key=key,
            keyid=keyid, profile=profile):
        ret['comment'] = 'Route 53 {} hosted zone {} deleted'.format('private' if PrivateZone else
                'public', Name)
        log.info(ret['comment'])
        ret['changes']['old'] = zone
        ret['changes']['new'] = None
    else:
        ret['comment'] = 'Failed to delete Route 53 {} hosted zone {}'.format('private' if
                PrivateZone else 'public', Name)
        log.info(ret['comment'])
        ret['result'] = False
        return ret

    return ret