# Cloud DNS API . responsePolicyRules

## Instance Methods

Close httplib2 connections.

Creates a new Response Policy Rule.

Deletes a previously created Response Policy Rule.

Fetches the representation of an existing Response Policy Rule.

Enumerates all Response Policy Rules associated with a project.

Retrieves the next page of results.

Applies a partial update to an existing Response Policy Rule.

Updates an existing Response Policy Rule.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates a new Response Policy Rule.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy containing the Response Policy Rule. (required)
      body: object, The request body.
        The object takes the form of:

    { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
      "behavior": "A String", # Answer this query with a behavior rather than DNS data.
      "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
      "kind": "dns#responsePolicyRule",
      "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
        "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
          { # A unit of data that is returned by the DNS servers.
            "kind": "dns#resourceRecordSet",
            "name": "A String", # For example, www.example.com.
            "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
              "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                  { # ResourceRecordSet data for one geo location.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                    "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyGeoPolicy",
              },
              "kind": "dns#rRSetRoutingPolicy",
              "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                  "internalLoadBalancers": [
                    {
                      "ipAddress": "A String", # The frontend IP address of the
                      "ipProtocol": "A String",
                      "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                      "loadBalancerType": "A String",
                      "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                      "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                      "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                      "region": "A String", # The region for regional ILBs.
                    },
                  ],
                },
                "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
              },
              "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                "items": [
                  { # A routing block which contains the routing information for one WRR item.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                    "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyWrrPolicy",
              },
            },
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
          },
        ],
      },
      "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
    }

      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 Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
      "behavior": "A String", # Answer this query with a behavior rather than DNS data.
      "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
      "kind": "dns#responsePolicyRule",
      "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
        "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
          { # A unit of data that is returned by the DNS servers.
            "kind": "dns#resourceRecordSet",
            "name": "A String", # For example, www.example.com.
            "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
              "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                  { # ResourceRecordSet data for one geo location.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                    "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyGeoPolicy",
              },
              "kind": "dns#rRSetRoutingPolicy",
              "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                  "internalLoadBalancers": [
                    {
                      "ipAddress": "A String", # The frontend IP address of the
                      "ipProtocol": "A String",
                      "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                      "loadBalancerType": "A String",
                      "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                      "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                      "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                      "region": "A String", # The region for regional ILBs.
                    },
                  ],
                },
                "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
              },
              "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                "items": [
                  { # A routing block which contains the routing information for one WRR item.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                    "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyWrrPolicy",
              },
            },
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
          },
        ],
      },
      "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
    }

