# Google Cloud DNS API . managedZones

## Instance Methods

Create a new ManagedZone.

Delete a previously created ManagedZone.

Fetch the representation of an existing ManagedZone.

Enumerate ManagedZones that have been created but not yet deleted.

Retrieves the next page of results.

Apply a partial update to an existing ManagedZone.

Update an existing ManagedZone.

### Method Details

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

    Create a new ManagedZone.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
      "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
      "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
      "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
        "A String",
      ],
      "labels": { # User labels.
        "a_key": "A String",
      },
      "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
      "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
      "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
      "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
        "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
        "networks": [ # The list of VPC networks that can see this zone.
          {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
            "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
          },
        ],
      },
      "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
      "dnssecConfig": { # DNSSEC configuration.
        "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
        "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
          { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
            "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
            "keyLength": 42, # Length of the keys in bits.
            "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
          },
        ],
        "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
        "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
      },
      "id": "A String", # Unique identifier for the resource; defined by the server (output only)
      "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
    }

      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 zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
        "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
        "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
        "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
          "A String",
        ],
        "labels": { # User labels.
          "a_key": "A String",
        },
        "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
        "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
        "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
        "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
          "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
          "networks": [ # The list of VPC networks that can see this zone.
            {
              "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
              "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
            },
          ],
        },
        "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
        "dnssecConfig": { # DNSSEC configuration.
          "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
          "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
            { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
              "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
              "keyLength": 42, # Length of the keys in bits.
              "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
              "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
            },
          ],
          "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
          "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
        },
        "id": "A String", # Unique identifier for the resource; defined by the server (output only)
        "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
      }

`delete(project, managedZone, clientOperationId=None)`

    Delete a previously created ManagedZone.

    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)
      clientOperationId: string, For mutating operation requests only. An optional identifier specified by the client. Must be unique for operation resources in the Operations collection.

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

    Fetch the representation of an existing ManagedZone.

    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)
      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 zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
        "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
        "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
        "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
          "A String",
        ],
        "labels": { # User labels.
          "a_key": "A String",
        },
        "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
        "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
        "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
        "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
          "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
          "networks": [ # The list of VPC networks that can see this zone.
            {
              "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
              "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
            },
          ],
        },
        "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
        "dnssecConfig": { # DNSSEC configuration.
          "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
          "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
            { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
              "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
              "keyLength": 42, # Length of the keys in bits.
              "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
              "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
            },
          ],
          "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
          "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
        },
        "id": "A String", # Unique identifier for the resource; defined by the server (output only)
        "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
      }

`list(project, pageToken=None, maxResults=None, dnsName=None)`

    Enumerate ManagedZones that have been created but not yet deleted.

    Args:
      project: string, Identifies the project addressed by this request. (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.
      dnsName: string, Restricts the list to return only zones with this domain name.

    Returns:
      An object of the form:

        {
        "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 page 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 consistent snapshot of a collection 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#managedZonesListResponse", # Type of resource.
        "managedZones": [ # The managed zone resources.
          { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
            "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
            "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
              "A String",
            ],
            "labels": { # User labels.
              "a_key": "A String",
            },
            "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
            "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
            "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
            "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
              "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
              "networks": [ # The list of VPC networks that can see this zone.
                {
                  "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
                  "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
                },
              ],
            },
            "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
            "dnssecConfig": { # DNSSEC configuration.
              "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
              "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
                { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                  "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
                  "keyLength": 42, # Length of the keys in bits.
                  "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
                  "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
                },
              ],
              "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
              "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
            },
            "id": "A String", # Unique identifier for the resource; defined by the server (output only)
            "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
          },
        ],
      }

