Update Secondary Zone Group - BETA

Applies To:
Route

This endpoint is currently available as a BETA. Business-critical processes should not depend on this functionality.

This endpoint requires TSIG authentication. If your master name server has not been configured to use TSIG authentication, then the use of this endpoint is strongly discouraged.

Update the properties and secondary zones associated with a secondary zone group.

This endpoint allows you to add, update, or delete a secondary zone from a secondary zone group.

Best Practices

It is strongly recommended to update a secondary zone group using the following workflow:

  1. Retrieve the desired secondary zone group by requesting the Get Secondary Zone Groups endpoint.

    Sample call:

    GET https://api.edgecast.com/v2/mcc/customers/0001/dns/secondarygroup?id=450
  2. Remove the outer brackets (i.e., []) from the JSON data.

  3. Modify the JSON data to reflect the desired changes to the secondary zone group.

    Information on how to administer secondary zones is provided below.

    • Add a secondary zone

      Add a zone object to the Zones array. This zone object must contain the following members: Comment, DomainName, and Status.

    • Modify a secondary zone

      Find the desired zone object and modify the value defined within DomainName.

    • Delete a secondary zone

      Remove the zone object corresponding to the secondary zone that should be deleted.

      An alternative method for deleting a secondary zone is via the Delete Secondary Zone endpoint.

      This endpoint requires a secondary zone group to contain at least one secondary zone. Delete all secondary zones associated with a secondary zone group via the MCC.

    If master name servers have been added to the master server group since the last update to this secondary zone group, then you will need to update the JSON data to include those master name servers in the MasterServerTsigs array.

  4. Submit the modified JSON data as the request body when requesting this endpoint.

Request

A request to update a secondary zone group is described below.

HTTP Method Request URI

PUT

https://api.edgecast.com/v2/mcc/customers/AccountNumber/dns/secondarygroup?id=SecondaryZoneGroupID

Define the following variable when submitting the above request:

VariableA variable represents a value that must be replaced. A variable consists of either a URL segment (e.g., "0001" in /0001/) or a query string value (e.g., "3" in mediaTypes=3). Description

AccountNumber

Required

Replace this variable with a customer account number. This account number may be found in the upper right-hand corner of the MCC.

SecondaryZoneGroupID

Required

Replace this variable with the system-defined ID associated with the desired secondary zone group.

Use the Get Secondary Zone Groups endpoint to retrieve a list of secondary zone groups and their system-defined IDs.

Request Headers

This endpointIdentifies a request's connection point to our REST API service. only takes advantage of common request headers.

Request Body

Pass the following request body parameters:

Name Data Type Description

Id

Integer

Indicates the system-defined ID assigned to the secondary zone group.

This ID must match the value passed in the request URL.

Name

Required

String

Assigns a name to the secondary zone group.

ZoneComposition

Required

Object

Contains parameters that define the secondary zone group.

MasterGroupId

Required

Integer

ZoneComposition object

Associates a master server group, as identified by its system-defined ID, with the secondary zone group.

Use the Get Master Server Groups endpoint to retrieve a list of master server groups, their master name servers, and their system-defined IDs.

MasterServerTsigs

Required

Array

ZoneComposition object

Assigns TSIG key(s) to master name server(s). Our name servers will authenticate to these servers through these keys.

All master name servers associated with the master server group identified by the MasterGroupId parameter must be specified in this array.

MasterServer

Required

Object

ZoneComposition object > MasterServerTsigs array

This object must contain each master name server associated with the master server group identified by the MasterGroupId parameter. Each of these master name servers must be assigned a TSIG key.

Each master name server in the specified master server group must be assigned a TSIG key.

Id

Required

Integer

ZoneComposition object > MasterServerTsigs array > MasterServer object

Identifies a master name server by its system-defined ID.

Use the Get Master Server Groups endpoint to retrieve a list of master server groups, their master name servers, and their system-defined IDs.

IpAddress

String

ZoneComposition object > MasterServerTsigs array > MasterServer object

Indicates the IP address for the master name server defined within this object.

Use the Update Master Name Server endpoint to modify a master name server.

Name

String

ZoneComposition object > MasterServerTsigs array > MasterServer object

Indicates the name for the master name server defined within this object.

Use the Update Master Name Server endpoint to modify a master name server.

Tsig

Required

Object

ZoneComposition object > MasterServerTsigs array

Assigns a TSIG key to the master name server defined within the MasterServer object.

Each master name server in the specified master server group must be assigned a TSIG key.

Id

Required

Integer

ZoneComposition object > MasterServerTsigs array > Tsig object

Identifies a TSIG key by its system-defined ID.

Use the Get All TSIG Keys endpoint to retrieve a list of TSIG keys and their system-defined IDs.

Alias

String

ZoneComposition object > MasterServerTsigs array > Tsig object

Indicates a brief description for the TSIG key.

Use the Update TSIG Key endpoint to modify a TSIG key.

KeyName

String

ZoneComposition object > MasterServerTsigs array > Tsig object

Indicates a unique name for the TSIG key.

