Skip to content
Start here

Update a Zero Trust Gateway location

client.ZeroTrust.Gateway.Locations.Update(ctx, locationID, params) (*Location, error)
PUT/accounts/{account_id}/gateway/locations/{location_id}

Update a configured Zero Trust Gateway location.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Cloudflare Zero Trust Secure DNS Locations WriteZero Trust Write
ParametersExpand Collapse
locationID string
params GatewayLocationUpdateParams
AccountID param.Field[string]

Path param

Name param.Field[string]

Body param: Specify the location name.

ClientDefault param.Field[bool]optional

Body param: Indicate whether this location is the default location.

DNSDestinationIPsID param.Field[string]optional

Body param: Specify the identifier of the pair of IPv4 addresses assigned to this location. When creating a location, if this field is absent or set to null, the pair of shared IPv4 addresses (0e4a32c6-6fb8-4858-9296-98f51631e8e6) is auto-assigned. When updating a location, if this field is absent or set to null, the pre-assigned pair remains unchanged.

ECSSupport param.Field[bool]optional

Body param: Indicate whether the location must resolve EDNS queries.

Endpoints param.Field[Endpoint]optional

Body param: Configure the destination endpoints for this location.

Networks param.Field[[]GatewayLocationUpdateParamsNetwork]optional

Body param: Specify the list of network ranges from which requests at this location originate. The list takes effect only if it is non-empty and the IPv4 endpoint is enabled for this location.

Network string

Specify the IPv4 address or IPv4 CIDR. Limit IPv4 CIDRs to a maximum of /24.

ReturnsExpand Collapse
type Location struct{…}
ID stringoptional
ClientDefault booloptional

Indicate whether this location is the default location.

CreatedAt Timeoptional
formatdate-time
DNSDestinationIPsID stringoptional

Indicate the identifier of the pair of IPv4 addresses assigned to this location.

DNSDestinationIPV6BlockID stringoptional

Specify the UUID of the IPv6 block brought to the gateway so that this location's IPv6 address is allocated from the Bring Your Own IPv6 (BYOIPv6) block rather than the standard Cloudflare IPv6 block.

DOHSubdomain stringoptional

Specify the DNS over HTTPS domain that receives DNS requests. Gateway automatically generates this value.

ECSSupport booloptional

Indicate whether the location must resolve EDNS queries.

Endpoints Endpointoptional

Configure the destination endpoints for this location.

Enabled booloptional

Indicate whether the DOH endpoint is enabled for this location.

Networks []IPNetworkoptional

Specify the list of allowed source IP network ranges for this endpoint. When the list is empty, the endpoint allows all source IPs. The list takes effect only if the endpoint is enabled for this location.

Network string

Specify the IP address or IP CIDR.

RequireToken booloptional

Specify whether the DOH endpoint requires user identity authentication.

Enabled booloptional

Indicate whether the DOT endpoint is enabled for this location.

Networks []IPNetworkoptional

Specify the list of allowed source IP network ranges for this endpoint. When the list is empty, the endpoint allows all source IPs. The list takes effect only if the endpoint is enabled for this location.

Network string

Specify the IP address or IP CIDR.

Enabled booloptional

Indicate whether the IPv4 endpoint is enabled for this location.

Enabled booloptional

Indicate whether the IPV6 endpoint is enabled for this location.

Networks []IPV6Networkoptional

Specify the list of allowed source IPv6 network ranges for this endpoint. When the list is empty, the endpoint allows all source IPs. The list takes effect only if the endpoint is enabled for this location.

Network string

Specify the IPv6 address or IPv6 CIDR.

IP stringoptional

Defines the automatically generated IPv6 destination IP assigned to this location. Gateway counts all DNS requests sent to this IP as requests under this location.

IPV4Destination stringoptional

Show the primary destination IPv4 address from the pair identified dns_destination_ips_id. This field read-only.

IPV4DestinationBackup stringoptional

Show the backup destination IPv4 address from the pair identified dns_destination_ips_id. This field read-only.

Name stringoptional

Specify the location name.

Networks []LocationNetworkoptional

Specify the list of network ranges from which requests at this location originate. The list takes effect only if it is non-empty and the IPv4 endpoint is enabled for this location.

Network string

Specify the IPv4 address or IPv4 CIDR. Limit IPv4 CIDRs to a maximum of /24.

UpdatedAt Timeoptional
formatdate-time

Update a Zero Trust Gateway location

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/zero_trust"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  location, err := client.ZeroTrust.Gateway.Locations.Update(
    context.TODO(),
    "ed35569b41ce4d1facfe683550f54086",
    zero_trust.GatewayLocationUpdateParams{
      AccountID: cloudflare.F("699d98642c564d2e855e9661899b7252"),
      Name: cloudflare.F("Austin Office Location"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", location.ID)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "ed35569b41ce4d1facfe683550f54086",
    "client_default": false,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "dns_destination_ips_id": "0e4a32c6-6fb8-4858-9296-98f51631e8e6",
    "dns_destination_ipv6_block_id": "b08f7231-d458-495c-98ef-190604c9ee83",
    "doh_subdomain": "oli3n9zkz5",
    "ecs_support": false,
    "endpoints": {
      "doh": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ],
        "require_token": true
      },
      "dot": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ]
      },
      "ipv4": {
        "enabled": true
      },
      "ipv6": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ]
      }
    },
    "ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "ipv4_destination": "172.64.36.1",
    "ipv4_destination_backup": "172.64.36.2",
    "name": "Austin Office Location",
    "networks": [
      {
        "network": "192.0.2.1/32"
      }
    ],
    "updated_at": "2014-01-01T05:20:00.12345Z"
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "ed35569b41ce4d1facfe683550f54086",
    "client_default": false,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "dns_destination_ips_id": "0e4a32c6-6fb8-4858-9296-98f51631e8e6",
    "dns_destination_ipv6_block_id": "b08f7231-d458-495c-98ef-190604c9ee83",
    "doh_subdomain": "oli3n9zkz5",
    "ecs_support": false,
    "endpoints": {
      "doh": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ],
        "require_token": true
      },
      "dot": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ]
      },
      "ipv4": {
        "enabled": true
      },
      "ipv6": {
        "enabled": true,
        "networks": [
          {
            "network": "2001:85a3::/64"
          }
        ]
      }
    },
    "ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "ipv4_destination": "172.64.36.1",
    "ipv4_destination_backup": "172.64.36.2",
    "name": "Austin Office Location",
    "networks": [
      {
        "network": "192.0.2.1/32"
      }
    ],
    "updated_at": "2014-01-01T05:20:00.12345Z"
  }
}