Skip to content
Start here

Create Address Map

client.Addressing.AddressMaps.New(ctx, params) (*AddressMapNewResponse, error)
POST/accounts/{account_id}/addressing/address_maps

Create a new address map under the account.

Security

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)
Address Maps Write
ParametersExpand Collapse
params AddressMapNewParams
AccountID param.Field[string]

Path param: Identifier of a Cloudflare account.

maxLength32
Description param.Field[string]optional

Body param: An optional description field which may be used to describe the types of IPs or zones on the map.

Enabled param.Field[bool]optional

Body param: Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.

IPs param.Field[[]string]optional

Body param

Memberships param.Field[[]AddressMapNewParamsMembership]optional

Body param: Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.

Identifier stringoptional

The identifier for the membership (eg. a zone or account tag).

maxLength32
Kind Kindoptional

The type of the membership.

One of the following:
const KindZone Kind = "zone"
const KindAccount Kind = "account"
ReturnsExpand Collapse
type AddressMapNewResponse struct{…}
ID stringoptional

Identifier of an Address Map.

maxLength32
CanDelete booloptional

If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.

CanModifyIPs booloptional

If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.

CreatedAt Timeoptional
formatdate-time
DefaultSNI stringoptional

If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map. If Cloudflare receives a TLS handshake from a client without an SNI, it will respond with the default SNI on those IPs. The default SNI can be any valid zone or subdomain owned by the account.

Description stringoptional

An optional description field which may be used to describe the types of IPs or zones on the map.

Enabled booloptional

Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.

IPs IPsoptional

The set of IPs on the Address Map.

CreatedAt Timeoptional
formatdate-time
IP stringoptional

An IPv4 or IPv6 address.

Memberships []AddressMapNewResponseMembershipoptional

Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.

CanDelete booloptional

Controls whether the membership can be deleted via the API or not.

CreatedAt Timeoptional
formatdate-time
Identifier stringoptional

The identifier for the membership (eg. a zone or account tag).

maxLength32
Kind Kindoptional

The type of the membership.

One of the following:
const KindZone Kind = "zone"
const KindAccount Kind = "account"
ModifiedAt Timeoptional
formatdate-time

Create Address Map

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  addressMap, err := client.Addressing.AddressMaps.New(context.TODO(), addressing.AddressMapNewParams{
    AccountID: cloudflare.F("258def64c72dae45f3e4c8516e2111f2"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", addressMap.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": "055817b111884e0227e1be16a0be6ee0",
    "can_delete": true,
    "can_modify_ips": true,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "default_sni": "*.example.com",
    "description": "My Ecommerce zones",
    "enabled": true,
    "ips": [
      {
        "created_at": "2014-01-01T05:20:00.12345Z",
        "ip": "192.0.2.1"
      }
    ],
    "memberships": [
      {
        "can_delete": true,
        "created_at": "2014-01-01T05:20:00.12345Z",
        "identifier": "023e105f4ecef8ad9ca31a8372d0c353",
        "kind": "zone"
      }
    ],
    "modified_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": "055817b111884e0227e1be16a0be6ee0",
    "can_delete": true,
    "can_modify_ips": true,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "default_sni": "*.example.com",
    "description": "My Ecommerce zones",
    "enabled": true,
    "ips": [
      {
        "created_at": "2014-01-01T05:20:00.12345Z",
        "ip": "192.0.2.1"
      }
    ],
    "memberships": [
      {
        "can_delete": true,
        "created_at": "2014-01-01T05:20:00.12345Z",
        "identifier": "023e105f4ecef8ad9ca31a8372d0c353",
        "kind": "zone"
      }
    ],
    "modified_at": "2014-01-01T05:20:00.12345Z"
  }
}