chore: Update discovery artifacts (#1328)

## Deleted keys were detected in the following stable discovery artifacts:
admindirectoryv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/1feda6f78f168e28d7842f49ad91fb00dc24ec19)
bigqueryreservationv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/7e6c78d448e472caaa67971160fdd44ccce061b0)
computev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
doubleclickbidmanagerv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/d20e7e2553a1ea5d3690afba366683d4eb0ca647)
doubleclickbidmanagerv11[ [More details]](https://github.com/googleapis/google-api-python-client/commit/d20e7e2553a1ea5d3690afba366683d4eb0ca647)
serviceconsumermanagementv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/864ef4795a0e89263859f493f9c40d1a85e90c28)
serviceusagev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/ecd65a89c54132856b47747439faf901dbfbafcb)

## Deleted keys were detected in the following pre-stable discovery artifacts:
bigqueryreservationv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/7e6c78d448e472caaa67971160fdd44ccce061b0)
computealpha[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
computebeta[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
serviceconsumermanagementv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/864ef4795a0e89263859f493f9c40d1a85e90c28)
serviceusagev1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/ecd65a89c54132856b47747439faf901dbfbafcb)

## Discovery Artifact Change Summary:
admindirectoryv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/1feda6f78f168e28d7842f49ad91fb00dc24ec19)
bigqueryreservationv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/7e6c78d448e472caaa67971160fdd44ccce061b0)
bigqueryreservationv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/7e6c78d448e472caaa67971160fdd44ccce061b0)
computealpha[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
computebeta[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
computev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/131a5cd5bda8512217aa461042b33fb287790839)
containerv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/9bc4a12e7ab57a1b5a5d3637087b80b3008e3352)
containerv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/9bc4a12e7ab57a1b5a5d3637087b80b3008e3352)
doubleclickbidmanagerv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/d20e7e2553a1ea5d3690afba366683d4eb0ca647)
doubleclickbidmanagerv11[ [More details]](https://github.com/googleapis/google-api-python-client/commit/d20e7e2553a1ea5d3690afba366683d4eb0ca647)
serviceconsumermanagementv1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/864ef4795a0e89263859f493f9c40d1a85e90c28)
serviceconsumermanagementv1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/864ef4795a0e89263859f493f9c40d1a85e90c28)
serviceusagev1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/ecd65a89c54132856b47747439faf901dbfbafcb)
serviceusagev1beta1[ [More details]](https://github.com/googleapis/google-api-python-client/commit/ecd65a89c54132856b47747439faf901dbfbafcb)
diff --git a/docs/dyn/compute_alpha.routers.html b/docs/dyn/compute_alpha.routers.html
index 774a74c..259469b 100644
--- a/docs/dyn/compute_alpha.routers.html
+++ b/docs/dyn/compute_alpha.routers.html
@@ -211,14 +211,17 @@
               "enable": "A String", # The status of the BGP peer connection.
                   # Not currently available publicly.
                   # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+              "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
               "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
               "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+              "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
               "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
                   # - MANAGED_BY_USER is the default value and can be managed by you or other users
                   # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
               "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
               "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
               "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+              "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
               "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
             },
           ],
@@ -248,6 +251,12 @@
               "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
                 "A String",
               ],
+              "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+                  # If not specified, it is disabled by default.
+                  # If set to true,
+                  # - Dynamic Port Allocation will be enabled on this NAT config.
+                  # - enableEndpointIndependentMapping cannot be set to true.
+                  # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
               "enableEndpointIndependentMapping": True or False,
               "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
               "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -257,6 +266,10 @@
                     # - TRANSLATIONS_ONLY: Export logs only for successful connections.
                     # - ALL: Export logs for all connections, successful and unsuccessful.
               },
+              "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+                  # If Dynamic Port Allocation is not enabled, this field has no effect.
+                  # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+                  # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
               "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
               "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
               "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -276,7 +289,7 @@
                     ],
                   },
                   "description": "A String", # An optional description of this rule.
-                  "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+                  "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
                       #
                       # The following examples are valid match expressions:
                       #
