<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="dns_v1.html">Cloud DNS API</a> . <a href="dns_v1.managedZoneOperations.html">managedZoneOperations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#get">get(project, managedZone, operation, clientOperationId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Fetches the representation of an existing Operation.</p>
<p class="toc_element">
  <code><a href="#list">list(project, managedZone, maxResults=None, pageToken=None, sortBy=None, x__xgafv=None)</a></code></p>
<p class="firstline">Enumerates Operations for the given ManagedZone.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="get">get(project, managedZone, operation, clientOperationId=None, x__xgafv=None)</code>
  <pre>Fetches the representation of an existing Operation.

Args:
  project: string, Identifies the project addressed by this request. (required)
  managedZone: string, Identifies the managed zone addressed by this request. (required)
  operation: string, Identifies the operation addressed by this request (ID of the operation). (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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

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.
  &quot;dnsKeyContext&quot;: { # Only populated if the operation targeted a DnsKey (output only).
    &quot;newValue&quot;: { # A DNSSEC key pair. # The post-operation DnsKey resource.
      &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
      &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
      &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the resource&#x27;s function.
      &quot;digests&quot;: [ # 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.
        {
          &quot;digest&quot;: &quot;A String&quot;, # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
          &quot;type&quot;: &quot;A String&quot;, # Specifies the algorithm used to calculate this digest.
        },
      ],
      &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
      &quot;isActive&quot;: True or False, # Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
      &quot;keyLength&quot;: 42, # Length of the key in bits. Specified at creation time, and then immutable.
      &quot;keyTag&quot;: 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&#x27;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.
      &quot;kind&quot;: &quot;dns#dnsKey&quot;,
      &quot;publicKey&quot;: &quot;A String&quot;, # Base64 encoded public half of this key. Output only.
      &quot;type&quot;: &quot;A String&quot;, # One of &quot;KEY_SIGNING&quot; or &quot;ZONE_SIGNING&quot;. Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.
    },
    &quot;oldValue&quot;: { # A DNSSEC key pair. # The pre-operation DnsKey resource.
      &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
      &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
      &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the resource&#x27;s function.
      &quot;digests&quot;: [ # 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.
        {
          &quot;digest&quot;: &quot;A String&quot;, # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
          &quot;type&quot;: &quot;A String&quot;, # Specifies the algorithm used to calculate this digest.
        },
      ],
      &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
      &quot;isActive&quot;: True or False, # Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
      &quot;keyLength&quot;: 42, # Length of the key in bits. Specified at creation time, and then immutable.
      &quot;keyTag&quot;: 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&#x27;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.
      &quot;kind&quot;: &quot;dns#dnsKey&quot;,
      &quot;publicKey&quot;: &quot;A String&quot;, # Base64 encoded public half of this key. Output only.
      &quot;type&quot;: &quot;A String&quot;, # One of &quot;KEY_SIGNING&quot; or &quot;ZONE_SIGNING&quot;. Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.
    },
  },
  &quot;id&quot;: &quot;A String&quot;, # 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)
  &quot;kind&quot;: &quot;dns#operation&quot;,
  &quot;startTime&quot;: &quot;A String&quot;, # The time that this operation was started by the server. This is in RFC3339 text format (output only).
  &quot;status&quot;: &quot;A String&quot;, # Status of the operation. Can be one of the following: &quot;PENDING&quot; or &quot;DONE&quot; (output only). A status of &quot;DONE&quot; means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
  &quot;type&quot;: &quot;A String&quot;, # Type of the operation. Operations include insert, update, and delete (output only).
  &quot;user&quot;: &quot;A String&quot;, # User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)
  &quot;zoneContext&quot;: { # Only populated if the operation targeted a ManagedZone (output only).
    &quot;newValue&quot;: { # 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.
      &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
      &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the managed zone&#x27;s function.
      &quot;dnsName&quot;: &quot;A String&quot;, # The DNS name of this managed zone, for instance &quot;example.com.&quot;.
      &quot;dnssecConfig&quot;: { # DNSSEC configuration.
        &quot;defaultKeySpecs&quot;: [ # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.
          { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
            &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key.
            &quot;keyLength&quot;: 42, # Length of the keys in bits.
            &quot;keyType&quot;: &quot;A String&quot;, # 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, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.
            &quot;kind&quot;: &quot;dns#dnsKeySpec&quot;,
          },
        ],
        &quot;kind&quot;: &quot;dns#managedZoneDnsSecConfig&quot;,
        &quot;nonExistence&quot;: &quot;A String&quot;, # Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.
        &quot;state&quot;: &quot;A String&quot;, # Specifies whether DNSSEC is enabled, and what mode it is in.
      },
      &quot;forwardingConfig&quot;: { # The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to.
        &quot;kind&quot;: &quot;dns#managedZoneForwardingConfig&quot;,
        &quot;targetNameServers&quot;: [ # List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.
          {
            &quot;forwardingPath&quot;: &quot;A String&quot;, # Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.
            &quot;ipv4Address&quot;: &quot;A String&quot;, # IPv4 address of a target name server.
            &quot;kind&quot;: &quot;dns#managedZoneForwardingConfigNameServerTarget&quot;,
          },
        ],
      },
      &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only)
      &quot;kind&quot;: &quot;dns#managedZone&quot;,
      &quot;labels&quot;: { # User labels.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;name&quot;: &quot;A String&quot;, # 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.
      &quot;nameServerSet&quot;: &quot;A String&quot;, # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.
      &quot;nameServers&quot;: [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
        &quot;A String&quot;,
      ],
      &quot;peeringConfig&quot;: { # The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with.
        &quot;kind&quot;: &quot;dns#managedZonePeeringConfig&quot;,
        &quot;targetNetwork&quot;: { # The network with which to peer.
          &quot;deactivateTime&quot;: &quot;A String&quot;, # The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.
          &quot;kind&quot;: &quot;dns#managedZonePeeringConfigTargetNetwork&quot;,
          &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
        },
      },
      &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
        &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
          {
            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigNetwork&quot;,
            &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to bind to. Format this URL like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
          },
        ],
      },
      &quot;reverseLookupConfig&quot;: { # The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config.
        &quot;kind&quot;: &quot;dns#managedZoneReverseLookupConfig&quot;,
      },
      &quot;serviceDirectoryConfig&quot;: { # Contains information about Service Directory-backed zones. # This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones.
        &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfig&quot;,
        &quot;namespace&quot;: { # Contains information about the namespace associated with the zone.
          &quot;deletionTime&quot;: &quot;A String&quot;, # The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.
          &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfigNamespace&quot;,
          &quot;namespaceUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the namespace associated with the zone. Format must be https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}
        },
      },
      &quot;visibility&quot;: &quot;A String&quot;, # The zone&#x27;s visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
    },
    &quot;oldValue&quot;: { # 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.
      &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
      &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the managed zone&#x27;s function.
      &quot;dnsName&quot;: &quot;A String&quot;, # The DNS name of this managed zone, for instance &quot;example.com.&quot;.
      &quot;dnssecConfig&quot;: { # DNSSEC configuration.
        &quot;defaultKeySpecs&quot;: [ # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.
          { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
            &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key.
            &quot;keyLength&quot;: 42, # Length of the keys in bits.
            &quot;keyType&quot;: &quot;A String&quot;, # 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, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.
            &quot;kind&quot;: &quot;dns#dnsKeySpec&quot;,
          },
        ],
        &quot;kind&quot;: &quot;dns#managedZoneDnsSecConfig&quot;,
        &quot;nonExistence&quot;: &quot;A String&quot;, # Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.
        &quot;state&quot;: &quot;A String&quot;, # Specifies whether DNSSEC is enabled, and what mode it is in.
      },
      &quot;forwardingConfig&quot;: { # The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to.
        &quot;kind&quot;: &quot;dns#managedZoneForwardingConfig&quot;,
        &quot;targetNameServers&quot;: [ # List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.
          {
            &quot;forwardingPath&quot;: &quot;A String&quot;, # Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.
            &quot;ipv4Address&quot;: &quot;A String&quot;, # IPv4 address of a target name server.
            &quot;kind&quot;: &quot;dns#managedZoneForwardingConfigNameServerTarget&quot;,
          },
        ],
      },
      &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only)
      &quot;kind&quot;: &quot;dns#managedZone&quot;,
      &quot;labels&quot;: { # User labels.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;name&quot;: &quot;A String&quot;, # 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.
      &quot;nameServerSet&quot;: &quot;A String&quot;, # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.
      &quot;nameServers&quot;: [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
        &quot;A String&quot;,
      ],
      &quot;peeringConfig&quot;: { # The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with.
        &quot;kind&quot;: &quot;dns#managedZonePeeringConfig&quot;,
        &quot;targetNetwork&quot;: { # The network with which to peer.
          &quot;deactivateTime&quot;: &quot;A String&quot;, # The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.
          &quot;kind&quot;: &quot;dns#managedZonePeeringConfigTargetNetwork&quot;,
          &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
        },
      },
      &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
        &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
        &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
          {
            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigNetwork&quot;,
            &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to bind to. Format this URL like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
          },
        ],
      },
      &quot;reverseLookupConfig&quot;: { # The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config.
        &quot;kind&quot;: &quot;dns#managedZoneReverseLookupConfig&quot;,
      },
      &quot;serviceDirectoryConfig&quot;: { # Contains information about Service Directory-backed zones. # This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones.
        &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfig&quot;,
        &quot;namespace&quot;: { # Contains information about the namespace associated with the zone.
          &quot;deletionTime&quot;: &quot;A String&quot;, # The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.
          &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfigNamespace&quot;,
          &quot;namespaceUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the namespace associated with the zone. Format must be https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}
        },
      },
      &quot;visibility&quot;: &quot;A String&quot;, # The zone&#x27;s visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
    },
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(project, managedZone, maxResults=None, pageToken=None, sortBy=None, x__xgafv=None)</code>
  <pre>Enumerates Operations for the given ManagedZone.