`delete(project, responsePolicy, responsePolicyRule, clientOperationId=None, x__xgafv=None)`

    Deletes a previously created Response Policy Rule.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy containing the Response Policy Rule. (required)
      responsePolicyRule: string, User assigned name of the Response Policy Rule 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, responsePolicy, responsePolicyRule, clientOperationId=None, x__xgafv=None)`

    Fetches the representation of an existing Response Policy Rule.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy containing the Response Policy Rule. (required)
      responsePolicyRule: string, User assigned name of the Response Policy Rule 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 Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
      "behavior": "A String", # Answer this query with a behavior rather than DNS data.
      "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
      "kind": "dns#responsePolicyRule",
      "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
        "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
          { # A unit of data that is returned by the DNS servers.
            "kind": "dns#resourceRecordSet",
            "name": "A String", # For example, www.example.com.
            "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
              "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                  { # ResourceRecordSet data for one geo location.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                    "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyGeoPolicy",
              },
              "kind": "dns#rRSetRoutingPolicy",
              "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                  "internalLoadBalancers": [
                    {
                      "ipAddress": "A String", # The frontend IP address of the
                      "ipProtocol": "A String",
                      "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                      "loadBalancerType": "A String",
                      "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                      "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                      "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                      "region": "A String", # The region for regional ILBs.
                    },
                  ],
                },
                "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
              },
              "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                "items": [
                  { # A routing block which contains the routing information for one WRR item.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                    "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyWrrPolicy",
              },
            },
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
          },
        ],
      },
      "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
    }

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

    Enumerates all Response Policy Rules associated with a project.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy to list. (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.
      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).
      },
      "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. This lets you 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.
      "responsePolicyRules": [ # The Response Policy Rule resources.
        { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
          "behavior": "A String", # Answer this query with a behavior rather than DNS data.
          "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
          "kind": "dns#responsePolicyRule",
          "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
            "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
              { # A unit of data that is returned by the DNS servers.
                "kind": "dns#resourceRecordSet",
                "name": "A String", # For example, www.example.com.
                "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
                  "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                    "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                    "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                      { # ResourceRecordSet data for one geo location.
                        "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                          "internalLoadBalancers": [
                            {
                              "ipAddress": "A String", # The frontend IP address of the
                              "ipProtocol": "A String",
                              "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                              "loadBalancerType": "A String",
                              "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                              "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                              "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                              "region": "A String", # The region for regional ILBs.
                            },
                          ],
                        },
                        "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                        "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                        "rrdatas": [
                          "A String",
                        ],
                        "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                          "A String",
                        ],
                      },
                    ],
                    "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                  },
                  "kind": "dns#rRSetRoutingPolicy",
                  "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                    "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                      "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                      "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                        { # ResourceRecordSet data for one geo location.
                          "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                            "internalLoadBalancers": [
                              {
                                "ipAddress": "A String", # The frontend IP address of the
                                "ipProtocol": "A String",
                                "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                                "loadBalancerType": "A String",
                                "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                                "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                                "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                                "region": "A String", # The region for regional ILBs.
                              },
                            ],
                          },
                          "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                          "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                          "rrdatas": [
                            "A String",
                          ],
                          "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                            "A String",
                          ],
                        },
                      ],
                      "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                    },
                    "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                    "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
                  },
                  "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                    "items": [
                      { # A routing block which contains the routing information for one WRR item.
                        "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                          "internalLoadBalancers": [
                            {
                              "ipAddress": "A String", # The frontend IP address of the
                              "ipProtocol": "A String",
                              "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                              "loadBalancerType": "A String",
                              "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                              "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                              "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                              "region": "A String", # The region for regional ILBs.
                            },
                          ],
                        },
                        "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                        "rrdatas": [
                          "A String",
                        ],
                        "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                          "A String",
                        ],
                        "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                      },
                    ],
                    "kind": "dns#rRSetRoutingPolicyWrrPolicy",
                  },
                },
                "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                  "A String",
                ],
                "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                  "A String",
                ],
                "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
                "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
              },
            ],
          },
          "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
        },
      ],
    }

`list_next()`

    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, responsePolicy, responsePolicyRule, body=None, clientOperationId=None, x__xgafv=None)`

    Applies a partial update to an existing Response Policy Rule.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy containing the Response Policy Rule. (required)
      responsePolicyRule: string, User assigned name of the Response Policy Rule addressed by this request. (required)
      body: object, The request body.
        The object takes the form of:

    { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
      "behavior": "A String", # Answer this query with a behavior rather than DNS data.
      "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
      "kind": "dns#responsePolicyRule",
      "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
        "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
          { # A unit of data that is returned by the DNS servers.
            "kind": "dns#resourceRecordSet",
            "name": "A String", # For example, www.example.com.
            "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
              "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                  { # ResourceRecordSet data for one geo location.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                    "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyGeoPolicy",
              },
              "kind": "dns#rRSetRoutingPolicy",
              "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                  "internalLoadBalancers": [
                    {
                      "ipAddress": "A String", # The frontend IP address of the
                      "ipProtocol": "A String",
                      "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                      "loadBalancerType": "A String",
                      "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                      "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                      "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                      "region": "A String", # The region for regional ILBs.
                    },
                  ],
                },
                "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
              },
              "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                "items": [
                  { # A routing block which contains the routing information for one WRR item.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                    "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyWrrPolicy",
              },
            },
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
          },
        ],
      },
      "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
    }

      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).
      },
      "responsePolicyRule": { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
        "behavior": "A String", # Answer this query with a behavior rather than DNS data.
        "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
        "kind": "dns#responsePolicyRule",
        "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
          "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
            { # A unit of data that is returned by the DNS servers.
              "kind": "dns#resourceRecordSet",
              "name": "A String", # For example, www.example.com.
              "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
                "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicy",
                "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                  "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                    "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                    "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                      { # ResourceRecordSet data for one geo location.
                        "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                          "internalLoadBalancers": [
                            {
                              "ipAddress": "A String", # The frontend IP address of the
                              "ipProtocol": "A String",
                              "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                              "loadBalancerType": "A String",
                              "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                              "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                              "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                              "region": "A String", # The region for regional ILBs.
                            },
                          ],
                        },
                        "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                        "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                        "rrdatas": [
                          "A String",
                        ],
                        "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                          "A String",
                        ],
                      },
                    ],
                    "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                  },
                  "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                  "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                    "internalLoadBalancers": [
                      {
                        "ipAddress": "A String", # The frontend IP address of the
                        "ipProtocol": "A String",
                        "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                        "loadBalancerType": "A String",
                        "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                        "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                        "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                        "region": "A String", # The region for regional ILBs.
                      },
                    ],
                  },
                  "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
                },
                "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                  "items": [
                    { # A routing block which contains the routing information for one WRR item.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                      "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyWrrPolicy",
                },
              },
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
            },
          ],
        },
        "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
      },
    }

