def create_lb_with_nat_pool(access_token, subscription_id, resource_group, lb_name, public_ip_id,<EOL>fe_start_port, fe_end_port, backend_port, location):
endpoint = '<STR_LIT>'.join([get_rm_endpoint(),<EOL>'<STR_LIT>', subscription_id,<EOL>'<STR_LIT>', resource_group,<EOL>'<STR_LIT>', lb_name,<EOL>'<STR_LIT>', NETWORK_API])<EOL>lb_body = {'<STR_LIT:location>': location}<EOL>frontendipcconfig = {'<STR_LIT:name>': '<STR_LIT>'}<EOL>fipc_properties = {'<STR_LIT>': {'<STR_LIT:id>': public_ip_id}}<EOL>frontendipcconfig['<STR_LIT>'] = fipc_properties<EOL>properties = {'<STR_LIT>': [frontendipcconfig]}<EOL>properties['<STR_LIT>'] = [{'<STR_LIT:name>': '<STR_LIT>'}]<EOL>inbound_natpool = {'<STR_LIT:name>': '<STR_LIT>'}<EOL>lbfe_id = '<STR_LIT>' + subscription_id + '<STR_LIT>' + resource_group +'<STR_LIT>' + lb_name +'<STR_LIT>'<EOL>ibnp_properties = {'<STR_LIT>': {'<STR_LIT:id>': lbfe_id}}<EOL>ibnp_properties['<STR_LIT>'] = '<STR_LIT>'<EOL>ibnp_properties['<STR_LIT>'] = fe_start_port<EOL>ibnp_properties['<STR_LIT>'] = fe_end_port<EOL>ibnp_properties['<STR_LIT>'] = backend_port<EOL>inbound_natpool['<STR_LIT>'] = ibnp_properties<EOL>properties['<STR_LIT>'] = [inbound_natpool]<EOL>lb_body['<STR_LIT>'] = properties<EOL>body = json.dumps(lb_body)<EOL>return do_put(endpoint, body, access_token)<EOL>
Create a load balancer with inbound NAT pools.

    Args:
        access_token (str): A valid Azure authentication token.
        subscription_id (str): Azure subscription id.
        resource_group (str): Azure resource group name.
        lb_name (str): Name of the new load balancer.
        public_ip_id (str): Public IP address resource id.
        fe_start_port (int): Start of front-end port range.
        fe_end_port (int): End of front-end port range.
        backend_port (int): Back end port for VMs.
        location (str): Azure data center location. E.g. westus.

    Returns:
        HTTP response. Load Balancer JSON body.