Cloud DNS API, gRPC: DnsZoneService.UpdateRecordSets
Method with strict control for changing zone state. Returns error when:
- Deleted record is not found.
- Found record with matched type and name but different TTL or value.
- Attempted to add record with existing name and type.
Deletions happen first. If a record with the same name and type exists in both lists,
then the existing record will be deleted, and a new one added.
gRPC request
rpc UpdateRecordSets (UpdateRecordSetsRequest) returns (operation.Operation)
UpdateRecordSetsRequest
{
"dns_zone_id": "string",
"deletions": [
{
"name": "string",
"type": "string",
"ttl": "int64",
"data": [
"string"
]
}
],
"additions": [
{
"name": "string",
"type": "string",
"ttl": "int64",
"data": [
"string"
]
}
]
}
Field |
Description |
dns_zone_id |
string ID of the DNS zone to update record sets in. To get a DNS zone ID, make a DnsZoneService.List request. |
deletions[] |
List of record sets to delete. |
additions[] |
List of record sets to add. |
RecordSet
A record set. For details about the concept, see Resource record.
Field |
Description |
name |
string Domain name. |
type |
string Record type. |
ttl |
int64 Time to live in seconds. |
data[] |
string Data of the record set. |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": "UpdateRecordSetsMetadata",
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"additions": [
{
"name": "string",
"type": "string",
"ttl": "int64",
"data": [
"string"
]
}
],
"deletions": [
{
"name": "string",
"type": "string",
"ttl": "int64",
"data": [
"string"
]
}
]
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
UpdateRecordSetsMetadata
Field |
Description |
Empty |
RecordSetDiff
Field |
Description |
additions[] |
List of record sets that were added |
deletions[] |
List of record sets that were deleted |
RecordSet
A record set. For details about the concept, see Resource record.
Field |
Description |
name |
string Domain name. |
type |
string Record type. |
ttl |
int64 Time to live in seconds. |
data[] |
string Data of the record set. |