`update(project, responsePolicy, responsePolicyRule, body=None, clientOperationId=None, x__xgafv=None)`

    Updates an existing Response Policy Rule.

    Args:
      project: string, Identifies the project addressed by this request. (required)
      responsePolicy: string, User assigned name of the Response Policy containing the Response Policy Rule. (required)
      responsePolicyRule: string, User assigned name of the Response Policy Rule addressed by this request. (required)
      body: object, The request body.
        The object takes the form of:

    { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
      "behavior": "A String", # Answer this query with a behavior rather than DNS data.
      "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
      "kind": "dns#responsePolicyRule",
      "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
        "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
          { # A unit of data that is returned by the DNS servers.
            "kind": "dns#resourceRecordSet",
            "name": "A String", # For example, www.example.com.
            "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
              "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                  { # ResourceRecordSet data for one geo location.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                    "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyGeoPolicy",
              },
              "kind": "dns#rRSetRoutingPolicy",
              "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                  "internalLoadBalancers": [
                    {
                      "ipAddress": "A String", # The frontend IP address of the
                      "ipProtocol": "A String",
                      "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                      "loadBalancerType": "A String",
                      "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                      "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                      "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                      "region": "A String", # The region for regional ILBs.
                    },
                  ],
                },
                "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
              },
              "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                "items": [
                  { # A routing block which contains the routing information for one WRR item.
                    "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                      "internalLoadBalancers": [
                        {
                          "ipAddress": "A String", # The frontend IP address of the
                          "ipProtocol": "A String",
                          "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                          "loadBalancerType": "A String",
                          "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                          "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                          "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                          "region": "A String", # The region for regional ILBs.
                        },
                      ],
                    },
                    "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                    "rrdatas": [
                      "A String",
                    ],
                    "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                      "A String",
                    ],
                    "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                  },
                ],
                "kind": "dns#rRSetRoutingPolicyWrrPolicy",
              },
            },
            "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
              "A String",
            ],
            "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
              "A String",
            ],
            "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
            "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
          },
        ],
      },
      "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
    }

      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).
      },
      "responsePolicyRule": { # A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dns_name field with the longest matching suffix.
        "behavior": "A String", # Answer this query with a behavior rather than DNS data.
        "dnsName": "A String", # The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
        "kind": "dns#responsePolicyRule",
        "localData": { # Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
          "localDatas": [ # All resource record sets for this selector, one per resource record type. The name must match the dns_name.
            { # A unit of data that is returned by the DNS servers.
              "kind": "dns#resourceRecordSet",
              "name": "A String", # For example, www.example.com.
              "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise.
                "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.
                  "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                  "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                    { # ResourceRecordSet data for one geo location.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                      "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                },
                "kind": "dns#rRSetRoutingPolicy",
                "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.
                  "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy.
                    "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.
                    "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.
                      { # ResourceRecordSet data for one geo location.
                        "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item.
                          "internalLoadBalancers": [
                            {
                              "ipAddress": "A String", # The frontend IP address of the
                              "ipProtocol": "A String",
                              "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                              "loadBalancerType": "A String",
                              "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                              "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                              "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                              "region": "A String", # The region for regional ILBs.
                            },
                          ],
                        },
                        "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem",
                        "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc.
                        "rrdatas": [
                          "A String",
                        ],
                        "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                          "A String",
                        ],
                      },
                    ],
                    "kind": "dns#rRSetRoutingPolicyGeoPolicy",
                  },
                  "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy",
                  "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.
                    "internalLoadBalancers": [
                      {
                        "ipAddress": "A String", # The frontend IP address of the
                        "ipProtocol": "A String",
                        "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                        "loadBalancerType": "A String",
                        "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                        "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                        "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                        "region": "A String", # The region for regional ILBs.
                      },
                    ],
                  },
                  "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.
                },
                "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.
                  "items": [
                    { # A routing block which contains the routing information for one WRR item.
                      "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set.
                        "internalLoadBalancers": [
                          {
                            "ipAddress": "A String", # The frontend IP address of the
                            "ipProtocol": "A String",
                            "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget",
                            "loadBalancerType": "A String",
                            "networkUrl": "A String", # The fully qualified url of the network on which the ILB is
                            "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer.
                            "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.
                            "region": "A String", # The region for regional ILBs.
                          },
                        ],
                      },
                      "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem",
                      "rrdatas": [
                        "A String",
                      ],
                      "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. .
                        "A String",
                      ],
                      "weight": 3.14, # The weight corresponding to this subset of rrdata. When multiple WeightedRoundRobinPolicyItems are configured, the probability of returning an rrset is proportional to its weight relative to the sum of weights configured for all items. This weight should be non-negative.
                    },
                  ],
                  "kind": "dns#rRSetRoutingPolicyWrrPolicy",
                },
              },
              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see examples.
                "A String",
              ],
              "signatureRrdatas": [ # As defined in RFC 4034 (section 3.2).
                "A String",
              ],
              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
              "type": "A String", # The identifier of a supported record type. See the list of Supported DNS record types.
            },
          ],
        },
        "ruleName": "A String", # An identifier for this rule. Must be unique with the ResponsePolicy.
      },
    }