Use the Update TSIG Key endpoint to modify a TSIG key.

KeyValue

String

ZoneComposition object > MasterServerTsigs array > Tsig object

Indicates the hash value through which our name servers will authenticate to a master name server.

Use the Update TSIG Key endpoint to modify a TSIG key.

AlgorithmId

Integer

ZoneComposition object > MasterServerTsigs array > Tsig object

Indicates the system-defined ID for the cryptographic hash function used to generate the hash value defined in the KeyValue parameter.

Use the Update TSIG Key endpoint to modify a TSIG key.

AlgorithmName

String

ZoneComposition object > MasterServerTsigs array > Tsig object

Indicates the system-defined name for the cryptographic hash function used to generate the hash value identified in the KeyValue parameter.

Use the Update TSIG Key endpoint to modify a TSIG key.

Zones

Required

Array

ZoneComposition object

Contains the secondary zone(s) associated with this secondary zone group.

View the workflow for adding, modifying, or deleting a secondary zone.

Comment

Required

String

ZoneComposition object > Zones array

This parameter is reserved for future use.

Please set this parameter to a blank value.

DomainName

Required

String

ZoneComposition object > Zones array

Indicates the name (e.g., example.com) for a secondary zone.

Our name servers will request a zone transfer for this zone. Therefore, this name must match the one defined on the master name server(s) associated with this secondary zone group.

FixedZoneId

Integer

ZoneComposition object > Zones array

  • Add Secondary Zone: Please omit this parameter.
  • Update Secondary Zone: Required. Identifies a secondary zone by its system-defined ID.

IsCustomerOwned

Boolean

ZoneComposition object > Zones array

The only supported value for this parameter is "true."

Status

Required

Integer

ZoneComposition object > Zones array

Indicates the secondary zone's status. The only supported value for this parameter is "1."

Omitting this parameter will disable the secondary zone.

StatusName

String

ZoneComposition object > Zones array

Indicates the secondary zone's status. The only supported value for this parameter is "Active."

ZoneId

Integer

ZoneComposition object > Zones array

  • Add Secondary Zone: Please omit this parameter.
  • Update Secondary Zone: Required. Identifies a secondary zone by its system-defined ID.

ZoneType

Integer

ZoneComposition object > Zones array

The only supported value for this parameter is "2."

Response

The response to the above request includes an HTTP status code, response headers, and a response body.

Status Code

A status code indicates whether the request was successfully performed.

Response Headers

The response for this endpoint only includes standard HTTP response headers.

View common response headers.

Response Body

The response body for a successful request does not contain a response parameter.

Errors

The response body for an unsuccessful request may contain an error parameter that provides additional information.

View common error messages.

Sample Request and Response (JSON)

A sample JSON request is shown below.

PUT https://api.edgecast.com/v2/mcc/customers/0001/dns/secondarygroup?id=450 HTTP/1.1

Authorization: TOK:12345678-1234-1234-1234-1234567890ab

Accept: application/json

Content-Type: application/json

Host: api.edgecast.com

Content-Length: 696

{
	"Id": 450,
	"Name": "My Secondary Zone Group 2",
	"ZoneComposition": {
		"MasterGroupId": 75,
		"MasterServerTsigs": [{
				"MasterServer": {
					"Id": 123,
					"IpAddress": "101.111.12.25",
					"Name": "MNS for external sites"
				},
				"Tsig": {
					"Id": 45,
					"Alias": "My TSIG Key",
					"KeyName": "Key4MNSES",
					"KeyValue": "1234567890abcdefghijkl",
					"AlgorithmId": 1,
					"AlgorithmName": "HMAC-MD5"
				}
			}
		],
		"Zones": [{
				"Comment": "",
				"DomainName": "example.com.",
				"FixedZoneId": 12345,
				"IsCustomerOwned": true,
				"Status": 1,
				"StatusName": "Active",
				"ZoneId": 78901,
				"ZoneType": 2
			}
		]
	}
}		

A sample JSON response is shown below.

HTTP/1.1 200 OK

Cache-Control: private

Content-Type: application/json; charset=utf-8

Date: Thu, 15 Apr 2021 12:00:00 GMT

Content-Length: 696

{
	"Id": 450,
	"Name": "My Secondary Zone Group 2",
	"ZoneComposition": {
		"MasterGroupId": 75,
		"MasterServerTsigs": [{
				"MasterServer": {
					"Id": 123,
					"IpAddress": "101.111.12.25",
					"Name": "MNS for external sites"
				},
				"Tsig": {
					"Id": 45,
					"Alias": "My TSIG Key",
					"KeyName": "Key4MNSES",
					"KeyValue": "1234567890abcdefghijkl",
					"AlgorithmId": 1,
					"AlgorithmName": "HMAC-MD5"
				}
			}
		],
		"Zones": [{
				"Comment": "",
				"DomainName": "example.com.",
				"FixedZoneId": 12345,
				"IsCustomerOwned": true,
				"Status": 1,
				"StatusName": "Active",
				"ZoneId": 78901,
				"ZoneType": 2
			}
		]
	}
}