def nat_gateway_absent(name=None, subnet_name=None, subnet_id=None,
                       region=None, key=None, keyid=None, profile=None,
                       wait_for_delete_retries=0):
    '''
    Ensure the nat gateway in the named subnet is absent.

    This function requires boto3.

    .. versionadded:: 2016.11.0

    name
        Name of the state.

    subnet_name
        Name of the subnet within which the nat gateway should exist

    subnet_id
        Id of the subnet within which the nat gateway should exist.
        Either subnet_name or subnet_id must be provided.

    region
        Region to connect to.

    key
        Secret key to be used.

    keyid
        Access key to be used.

    profile
        A dict with region, key and keyid, or a pillar key (string) that
        contains a dict with region, key and keyid.

    wait_for_delete_retries
        NAT gateway may take some time to be go into deleted or failed state.
        During the deletion process, subsequent release of elastic IPs may fail;
        this state will automatically retry this number of times to ensure
        the NAT gateway is in deleted or failed state before proceeding.
        Default is set to 0 for backward compatibility.

    '''

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

    r = __salt__['boto_vpc.describe_nat_gateways'](subnet_name=subnet_name,
                                             subnet_id=subnet_id,
                                             region=region, key=key, keyid=keyid,
                                             profile=profile)
    if not r:
        ret['comment'] = 'Nat gateway does not exist.'
        return ret

    if __opts__['test']:
        ret['comment'] = 'Nat gateway is set to be removed.'
        ret['result'] = None
        return ret

    for gw in r:
        rtbl_id = gw.get('NatGatewayId')
        r = __salt__['boto_vpc.delete_nat_gateway'](nat_gateway_id=rtbl_id,
                                                release_eips=True,
                                                region=region,
                                                key=key, keyid=keyid,
                                                profile=profile,
                                                wait_for_delete=True,
                                                wait_for_delete_retries=wait_for_delete_retries)
        if 'error' in r:
            ret['result'] = False
            ret['comment'] = 'Failed to delete nat gateway: {0}'.format(r['error']['message'])
            return ret
        ret['comment'] = ', '.join((ret['comment'], 'Nat gateway {0} deleted.'.format(rtbl_id)))
    ret['changes']['old'] = {'nat_gateway': rtbl_id}
    ret['changes']['new'] = {'nat_gateway': None}
    return ret
Ensure the nat gateway in the named subnet is absent.

    This function requires boto3.

    .. versionadded:: 2016.11.0

    name
        Name of the state.

    subnet_name
        Name of the subnet within which the nat gateway should exist

    subnet_id
        Id of the subnet within which the nat gateway should exist.
        Either subnet_name or subnet_id must be provided.

    region
        Region to connect to.

    key
        Secret key to be used.

    keyid
        Access key to be used.

    profile
        A dict with region, key and keyid, or a pillar key (string) that
        contains a dict with region, key and keyid.

    wait_for_delete_retries
        NAT gateway may take some time to be go into deleted or failed state.
        During the deletion process, subsequent release of elastic IPs may fail;
        this state will automatically retry this number of times to ensure
        the NAT gateway is in deleted or failed state before proceeding.
        Default is set to 0 for backward compatibility.