`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.

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

    Apply a partial update to an existing ManagedZone.

    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 zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
      "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
      "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
      "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
        "A String",
      ],
      "labels": { # User labels.
        "a_key": "A String",
      },
      "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
      "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
      "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
      "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
        "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
        "networks": [ # The list of VPC networks that can see this zone.
          {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
            "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
          },
        ],
      },
      "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
      "dnssecConfig": { # DNSSEC configuration.
        "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
        "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
          { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
            "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
            "keyLength": 42, # Length of the keys in bits.
            "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
          },
        ],
        "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
        "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
      },
      "id": "A String", # Unique identifier for the resource; defined by the server (output only)
      "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
    }

      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:

        { # An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.
        "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (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#operation", # Identifies what kind of resource this is. Value: the fixed string "dns#operation".
        "dnsKeyContext": { # Only populated if the operation targeted a DnsKey (output only).
          "newValue": { # A DNSSEC key pair. # The post-operation DnsKey resource.
            "keyTag": 42, # The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.
            "kind": "dns#dnsKey", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKey".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
            "keyLength": 42, # Length of the key in bits. Specified at creation time then immutable.
            "creationTime": "A String", # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
            "publicKey": "A String", # Base64 encoded public half of this key. Output only.
            "type": "A String", # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.
            "digests": [ # Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.
              {
                "type": "A String", # Specifies the algorithm used to calculate this digest.
                "digest": "A String", # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              },
            ],
            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
            "isActive": True or False, # Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          },
          "oldValue": { # A DNSSEC key pair. # The pre-operation DnsKey resource.
            "keyTag": 42, # The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.
            "kind": "dns#dnsKey", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKey".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
            "keyLength": 42, # Length of the key in bits. Specified at creation time then immutable.
            "creationTime": "A String", # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
            "publicKey": "A String", # Base64 encoded public half of this key. Output only.
            "type": "A String", # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.
            "digests": [ # Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.
              {
                "type": "A String", # Specifies the algorithm used to calculate this digest.
                "digest": "A String", # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              },
            ],
            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
            "isActive": True or False, # Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          },
        },
        "zoneContext": { # Only populated if the operation targeted a ManagedZone (output only).
          "newValue": { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service. # The post-operation ManagedZone resource.
            "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
            "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
              "A String",
            ],
            "labels": { # User labels.
              "a_key": "A String",
            },
            "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
            "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
            "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
            "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
              "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
              "networks": [ # The list of VPC networks that can see this zone.
                {
                  "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
                  "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
                },
              ],
            },
            "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
            "dnssecConfig": { # DNSSEC configuration.
              "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
              "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
                { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                  "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
                  "keyLength": 42, # Length of the keys in bits.
                  "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
                  "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
                },
              ],
              "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
              "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
            },
            "id": "A String", # Unique identifier for the resource; defined by the server (output only)
            "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
          },
          "oldValue": { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service. # The pre-operation ManagedZone resource.
            "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
            "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
              "A String",
            ],
            "labels": { # User labels.
              "a_key": "A String",
            },
            "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
            "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
            "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
            "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
              "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
              "networks": [ # The list of VPC networks that can see this zone.
                {
                  "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
                  "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
                },
              ],
            },
            "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
            "dnssecConfig": { # DNSSEC configuration.
              "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
              "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
                { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                  "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
                  "keyLength": 42, # Length of the keys in bits.
                  "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
                  "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
                },
              ],
              "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
              "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
            },
            "id": "A String", # Unique identifier for the resource; defined by the server (output only)
            "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
          },
        },
        "user": "A String", # User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)
        "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format (output only).
        "type": "A String", # Type of the operation. Operations include insert, update, and delete (output only).
        "id": "A String", # Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)
      }

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

    Update an existing ManagedZone.

    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 zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
      "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
      "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
      "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
        "A String",
      ],
      "labels": { # User labels.
        "a_key": "A String",
      },
      "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
      "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
      "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
      "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
        "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
        "networks": [ # The list of VPC networks that can see this zone.
          {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
            "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
          },
        ],
      },
      "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
      "dnssecConfig": { # DNSSEC configuration.
        "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
        "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
          { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
            "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
            "keyLength": 42, # Length of the keys in bits.
            "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
          },
        ],
        "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
        "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
      },
      "id": "A String", # Unique identifier for the resource; defined by the server (output only)
      "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
    }

      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:

        { # An operation represents a successful mutation performed on a Cloud DNS resource. Operations provide: - An audit log of server resource mutations. - A way to recover/retry API calls in the case where the response is never received by the caller. Use the caller specified client_operation_id.
        "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (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#operation", # Identifies what kind of resource this is. Value: the fixed string "dns#operation".
        "dnsKeyContext": { # Only populated if the operation targeted a DnsKey (output only).
          "newValue": { # A DNSSEC key pair. # The post-operation DnsKey resource.
            "keyTag": 42, # The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.
            "kind": "dns#dnsKey", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKey".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
            "keyLength": 42, # Length of the key in bits. Specified at creation time then immutable.
            "creationTime": "A String", # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
            "publicKey": "A String", # Base64 encoded public half of this key. Output only.
            "type": "A String", # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.
            "digests": [ # Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.
              {
                "type": "A String", # Specifies the algorithm used to calculate this digest.
                "digest": "A String", # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              },
            ],
            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
            "isActive": True or False, # Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          },
          "oldValue": { # A DNSSEC key pair. # The pre-operation DnsKey resource.
            "keyTag": 42, # The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B. Output only.
            "kind": "dns#dnsKey", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKey".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the resource's function.
            "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
            "keyLength": 42, # Length of the key in bits. Specified at creation time then immutable.
            "creationTime": "A String", # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
            "publicKey": "A String", # Base64 encoded public half of this key. Output only.
            "type": "A String", # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, will be used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag will be cleared and this key will be used to sign only resource record sets of other types. Immutable after creation time.
            "digests": [ # Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Output only.
              {
                "type": "A String", # Specifies the algorithm used to calculate this digest.
                "digest": "A String", # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              },
            ],
            "id": "A String", # Unique identifier for the resource; defined by the server (output only).
            "isActive": True or False, # Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          },
        },
        "zoneContext": { # Only populated if the operation targeted a ManagedZone (output only).
          "newValue": { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service. # The post-operation ManagedZone resource.
            "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
            "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
              "A String",
            ],
            "labels": { # User labels.
              "a_key": "A String",
            },
            "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
            "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
            "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
            "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
              "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
              "networks": [ # The list of VPC networks that can see this zone.
                {
                  "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
                  "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
                },
              ],
            },
            "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
            "dnssecConfig": { # DNSSEC configuration.
              "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
              "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
                { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                  "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
                  "keyLength": 42, # Length of the keys in bits.
                  "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
                  "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
                },
              ],
              "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
              "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
            },
            "id": "A String", # Unique identifier for the resource; defined by the server (output only)
            "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
          },
          "oldValue": { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service. # The pre-operation ManagedZone resource.
            "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
            "description": "A String", # A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the managed zone's function.
            "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
              "A String",
            ],
            "labels": { # User labels.
              "a_key": "A String",
            },
            "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
            "visibility": "A String", # The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
            "nameServerSet": "A String", # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users will leave this field unset.
            "privateVisibilityConfig": { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
              "kind": "dns#managedZonePrivateVisibilityConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfig".
              "networks": [ # The list of VPC networks that can see this zone.
                {
                  "kind": "dns#managedZonePrivateVisibilityConfigNetwork", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZonePrivateVisibilityConfigNetwork".
                  "networkUrl": "A String", # The fully qualified URL of the VPC network to bind to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
                },
              ],
            },
            "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
            "dnssecConfig": { # DNSSEC configuration.
              "kind": "dns#managedZoneDnsSecConfig", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZoneDnsSecConfig".
              "defaultKeySpecs": [ # Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. Output only while state is not OFF.
                { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                  "keyType": "A String", # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets.
                  "keyLength": 42, # Length of the keys in bits.
                  "kind": "dns#dnsKeySpec", # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKeySpec".
                  "algorithm": "A String", # String mnemonic specifying the DNSSEC algorithm of this key.
                },
              ],
              "state": "A String", # Specifies whether DNSSEC is enabled, and what mode it is in.
              "nonExistence": "A String", # Specifies the mechanism used to provide authenticated denial-of-existence responses. Output only while state is not OFF.
            },
            "id": "A String", # Unique identifier for the resource; defined by the server (output only)
            "name": "A String", # User assigned name for this resource. Must be unique within the project. The name must be 1-63 characters long, must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes.
          },
        },
        "user": "A String", # User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)
        "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format (output only).
        "type": "A String", # Type of the operation. Operations include insert, update, and delete (output only).
        "id": "A String", # Unique identifier for the resource. This is the client_operation_id if the client specified it when the mutation was initiated, otherwise, it is generated by the server. The name must be 1-63 characters long and match the regular expression [-a-z0-9]? (output only)
      }