Cloud DNS API . policies

Instance Methods

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

Create a new Policy

delete(project, policy, clientOperationId=None, x__xgafv=None)

Delete a previously created Policy. Will fail if the policy is still being

get(project, policy, clientOperationId=None, x__xgafv=None)

Fetch the representation of an existing Policy.

list(project, pageToken=None, maxResults=None, x__xgafv=None)

Enumerate all Policies associated with a project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(project, policy, body=None, clientOperationId=None, x__xgafv=None)

Apply a partial update to an existing Policy.

update(project, policy, body=None, clientOperationId=None, x__xgafv=None)

Update an existing Policy.

Method Details

create(project, body=None, clientOperationId=None, x__xgafv=None)
Create a new Policy

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

{ # A policy is a collection of DNS rules applied to one or more Virtual Private
      # Cloud resources.
    "name": "A String", # User assigned name for this policy.
    "networks": [ # List of network names specifying networks to which this policy is applied.
      {
        "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}
        "kind": "dns#policyNetwork",
      },
    ],
    "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
        # specified, all DNS queries are forwarded to a name server that you
        # choose. Names such as .internal are not available when an alternative
        # name server is specified.
      "targetNameServers": [ # Sets an alternative name server for the associated networks. When
          # specified, all DNS queries are forwarded to a name server that you
          # choose. Names such as .internal are not available when an alternative
          # name server is specified.
        {
          "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
          "ipv4Address": "A String", # IPv4 address to forward to.
          "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
              # Cloud DNS will make forwarding decision based on address ranges,
              # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
              # Internet. When set to PRIVATE, Cloud DNS will always send queries
              # through VPC for this target
        },
      ],
      "kind": "dns#policyAlternativeNameServerConfig",
    },
    "kind": "dns#policy",
    "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
        # applications over VPN connections. When enabled, a virtual IP address will
        # be allocated from each of the sub-networks that are bound to this policy.
    "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
        # Defaults to no logging if not set.
    "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 policy's function.
    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
  }

  clientOperationId: string, For mutating operation requests only. An optional identifier
specified by the client. Must be unique for operation resources in the
Operations collection.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A policy is a collection of DNS rules applied to one or more Virtual Private
        # Cloud resources.
      "name": "A String", # User assigned name for this policy.
      "networks": [ # List of network names specifying networks to which this policy is applied.
        {
          "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}
          "kind": "dns#policyNetwork",
        },
      ],
      "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
          # specified, all DNS queries are forwarded to a name server that you
          # choose. Names such as .internal are not available when an alternative
          # name server is specified.
        "targetNameServers": [ # Sets an alternative name server for the associated networks. When
            # specified, all DNS queries are forwarded to a name server that you
            # choose. Names such as .internal are not available when an alternative
            # name server is specified.
          {
            "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
            "ipv4Address": "A String", # IPv4 address to forward to.
            "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
                # Cloud DNS will make forwarding decision based on address ranges,
                # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
                # Internet. When set to PRIVATE, Cloud DNS will always send queries
                # through VPC for this target
          },
        ],
        "kind": "dns#policyAlternativeNameServerConfig",
      },
      "kind": "dns#policy",
      "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
          # applications over VPN connections. When enabled, a virtual IP address will
          # be allocated from each of the sub-networks that are bound to this policy.
      "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
          # Defaults to no logging if not set.
      "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 policy's function.
      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
    }
delete(project, policy, clientOperationId=None, x__xgafv=None)
Delete a previously created Policy. Will fail if the policy is still being
referenced by a network.