@@ -516,14 +529,17 @@
       "enable": "A String", # The status of the BGP peer connection.
           # Not currently available publicly.
           # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+      "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
       "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
       "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+      "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
       "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
           # - MANAGED_BY_USER is the default value and can be managed by you or other users
           # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
       "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
       "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+      "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
       "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
     },
   ],
@@ -553,6 +569,12 @@
       "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
         "A String",
       ],
+      "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+          # If not specified, it is disabled by default.
+          # If set to true,
+          # - Dynamic Port Allocation will be enabled on this NAT config.
+          # - enableEndpointIndependentMapping cannot be set to true.
+          # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
       "enableEndpointIndependentMapping": True or False,
       "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
       "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -562,6 +584,10 @@
             # - TRANSLATIONS_ONLY: Export logs only for successful connections.
             # - ALL: Export logs for all connections, successful and unsuccessful.
       },
+      "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+          # If Dynamic Port Allocation is not enabled, this field has no effect.
+          # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+          # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
       "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
       "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
       "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -581,7 +607,7 @@
             ],
           },
           "description": "A String", # An optional description of this rule.
-          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
               #
               # The following examples are valid match expressions:
               #
@@ -736,6 +762,7 @@
         "description": "A String", # An optional description of this resource. Provide this field when you create the resource.
         "destRange": "A String", # The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported.
         "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+        "ilbRouteBehaviorOnUnhealthy": "A String", # ILB route behavior when ILB is deemed unhealthy based on user specified threshold on the Backend Service of the internal load balancing.
         "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources.
         "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.
         "network": "A String", # Fully-qualified URL of the network that this route applies to.
@@ -781,6 +808,7 @@
         "description": "A String", # An optional description of this resource. Provide this field when you create the resource.
         "destRange": "A String", # The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported.
         "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+        "ilbRouteBehaviorOnUnhealthy": "A String", # ILB route behavior when ILB is deemed unhealthy based on user specified threshold on the Backend Service of the internal load balancing.
         "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources.
         "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.
         "network": "A String", # Fully-qualified URL of the network that this route applies to.
@@ -828,6 +856,7 @@
             "description": "A String", # An optional description of this resource. Provide this field when you create the resource.
             "destRange": "A String", # The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported.
             "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+            "ilbRouteBehaviorOnUnhealthy": "A String", # ILB route behavior when ILB is deemed unhealthy based on user specified threshold on the Backend Service of the internal load balancing.
             "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources.
             "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.
             "network": "A String", # Fully-qualified URL of the network that this route applies to.
@@ -942,11 +971,14 @@
           "uptimeMs": "A String", # Session uptime in milliseconds. Value will be 0 if session is not up.
           "usingEchoMode": True or False, # Indicates if echo mode is currently being used.
         },
+        "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
         "ipAddress": "A String", # IP address of the local BGP interface.
+        "ipv6NexthopAddress": "A String", # IPv6 address of the local BGP interface.
         "linkedVpnTunnel": "A String", # URL of the VPN tunnel that this BGP peer controls.
         "name": "A String", # Name of this BGP peer. Unique within the Routers resource.
         "numLearnedRoutes": 42, # Number of routes learned from the remote BGP Peer.
         "peerIpAddress": "A String", # IP address of the remote BGP interface.
+        "peerIpv6NexthopAddress": "A String", # IPv6 address of the remote BGP interface.
         "routerApplianceInstance": "A String", # [Output only] URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance is the peer side of the BGP session.
         "state": "A String", # BGP state as specified in RFC1771.
         "status": "A String", # Status of the BGP peer: {UP, DOWN}
@@ -1064,14 +1096,17 @@
       "enable": "A String", # The status of the BGP peer connection.
           # Not currently available publicly.
           # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+      "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
       "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
       "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+      "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
       "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
           # - MANAGED_BY_USER is the default value and can be managed by you or other users
           # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
       "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
       "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+      "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
       "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
     },
   ],
@@ -1101,6 +1136,12 @@
       "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
         "A String",
       ],
