Clean and regen docs (#401)

diff --git a/docs/dyn/compute_alpha.routers.html b/docs/dyn/compute_alpha.routers.html
index 20bf522..e6b1149 100644
--- a/docs/dyn/compute_alpha.routers.html
+++ b/docs/dyn/compute_alpha.routers.html
@@ -147,23 +147,44 @@
               "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
               "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
                 {
-                  "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+                  "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+                  "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
                   "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
                   "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
                 },
               ],
               "bgp": { # BGP information specific to this router.
+                "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+                  { # Description-tagged prefixes for the router to advertise.
+                    "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+                    "description": "A String", # User-specified description for the prefix.
+                  },
+                ],
                 "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+                "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+                  "A String",
+                ],
+                "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
               },
               "network": "A String", # URI of the network to which this router belongs.
               "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
                 {
-                  "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-                  "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
                   "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+                  "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+                  "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+                    { # Description-tagged prefixes for the router to advertise.
+                      "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+                      "description": "A String", # User-specified description for the prefix.
+                    },
+                  ],
+                  "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+                  "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+                    "A String",
+                  ],
+                  "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
                   "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
                   "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-                  "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+                  "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
                 },
               ],
               "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -283,23 +304,44 @@
       "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
       "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
         {
-          "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+          "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+          "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
           "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
           "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
         },
       ],
       "bgp": { # BGP information specific to this router.
+        "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+          { # Description-tagged prefixes for the router to advertise.
+            "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+            "description": "A String", # User-specified description for the prefix.
+          },
+        ],
         "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+        "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+          "A String",
+        ],
+        "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
       },
       "network": "A String", # URI of the network to which this router belongs.
       "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
         {
-          "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-          "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
           "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+          "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+          "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+            { # Description-tagged prefixes for the router to advertise.
+              "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+              "description": "A String", # User-specified description for the prefix.
+            },
+          ],
+          "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+          "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+            "A String",
+          ],
+          "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
           "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
           "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-          "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+          "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
         },
       ],
       "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -478,23 +520,44 @@
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
       {
-        "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+        "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+        "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
         "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
         "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
       },
     ],
     "bgp": { # BGP information specific to this router.
+      "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+        { # Description-tagged prefixes for the router to advertise.
+          "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+          "description": "A String", # User-specified description for the prefix.
+        },
+      ],
       "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+      "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+        "A String",
+      ],
+      "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
     },
     "network": "A String", # URI of the network to which this router belongs.
     "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
       {
-        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
         "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+        "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+          { # Description-tagged prefixes for the router to advertise.
+            "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+            "description": "A String", # User-specified description for the prefix.
+          },
+        ],
+        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+        "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+          "A String",
+        ],
+        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
         "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
         "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+        "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
       },
     ],
     "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -591,23 +654,44 @@
           "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
           "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
             {
-              "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+              "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+              "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
               "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
               "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
             },
           ],
           "bgp": { # BGP information specific to this router.
+            "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+              { # Description-tagged prefixes for the router to advertise.
+                "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+                "description": "A String", # User-specified description for the prefix.
+              },
+            ],
             "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+            "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+              "A String",
+            ],
+            "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
           },
           "network": "A String", # URI of the network to which this router belongs.
           "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
             {
-              "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-              "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
               "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+              "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+              "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+                { # Description-tagged prefixes for the router to advertise.
+                  "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+                  "description": "A String", # User-specified description for the prefix.
+                },
+              ],
+              "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+              "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+                "A String",
+              ],
+              "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
               "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
               "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-              "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+              "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
             },
           ],
           "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -653,23 +737,44 @@
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
       {
-        "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+        "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+        "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
         "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
         "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
       },
     ],
     "bgp": { # BGP information specific to this router.
+      "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+        { # Description-tagged prefixes for the router to advertise.
+          "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+          "description": "A String", # User-specified description for the prefix.
+        },
+      ],
       "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+      "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+        "A String",