Args:
  project: string, Identifies the project addressed by this request. (required)
  policy: string, User given friendly name of the policy addressed by this request. (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
get(project, policy, clientOperationId=None, x__xgafv=None)
Fetch the representation of an existing Policy.

Args:
  project: string, Identifies the project addressed by this request. (required)
  policy: string, User given friendly name of the policy addressed by this request. (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:

    { # A policy is a collection of DNS rules applied to one or more Virtual Private
        # Cloud resources.
      "name": "A String", # User assigned name for this policy.
      "networks": [ # List of network names specifying networks to which this policy is applied.
        {
          "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}
          "kind": "dns#policyNetwork",
        },
      ],
      "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
          # specified, all DNS queries are forwarded to a name server that you
          # choose. Names such as .internal are not available when an alternative
          # name server is specified.
        "targetNameServers": [ # Sets an alternative name server for the associated networks. When
            # specified, all DNS queries are forwarded to a name server that you
            # choose. Names such as .internal are not available when an alternative
            # name server is specified.
          {
            "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
            "ipv4Address": "A String", # IPv4 address to forward to.
            "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
                # Cloud DNS will make forwarding decision based on address ranges,
                # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
                # Internet. When set to PRIVATE, Cloud DNS will always send queries
                # through VPC for this target
          },
        ],
        "kind": "dns#policyAlternativeNameServerConfig",
      },
      "kind": "dns#policy",
      "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
          # applications over VPN connections. When enabled, a virtual IP address will
          # be allocated from each of the sub-networks that are bound to this policy.
      "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
          # Defaults to no logging if not set.
      "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 policy's function.
      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
    }
list(project, pageToken=None, maxResults=None, x__xgafv=None)
Enumerate all Policies associated with a project.

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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    "kind": "dns#policiesListResponse", # Type of resource.
    "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).
    },
    "policies": [ # The policy resources.
      { # A policy is a collection of DNS rules applied to one or more Virtual Private
            # Cloud resources.
          "name": "A String", # User assigned name for this policy.
          "networks": [ # List of network names specifying networks to which this policy is applied.
            {
              "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}
              "kind": "dns#policyNetwork",
            },
          ],
          "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
              # specified, all DNS queries are forwarded to a name server that you
              # choose. Names such as .internal are not available when an alternative
              # name server is specified.
            "targetNameServers": [ # Sets an alternative name server for the associated networks. When
                # specified, all DNS queries are forwarded to a name server that you
                # choose. Names such as .internal are not available when an alternative
                # name server is specified.
              {
                "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
                "ipv4Address": "A String", # IPv4 address to forward to.
                "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
                    # Cloud DNS will make forwarding decision based on address ranges,
                    # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
                    # Internet. When set to PRIVATE, Cloud DNS will always send queries
                    # through VPC for this target
              },
            ],
            "kind": "dns#policyAlternativeNameServerConfig",
          },
          "kind": "dns#policy",
          "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
              # applications over VPN connections. When enabled, a virtual IP address will
              # be allocated from each of the sub-networks that are bound to this policy.
          "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
              # Defaults to no logging if not set.
          "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 policy's function.
          "id": "A String", # Unique identifier for the resource; defined by the server (output only).
        },
    ],
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

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

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(project, policy, body=None, clientOperationId=None, x__xgafv=None)
Apply a partial update to an existing Policy.

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

{ # A policy is a collection of DNS rules applied to one or more Virtual Private
      # Cloud resources.
    "name": "A String", # User assigned name for this policy.
    "networks": [ # List of network names specifying networks to which this policy is applied.
      {
        "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}
        "kind": "dns#policyNetwork",
      },
    ],
    "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
        # specified, all DNS queries are forwarded to a name server that you
        # choose. Names such as .internal are not available when an alternative
        # name server is specified.
      "targetNameServers": [ # Sets an alternative name server for the associated networks. When
          # specified, all DNS queries are forwarded to a name server that you
          # choose. Names such as .internal are not available when an alternative
          # name server is specified.
        {
          "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
          "ipv4Address": "A String", # IPv4 address to forward to.
          "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
              # Cloud DNS will make forwarding decision based on address ranges,
              # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
              # Internet. When set to PRIVATE, Cloud DNS will always send queries
              # through VPC for this target
        },
      ],
      "kind": "dns#policyAlternativeNameServerConfig",
    },
    "kind": "dns#policy",
    "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
        # applications over VPN connections. When enabled, a virtual IP address will
        # be allocated from each of the sub-networks that are bound to this policy.
    "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
        # Defaults to no logging if not set.
    "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 policy's function.
    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
  }

  clientOperationId: string, For mutating operation requests only. An optional identifier