Args:
  project: string, Identifies the project addressed by this request. (required)
  managedZone: string, Identifies the managed zone addressed by this request. (required)
  maxResults: integer, Optional. Maximum number of results to be returned. If unspecified, the server decides how many results to return.
  pageToken: string, Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.
  sortBy: string, Sorting criterion. The only supported values are START_TIME and ID.
    Allowed values
      startTime - 
      id - 
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;header&quot;: { # Elements common to every response.
    &quot;operationId&quot;: &quot;A String&quot;, # 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).
  },
  &quot;kind&quot;: &quot;dns#managedZoneOperationsListResponse&quot;, # Type of resource.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # 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. This lets you 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 are an inconsistent view of the collection. You cannot retrieve a consistent snapshot of a collection larger than the maximum page size.
  &quot;operations&quot;: [ # The operation resources.
    { # 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.
      &quot;dnsKeyContext&quot;: { # Only populated if the operation targeted a DnsKey (output only).
        &quot;newValue&quot;: { # A DNSSEC key pair. # The post-operation DnsKey resource.
          &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
          &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
          &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the resource&#x27;s function.
          &quot;digests&quot;: [ # 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.
            {
              &quot;digest&quot;: &quot;A String&quot;, # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              &quot;type&quot;: &quot;A String&quot;, # Specifies the algorithm used to calculate this digest.
            },
          ],
          &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
          &quot;isActive&quot;: True or False, # Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          &quot;keyLength&quot;: 42, # Length of the key in bits. Specified at creation time, and then immutable.
          &quot;keyTag&quot;: 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&#x27;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.
          &quot;kind&quot;: &quot;dns#dnsKey&quot;,
          &quot;publicKey&quot;: &quot;A String&quot;, # Base64 encoded public half of this key. Output only.
          &quot;type&quot;: &quot;A String&quot;, # One of &quot;KEY_SIGNING&quot; or &quot;ZONE_SIGNING&quot;. Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.
        },
        &quot;oldValue&quot;: { # A DNSSEC key pair. # The pre-operation DnsKey resource.
          &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time.
          &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created in the control plane. This is in RFC3339 text format. Output only.
          &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the resource&#x27;s function.
          &quot;digests&quot;: [ # 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.
            {
              &quot;digest&quot;: &quot;A String&quot;, # The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
              &quot;type&quot;: &quot;A String&quot;, # Specifies the algorithm used to calculate this digest.
            },
          ],
          &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only).
          &quot;isActive&quot;: True or False, # Active keys are used to sign subsequent changes to the ManagedZone. Inactive keys are still present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
          &quot;keyLength&quot;: 42, # Length of the key in bits. Specified at creation time, and then immutable.
          &quot;keyTag&quot;: 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&#x27;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.
          &quot;kind&quot;: &quot;dns#dnsKey&quot;,
          &quot;publicKey&quot;: &quot;A String&quot;, # Base64 encoded public half of this key. Output only.
          &quot;type&quot;: &quot;A String&quot;, # One of &quot;KEY_SIGNING&quot; or &quot;ZONE_SIGNING&quot;. Keys of type KEY_SIGNING have the Secure Entry Point flag set and, when active, are used to sign only resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, and this key is used to sign only resource record sets of other types. Immutable after creation time.
        },
      },
      &quot;id&quot;: &quot;A String&quot;, # 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)
      &quot;kind&quot;: &quot;dns#operation&quot;,
      &quot;startTime&quot;: &quot;A String&quot;, # The time that this operation was started by the server. This is in RFC3339 text format (output only).
      &quot;status&quot;: &quot;A String&quot;, # Status of the operation. Can be one of the following: &quot;PENDING&quot; or &quot;DONE&quot; (output only). A status of &quot;DONE&quot; means that the request to update the authoritative servers has been sent, but the servers might not be updated yet.
      &quot;type&quot;: &quot;A String&quot;, # Type of the operation. Operations include insert, update, and delete (output only).
      &quot;user&quot;: &quot;A String&quot;, # User who requested the operation, for example: user@example.com. cloud-dns-system for operations automatically done by the system. (output only)
      &quot;zoneContext&quot;: { # Only populated if the operation targeted a ManagedZone (output only).
        &quot;newValue&quot;: { # 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.
          &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
          &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the managed zone&#x27;s function.
          &quot;dnsName&quot;: &quot;A String&quot;, # The DNS name of this managed zone, for instance &quot;example.com.&quot;.
          &quot;dnssecConfig&quot;: { # DNSSEC configuration.
            &quot;defaultKeySpecs&quot;: [ # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.
              { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key.
                &quot;keyLength&quot;: 42, # Length of the keys in bits.
                &quot;keyType&quot;: &quot;A String&quot;, # 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, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.
                &quot;kind&quot;: &quot;dns#dnsKeySpec&quot;,
              },
            ],
            &quot;kind&quot;: &quot;dns#managedZoneDnsSecConfig&quot;,
            &quot;nonExistence&quot;: &quot;A String&quot;, # Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.
            &quot;state&quot;: &quot;A String&quot;, # Specifies whether DNSSEC is enabled, and what mode it is in.
          },
          &quot;forwardingConfig&quot;: { # The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to.
            &quot;kind&quot;: &quot;dns#managedZoneForwardingConfig&quot;,
            &quot;targetNameServers&quot;: [ # List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.
              {
                &quot;forwardingPath&quot;: &quot;A String&quot;, # Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.
                &quot;ipv4Address&quot;: &quot;A String&quot;, # IPv4 address of a target name server.
                &quot;kind&quot;: &quot;dns#managedZoneForwardingConfigNameServerTarget&quot;,
              },
            ],
          },
          &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only)
          &quot;kind&quot;: &quot;dns#managedZone&quot;,
          &quot;labels&quot;: { # User labels.
            &quot;a_key&quot;: &quot;A String&quot;,
          },
          &quot;name&quot;: &quot;A String&quot;, # 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.
          &quot;nameServerSet&quot;: &quot;A String&quot;, # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.
          &quot;nameServers&quot;: [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
            &quot;A String&quot;,
          ],
          &quot;peeringConfig&quot;: { # The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with.
            &quot;kind&quot;: &quot;dns#managedZonePeeringConfig&quot;,
            &quot;targetNetwork&quot;: { # The network with which to peer.
              &quot;deactivateTime&quot;: &quot;A String&quot;, # The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.
              &quot;kind&quot;: &quot;dns#managedZonePeeringConfigTargetNetwork&quot;,
              &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
            },
          },
          &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
            &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
              {
                &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigNetwork&quot;,
                &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to bind to. Format this URL like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
              },
            ],
          },
          &quot;reverseLookupConfig&quot;: { # The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config.
            &quot;kind&quot;: &quot;dns#managedZoneReverseLookupConfig&quot;,
          },
          &quot;serviceDirectoryConfig&quot;: { # Contains information about Service Directory-backed zones. # This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones.
            &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfig&quot;,
            &quot;namespace&quot;: { # Contains information about the namespace associated with the zone.
              &quot;deletionTime&quot;: &quot;A String&quot;, # The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.
              &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfigNamespace&quot;,
              &quot;namespaceUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the namespace associated with the zone. Format must be https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}
            },
          },
          &quot;visibility&quot;: &quot;A String&quot;, # The zone&#x27;s visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
        },
        &quot;oldValue&quot;: { # 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.
          &quot;creationTime&quot;: &quot;A String&quot;, # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
          &quot;description&quot;: &quot;A String&quot;, # A mutable string of at most 1024 characters associated with this resource for the user&#x27;s convenience. Has no effect on the managed zone&#x27;s function.
          &quot;dnsName&quot;: &quot;A String&quot;, # The DNS name of this managed zone, for instance &quot;example.com.&quot;.
          &quot;dnssecConfig&quot;: { # DNSSEC configuration.
            &quot;defaultKeySpecs&quot;: [ # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can only be changed while the state is OFF.
              { # Parameters for DnsKey key generation. Used for generating initial keys for a new ManagedZone and as default when adding a new DnsKey.
                &quot;algorithm&quot;: &quot;A String&quot;, # String mnemonic specifying the DNSSEC algorithm of this key.
                &quot;keyLength&quot;: 42, # Length of the keys in bits.
                &quot;keyType&quot;: &quot;A String&quot;, # 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, are only used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and are used to sign all other types of resource record sets.
                &quot;kind&quot;: &quot;dns#dnsKeySpec&quot;,
              },
            ],
            &quot;kind&quot;: &quot;dns#managedZoneDnsSecConfig&quot;,
            &quot;nonExistence&quot;: &quot;A String&quot;, # Specifies the mechanism for authenticated denial-of-existence responses. Can only be changed while the state is OFF.
            &quot;state&quot;: &quot;A String&quot;, # Specifies whether DNSSEC is enabled, and what mode it is in.
          },
          &quot;forwardingConfig&quot;: { # The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to.
            &quot;kind&quot;: &quot;dns#managedZoneForwardingConfig&quot;,
            &quot;targetNameServers&quot;: [ # List of target name servers to forward to. Cloud DNS selects the best available name server if more than one target is given.
              {
                &quot;forwardingPath&quot;: &quot;A String&quot;, # Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 addresses go to the VPC network, non-RFC1918 addresses go to the internet. When set to PRIVATE, Cloud DNS always sends queries through the VPC network for this target.
                &quot;ipv4Address&quot;: &quot;A String&quot;, # IPv4 address of a target name server.
                &quot;kind&quot;: &quot;dns#managedZoneForwardingConfigNameServerTarget&quot;,
              },
            ],
          },
          &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server (output only)
          &quot;kind&quot;: &quot;dns#managedZone&quot;,
          &quot;labels&quot;: { # User labels.
            &quot;a_key&quot;: &quot;A String&quot;,
          },
          &quot;name&quot;: &quot;A String&quot;, # 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.
          &quot;nameServerSet&quot;: &quot;A String&quot;, # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet is a set of DNS name servers that all host the same ManagedZones. Most users leave this field unset. If you need to use this field, contact your account team.
          &quot;nameServers&quot;: [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
            &quot;A String&quot;,
          ],
          &quot;peeringConfig&quot;: { # The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with.
            &quot;kind&quot;: &quot;dns#managedZonePeeringConfig&quot;,
            &quot;targetNetwork&quot;: { # The network with which to peer.
              &quot;deactivateTime&quot;: &quot;A String&quot;, # The time at which the zone was deactivated, in RFC 3339 date-time format. An empty string indicates that the peering connection is active. The producer network can deactivate a zone. The zone is automatically deactivated if the producer network that the zone targeted is deleted. Output only.
              &quot;kind&quot;: &quot;dns#managedZonePeeringConfigTargetNetwork&quot;,
              &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to forward queries to. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
            },
          },
          &quot;privateVisibilityConfig&quot;: { # For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from.
            &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfig&quot;,
            &quot;networks&quot;: [ # The list of VPC networks that can see this zone.
              {
                &quot;kind&quot;: &quot;dns#managedZonePrivateVisibilityConfigNetwork&quot;,
                &quot;networkUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the VPC network to bind to. Format this URL like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
              },
            ],
          },
          &quot;reverseLookupConfig&quot;: { # The presence of this field indicates that this is a managed reverse lookup zone and Cloud DNS resolves reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under private_visibility_config.
            &quot;kind&quot;: &quot;dns#managedZoneReverseLookupConfig&quot;,
          },
          &quot;serviceDirectoryConfig&quot;: { # Contains information about Service Directory-backed zones. # This field links to the associated service directory namespace. Do not set this field for public zones or forwarding zones.
            &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfig&quot;,
            &quot;namespace&quot;: { # Contains information about the namespace associated with the zone.
              &quot;deletionTime&quot;: &quot;A String&quot;, # The time that the namespace backing this zone was deleted; an empty string if it still exists. This is in RFC3339 text format. Output only.
              &quot;kind&quot;: &quot;dns#managedZoneServiceDirectoryConfigNamespace&quot;,
              &quot;namespaceUrl&quot;: &quot;A String&quot;, # The fully qualified URL of the namespace associated with the zone. Format must be https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace}
            },
          },
          &quot;visibility&quot;: &quot;A String&quot;, # The zone&#x27;s visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.
        },
      },
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>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 &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>