# Google Cloud DNS API . changes

## Instance Methods

Atomically update the ResourceRecordSet collection.

Fetch the representation of an existing Change.

Enumerate Changes to a ResourceRecordSet collection.

Retrieves the next page of results.

### Method Details

`create(project, managedZone, body, clientOperationId=None)`

    Atomically update the ResourceRecordSet collection.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.
        "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
          { # A unit of data that will be returned by the DNS servers.
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
            "name": "A String", # For example, www.example.com.
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
          },
        ],
        "status": "A String", # Status of the operation (output only). A status of "done" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
        "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
        "isServing": True or False, # If the DNS queries for the zone will be served.
        "startTime": "A String", # The time that this operation was started by the server (output only). This is in RFC3339 text format.
        "additions": [ # Which ResourceRecordSets to add?
          { # A unit of data that will be returned by the DNS servers.
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
            "name": "A String", # For example, www.example.com.
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
          },
        ],
        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
      }

      clientOperationId: string, For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.

    Returns:
      An object of the form:

        { # A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.
          "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
            { # A unit of data that will be returned by the DNS servers.
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
              "name": "A String", # For example, www.example.com.
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
            },
          ],
          "status": "A String", # Status of the operation (output only). A status of "done" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
          "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
          "isServing": True or False, # If the DNS queries for the zone will be served.
          "startTime": "A String", # The time that this operation was started by the server (output only). This is in RFC3339 text format.
          "additions": [ # Which ResourceRecordSets to add?
            { # A unit of data that will be returned by the DNS servers.
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
              "name": "A String", # For example, www.example.com.
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
            },
          ],
          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
        }

`get(project, managedZone, changeId, clientOperationId=None)`

    Fetch the representation of an existing Change.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
      changeId: string, The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse. (required)
      clientOperationId: string, For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.

    Returns:
      An object of the form:

        { # A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.
          "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
            { # A unit of data that will be returned by the DNS servers.
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
              "name": "A String", # For example, www.example.com.
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
            },
          ],
          "status": "A String", # Status of the operation (output only). A status of "done" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
          "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
          "isServing": True or False, # If the DNS queries for the zone will be served.
          "startTime": "A String", # The time that this operation was started by the server (output only). This is in RFC3339 text format.
          "additions": [ # Which ResourceRecordSets to add?
            { # A unit of data that will be returned by the DNS servers.
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
              "name": "A String", # For example, www.example.com.
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
            },
          ],
          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
        }

`list(project, managedZone, pageToken=None, maxResults=None, sortBy=None, sortOrder=None)`

    Enumerate Changes to a ResourceRecordSet collection.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
      pageToken: string, Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.
      maxResults: integer, Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.
      sortBy: string, Sorting criterion. The only supported value is change sequence.
        Allowed values
          changeSequence -
      sortOrder: string, Sorting order direction: 'ascending' or 'descending'.

    Returns:
      An object of the form:

        { # The response to a request to enumerate Changes to a ResourceRecordSets collection.
        "nextPageToken": "A String", # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.
            #
            # In this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a "snapshot" of collections larger than the maximum page size.
        "header": { # Elements common to every response.
          "operationId": "A String", # For mutating operation requests that completed successfully. This is the client_operation_id if the client specified it, otherwise it is generated by the server (output only).
        },
        "kind": "dns#changesListResponse", # Type of resource.
        "changes": [ # The requested changes.
          { # A Change represents a set of ResourceRecordSet additions and deletions applied atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are modified by creating a new Change element in the Changes collection. In turn the Changes collection also records the past modifications to the ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is the sum effect of applying all Change elements in the Changes collection in sequence.
              "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
                { # A unit of data that will be returned by the DNS servers.
                  "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                    "A String",
                  ],
                  "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
                  "name": "A String", # For example, www.example.com.
                  "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
                  "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
                  "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                    "A String",
                  ],
                },
              ],
              "status": "A String", # Status of the operation (output only). A status of "done" means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
              "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
              "isServing": True or False, # If the DNS queries for the zone will be served.
              "startTime": "A String", # The time that this operation was started by the server (output only). This is in RFC3339 text format.
              "additions": [ # Which ResourceRecordSets to add?
                { # A unit of data that will be returned by the DNS servers.
                  "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                    "A String",
                  ],
                  "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
                  "name": "A String", # For example, www.example.com.
                  "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
                  "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
                  "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                    "A String",
                  ],
                },
              ],
              "id": "A String", # Unique identifier for the resource; defined by the server (output only).
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.