specified by the client. Must be unique for operation resources in the
Operations collection.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    "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).
    },
    "policy": { # A policy is a collection of DNS rules applied to one or more Virtual Private
          # Cloud resources.
        "name": "A String", # User assigned name for this policy.
        "networks": [ # List of network names specifying networks to which this policy is applied.
          {
            "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}
            "kind": "dns#policyNetwork",
          },
        ],
        "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
            # specified, all DNS queries are forwarded to a name server that you
            # choose. Names such as .internal are not available when an alternative
            # name server is specified.
          "targetNameServers": [ # Sets an alternative name server for the associated networks. When
              # specified, all DNS queries are forwarded to a name server that you
              # choose. Names such as .internal are not available when an alternative
              # name server is specified.
            {
              "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
              "ipv4Address": "A String", # IPv4 address to forward to.
              "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
                  # Cloud DNS will make forwarding decision based on address ranges,
                  # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
                  # Internet. When set to PRIVATE, Cloud DNS will always send queries
                  # through VPC for this target
            },
          ],
          "kind": "dns#policyAlternativeNameServerConfig",
        },
        "kind": "dns#policy",
        "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
            # applications over VPN connections. When enabled, a virtual IP address will
            # be allocated from each of the sub-networks that are bound to this policy.
        "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
            # Defaults to no logging if not set.
        "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 policy's function.
        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
      },
  }
update(project, policy, body=None, clientOperationId=None, x__xgafv=None)
Update an existing Policy.

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

{ # A policy is a collection of DNS rules applied to one or more Virtual Private
      # Cloud resources.
    "name": "A String", # User assigned name for this policy.
    "networks": [ # List of network names specifying networks to which this policy is applied.
      {
        "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}
        "kind": "dns#policyNetwork",
      },
    ],
    "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
        # specified, all DNS queries are forwarded to a name server that you
        # choose. Names such as .internal are not available when an alternative
        # name server is specified.
      "targetNameServers": [ # Sets an alternative name server for the associated networks. When
          # specified, all DNS queries are forwarded to a name server that you
          # choose. Names such as .internal are not available when an alternative
          # name server is specified.
        {
          "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
          "ipv4Address": "A String", # IPv4 address to forward to.
          "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
              # Cloud DNS will make forwarding decision based on address ranges,
              # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
              # Internet. When set to PRIVATE, Cloud DNS will always send queries
              # through VPC for this target
        },
      ],
      "kind": "dns#policyAlternativeNameServerConfig",
    },
    "kind": "dns#policy",
    "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
        # applications over VPN connections. When enabled, a virtual IP address will
        # be allocated from each of the sub-networks that are bound to this policy.
    "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
        # Defaults to no logging if not set.
    "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 policy's function.
    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
  }

  clientOperationId: string, For mutating operation requests only. An optional identifier
specified by the client. Must be unique for operation resources in the
Operations collection.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    "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).
    },
    "policy": { # A policy is a collection of DNS rules applied to one or more Virtual Private
          # Cloud resources.
        "name": "A String", # User assigned name for this policy.
        "networks": [ # List of network names specifying networks to which this policy is applied.
          {
            "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}
            "kind": "dns#policyNetwork",
          },
        ],
        "alternativeNameServerConfig": { # Sets an alternative name server for the associated networks. When
            # specified, all DNS queries are forwarded to a name server that you
            # choose. Names such as .internal are not available when an alternative
            # name server is specified.
          "targetNameServers": [ # Sets an alternative name server for the associated networks. When
              # specified, all DNS queries are forwarded to a name server that you
              # choose. Names such as .internal are not available when an alternative
              # name server is specified.
            {
              "kind": "dns#policyAlternativeNameServerConfigTargetNameServer",
              "ipv4Address": "A String", # IPv4 address to forward to.
              "forwardingPath": "A String", # Forwarding path for this TargetNameServer, if unset or set to DEFAULT,
                  # Cloud DNS will make forwarding decision based on address ranges,
                  # i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the
                  # Internet. When set to PRIVATE, Cloud DNS will always send queries
                  # through VPC for this target
            },
          ],
          "kind": "dns#policyAlternativeNameServerConfig",
        },
        "kind": "dns#policy",
        "enableInboundForwarding": True or False, # Allows networks bound to this policy to receive DNS queries sent by VMs or
            # applications over VPN connections. When enabled, a virtual IP address will
            # be allocated from each of the sub-networks that are bound to this policy.
        "enableLogging": True or False, # Controls whether logging is enabled for the networks bound to this policy.
            # Defaults to no logging if not set.
        "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 policy's function.
        "id": "A String", # Unique identifier for the resource; defined by the server (output only).
      },
  }