+      "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+          # If not specified, it is disabled by default.
+          # If set to true,
+          # - Dynamic Port Allocation will be enabled on this NAT config.
+          # - enableEndpointIndependentMapping cannot be set to true.
+          # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
       "enableEndpointIndependentMapping": True or False,
       "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
       "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -1110,6 +1151,10 @@
             # - TRANSLATIONS_ONLY: Export logs only for successful connections.
             # - ALL: Export logs for all connections, successful and unsuccessful.
       },
+      "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+          # If Dynamic Port Allocation is not enabled, this field has no effect.
+          # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+          # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
       "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
       "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
       "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -1129,7 +1174,7 @@
             ],
           },
           "description": "A String", # An optional description of this rule.
-          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
               #
               # The following examples are valid match expressions:
               #
@@ -1326,14 +1371,17 @@
           "enable": "A String", # The status of the BGP peer connection.
               # Not currently available publicly.
               # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+          "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
           "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
           "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+          "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
           "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
               # - MANAGED_BY_USER is the default value and can be managed by you or other users
               # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
           "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
           "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
           "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+          "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
           "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
         },
       ],
@@ -1363,6 +1411,12 @@
           "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
             "A String",
           ],
+          "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+              # If not specified, it is disabled by default.
+              # If set to true,
+              # - Dynamic Port Allocation will be enabled on this NAT config.
+              # - enableEndpointIndependentMapping cannot be set to true.
+              # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
           "enableEndpointIndependentMapping": True or False,
           "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
           "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -1372,6 +1426,10 @@
                 # - TRANSLATIONS_ONLY: Export logs only for successful connections.
                 # - ALL: Export logs for all connections, successful and unsuccessful.
           },
+          "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+              # If Dynamic Port Allocation is not enabled, this field has no effect.
+              # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+              # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
           "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
           "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
           "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -1391,7 +1449,7 @@
                 ],
               },
               "description": "A String", # An optional description of this rule.
-              "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+              "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
                   #
                   # The following examples are valid match expressions:
                   #
@@ -1530,14 +1588,17 @@
       "enable": "A String", # The status of the BGP peer connection.
           # Not currently available publicly.
           # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+      "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
       "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
       "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+      "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
       "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
           # - MANAGED_BY_USER is the default value and can be managed by you or other users
           # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
       "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
       "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+      "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
       "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
     },
   ],
@@ -1567,6 +1628,12 @@
       "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
         "A String",
       ],
+      "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+          # If not specified, it is disabled by default.
+          # If set to true,
+          # - Dynamic Port Allocation will be enabled on this NAT config.
+          # - enableEndpointIndependentMapping cannot be set to true.
+          # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
       "enableEndpointIndependentMapping": True or False,
       "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
       "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -1576,6 +1643,10 @@
             # - TRANSLATIONS_ONLY: Export logs only for successful connections.
             # - ALL: Export logs for all connections, successful and unsuccessful.
       },
+      "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+          # If Dynamic Port Allocation is not enabled, this field has no effect.
+          # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+          # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
       "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
       "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
       "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -1595,7 +1666,7 @@
             ],
           },
           "description": "A String", # An optional description of this rule.
-          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
               #
               # The following examples are valid match expressions:
               #
@@ -1774,14 +1845,17 @@
       "enable": "A String", # The status of the BGP peer connection.
           # Not currently available publicly.
           # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+      "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
       "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
       "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+      "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
       "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
           # - MANAGED_BY_USER is the default value and can be managed by you or other users
           # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
       "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
       "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+      "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
       "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
     },
   ],
@@ -1811,6 +1885,12 @@
       "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
         "A String",
       ],
+      "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+          # If not specified, it is disabled by default.
+          # If set to true,
+          # - Dynamic Port Allocation will be enabled on this NAT config.
+          # - enableEndpointIndependentMapping cannot be set to true.
+          # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
       "enableEndpointIndependentMapping": True or False,
       "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
       "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -1820,6 +1900,10 @@
             # - TRANSLATIONS_ONLY: Export logs only for successful connections.
             # - ALL: Export logs for all connections, successful and unsuccessful.
       },
