docs: def create_public_ip(access_token, subscription_id, resource_group, public_ip_name, dns_label,
                       location):
      '''Create a public ip address.
  
      Args:
          access_token (str): A valid Azure authentication token.
          subscription_id (str): Azure subscription id.
          resource_group (str): Azure resource group name.
          public_ip_name (str): Name of the new public ip address resource.
          dns_label (str): DNS label to apply to the IP address.
          location (str): Azure data center location. E.g. westus.
  
      Returns:
          HTTP response. Public IP address JSON body.
      '''
      endpoint = ''.join([get_rm_endpoint(),
                          '/subscriptions/', subscription_id,
                          '/resourceGroups/', resource_group,
                          '/providers/Microsoft.Network/publicIPAddresses/', public_ip_name,
                          '?api-version=', NETWORK_API])
      ip_body = {'location': location}
      properties = {'publicIPAllocationMethod': 'Dynamic'}
      properties['dnsSettings'] = {'domainNameLabel': dns_label}
      ip_body['properties'] = properties
      body = json.dumps(ip_body)
      return do_put(endpoint, body, access_token)