+      ],
+      "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
     },
     "network": "A String", # URI of the network to which this router belongs.
     "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
       {
-        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
         "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+        "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+          { # Description-tagged prefixes for the router to advertise.
+            "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+            "description": "A String", # User-specified description for the prefix.
+          },
+        ],
+        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+        "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+          "A String",
+        ],
+        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
         "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
         "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+        "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
       },
     ],
     "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -747,23 +852,44 @@
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
       {
-        "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+        "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+        "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
         "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
         "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
       },
     ],
     "bgp": { # BGP information specific to this router.
+      "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+        { # Description-tagged prefixes for the router to advertise.
+          "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+          "description": "A String", # User-specified description for the prefix.
+        },
+      ],
       "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+      "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+        "A String",
+      ],
+      "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
     },
     "network": "A String", # URI of the network to which this router belongs.
     "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
       {
-        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
         "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+        "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+          { # Description-tagged prefixes for the router to advertise.
+            "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+            "description": "A String", # User-specified description for the prefix.
+          },
+        ],
+        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+        "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+          "A String",
+        ],
+        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
         "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
         "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+        "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
       },
     ],
     "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -783,23 +909,44 @@
         "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
         "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
           {
-            "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+            "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+            "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
             "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
             "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
           },
         ],
         "bgp": { # BGP information specific to this router.
+          "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+            { # Description-tagged prefixes for the router to advertise.
+              "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+              "description": "A String", # User-specified description for the prefix.
+            },
+          ],
           "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+          "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+            "A String",
+          ],
+          "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
         },
         "network": "A String", # URI of the network to which this router belongs.
         "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
           {
-            "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-            "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
             "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+            "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+            "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+              { # Description-tagged prefixes for the router to advertise.
+                "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+                "description": "A String", # User-specified description for the prefix.
+              },
+            ],
+            "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+            "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+              "A String",
+            ],
+            "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
             "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
             "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-            "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+            "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
           },
         ],
         "region": "A String", # [Output Only] URI of the region where the router resides.
@@ -855,23 +1002,44 @@
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "interfaces": [ # Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.
       {
-        "linkedVpnTunnel": "A String", # URI of linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource.
+        "linkedInterconnectAttachment": "A String", # URI of the linked interconnect attachment. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
+        "linkedVpnTunnel": "A String", # URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment.
         "ipRange": "A String", # IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface.
         "name": "A String", # Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.
       },
     ],
     "bgp": { # BGP information specific to this router.
+      "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+        { # Description-tagged prefixes for the router to advertise.
+          "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+          "description": "A String", # User-specified description for the prefix.
+        },
+      ],
       "asn": 42, # Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.
+      "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+        "A String",
+      ],
+      "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
     },
     "network": "A String", # URI of the network to which this router belongs.
     "bgpPeers": [ # BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.
       {
-        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
-        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
         "peerAsn": 42, # Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.
+        "interfaceName": "A String", # Name of the interface the BGP peer is associated with.
+        "advertisedPrefixs": [ # User-specified list of individual prefixes to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These prefixes will be advertised in addition to any specified groups. Leave this field blank to advertise no custom prefixes.
+          { # Description-tagged prefixes for the router to advertise.
+            "prefix": "A String", # The prefix to advertise. The value must be a CIDR-formatted string.
+            "description": "A String", # User-specified description for the prefix.
+          },
+        ],
+        "peerIpAddress": "A String", # IP address of the BGP interface outside Google cloud. Only IPv4 is supported.
+        "advertisedGroups": [ # User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in Bgp message). These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups.
+          "A String",
+        ],
+        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
         "advertisedRoutePriority": 42, # The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.
         "ipAddress": "A String", # IP address of the interface inside Google Cloud Platform. Only IPv4 is supported.
-        "name": "A String", # Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.
+        "advertiseMode": "A String", # User-specified flag to indicate which mode to use for advertisement.
       },
     ],
     "region": "A String", # [Output Only] URI of the region where the router resides.