+      "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+          # If Dynamic Port Allocation is not enabled, this field has no effect.
+          # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+          # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
       "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
       "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
       "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -1839,7 +1923,7 @@
             ],
           },
           "description": "A String", # An optional description of this rule.
-          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
               #
               # The following examples are valid match expressions:
               #
@@ -1941,14 +2025,17 @@
         "enable": "A String", # The status of the BGP peer connection.
             # Not currently available publicly.
             # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+        "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
         "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
         "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+        "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
         "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
             # - MANAGED_BY_USER is the default value and can be managed by you or other users
             # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
         "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
         "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
         "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+        "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
         "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
       },
     ],
@@ -1978,6 +2065,12 @@
         "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
           "A String",
         ],
+        "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+            # If not specified, it is disabled by default.
+            # If set to true,
+            # - Dynamic Port Allocation will be enabled on this NAT config.
+            # - enableEndpointIndependentMapping cannot be set to true.
+            # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
         "enableEndpointIndependentMapping": True or False,
         "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
         "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -1987,6 +2080,10 @@
               # - TRANSLATIONS_ONLY: Export logs only for successful connections.
               # - ALL: Export logs for all connections, successful and unsuccessful.
         },
+        "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+            # If Dynamic Port Allocation is not enabled, this field has no effect.
+            # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+            # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
         "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
         "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
         "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -2006,7 +2103,7 @@
               ],
             },
             "description": "A String", # An optional description of this rule.
-            "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+            "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
                 #
                 # The following examples are valid match expressions:
                 #
@@ -2144,14 +2241,17 @@
       "enable": "A String", # The status of the BGP peer connection.
           # Not currently available publicly.
           # If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
+      "enableIpv6": True or False, # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
       "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
       "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
+      "ipv6NexthopAddress": "A String", # IPv6 address of the interface inside Google Cloud Platform.
       "managementType": "A String", # [Output Only] The resource that configures and manages this BGP peer.
           # - MANAGED_BY_USER is the default value and can be managed by you or other users
           # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
       "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value.
       "peerIpAddress": "A String", # IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is supported.
+      "peerIpv6NexthopAddress": "A String", # IPv6 address of the BGP interface outside Google Cloud Platform.
       "routerApplianceInstance": "A String", # URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance must be located in zones contained in the same region as this Cloud Router. The VM instance is the peer side of the BGP session.
     },
   ],
@@ -2181,6 +2281,12 @@
       "drainNatIps": [ # A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only.
         "A String",
       ],
+      "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation.
+          # If not specified, it is disabled by default.
+          # If set to true,
+          # - Dynamic Port Allocation will be enabled on this NAT config.
+          # - enableEndpointIndependentMapping cannot be set to true.
+          # - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config.
       "enableEndpointIndependentMapping": True or False,
       "icmpIdleTimeoutSec": 42, # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
       "logConfig": { # Configuration of logging on a NAT. # Configure logging on this NAT.
@@ -2190,6 +2296,10 @@
             # - TRANSLATIONS_ONLY: Export logs only for successful connections.
             # - ALL: Export logs for all connections, successful and unsuccessful.
       },
+      "maxPortsPerVm": 42, # Maximum number of ports allocated to a VM from this NAT config when Dynamic Port Allocation is enabled.
+          # If Dynamic Port Allocation is not enabled, this field has no effect.
+          # If Dynamic Port Allocation is enabled, and this field is set, it must be set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not set.
+          # If Dynamic Port Allocation is enabled and this field is not set, a maximum of 65536 ports will be allocated to a VM from this NAT config.
       "minPortsPerVm": 42, # Minimum number of ports allocated to a VM from this NAT config. If not set, a default number of ports is allocated to a VM. This is rounded up to the nearest power of 2. For example, if the value of this field is 50, at least 64 ports are allocated to a VM.
       "name": "A String", # Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035.
       "natIpAllocateOption": "A String", # Specify the NatIpAllocateOption, which can take one of the following values:
@@ -2209,7 +2319,7 @@
             ],
           },
           "description": "A String", # An optional description of this rule.
-          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding ?action? is enforced.
+          "match": "A String", # CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced.
               #
               # The following examples are valid match expressions:
               #