All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.compute.model.RouterBgpPeer Maven / Gradle / Ivy

There is a newer version: v1-rev20240903-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.compute.model;

/**
 * Model definition for RouterBgpPeer.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class RouterBgpPeer extends com.google.api.client.json.GenericJson { /** * User-specified flag to indicate which mode to use for advertisement. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String advertiseMode; /** * User-specified list of prefix groups to advertise in custom mode, which currently supports the * following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes * any routes learned for subnets that use VPC Network Peering. Note that this field can only be * populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the * "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this * field blank to advertise no custom groups. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List advertisedGroups; /** * User-specified list of individual IP ranges 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 the * "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this * field blank to advertise no custom IP ranges. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List advertisedIpRanges; static { // hack to force ProGuard to consider RouterAdvertisedIpRange used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(RouterAdvertisedIpRange.class); } /** * The priority of routes advertised to this BGP peer. Where there is more than one matching route * of maximum length, the routes with the lowest priority value win. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Long advertisedRoutePriority; /** * BFD configuration for the BGP peering. * The value may be {@code null}. */ @com.google.api.client.util.Key private RouterBgpPeerBfd bfd; /** * A list of user-defined custom learned route IP address ranges for a BGP session. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List customLearnedIpRanges; /** * The user-defined custom learned route priority for a BGP session. This value is applied to all * custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you * don't provide a value, Google Cloud assigns a priority of `100` to the ranges. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer customLearnedRoutePriority; /** * The status of the BGP peer connection. 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String enable; /** * Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean enableIpv4; /** * Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean enableIpv6; /** * List of export policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List exportPolicies; /** * List of import policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List importPolicies; /** * Name of the interface the BGP peer is associated with. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String interfaceName; /** * IP address of the interface inside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String ipAddress; /** * IPv4 address of the interface inside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String ipv4NexthopAddress; /** * IPv6 address of the interface inside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String ipv6NexthopAddress; /** * [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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String managementType; /** * Present if MD5 authentication is enabled for the peering. Must be the name of one of the * entries in the Router.md5_authentication_keys. The field must comply with RFC1035. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String md5AuthenticationKeyName; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Long peerAsn; /** * IP address of the BGP interface outside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String peerIpAddress; /** * IPv4 address of the BGP interface outside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String peerIpv4NexthopAddress; /** * IPv6 address of the BGP interface outside Google Cloud Platform. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String peerIpv6NexthopAddress; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String routerApplianceInstance; /** * User-specified flag to indicate which mode to use for advertisement. * @return value or {@code null} for none */ public java.lang.String getAdvertiseMode() { return advertiseMode; } /** * User-specified flag to indicate which mode to use for advertisement. * @param advertiseMode advertiseMode or {@code null} for none */ public RouterBgpPeer setAdvertiseMode(java.lang.String advertiseMode) { this.advertiseMode = advertiseMode; return this; } /** * User-specified list of prefix groups to advertise in custom mode, which currently supports the * following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes * any routes learned for subnets that use VPC Network Peering. Note that this field can only be * populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the * "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this * field blank to advertise no custom groups. * @return value or {@code null} for none */ public java.util.List getAdvertisedGroups() { return advertisedGroups; } /** * User-specified list of prefix groups to advertise in custom mode, which currently supports the * following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes * any routes learned for subnets that use VPC Network Peering. Note that this field can only be * populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the * "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this * field blank to advertise no custom groups. * @param advertisedGroups advertisedGroups or {@code null} for none */ public RouterBgpPeer setAdvertisedGroups(java.util.List advertisedGroups) { this.advertisedGroups = advertisedGroups; return this; } /** * User-specified list of individual IP ranges 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 the * "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this * field blank to advertise no custom IP ranges. * @return value or {@code null} for none */ public java.util.List getAdvertisedIpRanges() { return advertisedIpRanges; } /** * User-specified list of individual IP ranges 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 the * "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this * field blank to advertise no custom IP ranges. * @param advertisedIpRanges advertisedIpRanges or {@code null} for none */ public RouterBgpPeer setAdvertisedIpRanges(java.util.List advertisedIpRanges) { this.advertisedIpRanges = advertisedIpRanges; return this; } /** * The priority of routes advertised to this BGP peer. Where there is more than one matching route * of maximum length, the routes with the lowest priority value win. * @return value or {@code null} for none */ public java.lang.Long getAdvertisedRoutePriority() { return advertisedRoutePriority; } /** * The priority of routes advertised to this BGP peer. Where there is more than one matching route * of maximum length, the routes with the lowest priority value win. * @param advertisedRoutePriority advertisedRoutePriority or {@code null} for none */ public RouterBgpPeer setAdvertisedRoutePriority(java.lang.Long advertisedRoutePriority) { this.advertisedRoutePriority = advertisedRoutePriority; return this; } /** * BFD configuration for the BGP peering. * @return value or {@code null} for none */ public RouterBgpPeerBfd getBfd() { return bfd; } /** * BFD configuration for the BGP peering. * @param bfd bfd or {@code null} for none */ public RouterBgpPeer setBfd(RouterBgpPeerBfd bfd) { this.bfd = bfd; return this; } /** * A list of user-defined custom learned route IP address ranges for a BGP session. * @return value or {@code null} for none */ public java.util.List getCustomLearnedIpRanges() { return customLearnedIpRanges; } /** * A list of user-defined custom learned route IP address ranges for a BGP session. * @param customLearnedIpRanges customLearnedIpRanges or {@code null} for none */ public RouterBgpPeer setCustomLearnedIpRanges(java.util.List customLearnedIpRanges) { this.customLearnedIpRanges = customLearnedIpRanges; return this; } /** * The user-defined custom learned route priority for a BGP session. This value is applied to all * custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you * don't provide a value, Google Cloud assigns a priority of `100` to the ranges. * @return value or {@code null} for none */ public java.lang.Integer getCustomLearnedRoutePriority() { return customLearnedRoutePriority; } /** * The user-defined custom learned route priority for a BGP session. This value is applied to all * custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you * don't provide a value, Google Cloud assigns a priority of `100` to the ranges. * @param customLearnedRoutePriority customLearnedRoutePriority or {@code null} for none */ public RouterBgpPeer setCustomLearnedRoutePriority(java.lang.Integer customLearnedRoutePriority) { this.customLearnedRoutePriority = customLearnedRoutePriority; return this; } /** * The status of the BGP peer connection. 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. * @return value or {@code null} for none */ public java.lang.String getEnable() { return enable; } /** * The status of the BGP peer connection. 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. * @param enable enable or {@code null} for none */ public RouterBgpPeer setEnable(java.lang.String enable) { this.enable = enable; return this; } /** * Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. * @return value or {@code null} for none */ public java.lang.Boolean getEnableIpv4() { return enableIpv4; } /** * Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. * @param enableIpv4 enableIpv4 or {@code null} for none */ public RouterBgpPeer setEnableIpv4(java.lang.Boolean enableIpv4) { this.enableIpv4 = enableIpv4; return this; } /** * Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6. * @return value or {@code null} for none */ public java.lang.Boolean getEnableIpv6() { return enableIpv6; } /** * Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6. * @param enableIpv6 enableIpv6 or {@code null} for none */ public RouterBgpPeer setEnableIpv6(java.lang.Boolean enableIpv6) { this.enableIpv6 = enableIpv6; return this; } /** * List of export policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * @return value or {@code null} for none */ public java.util.List getExportPolicies() { return exportPolicies; } /** * List of export policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_EXPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * @param exportPolicies exportPolicies or {@code null} for none */ public RouterBgpPeer setExportPolicies(java.util.List exportPolicies) { this.exportPolicies = exportPolicies; return this; } /** * List of import policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * @return value or {@code null} for none */ public java.util.List getImportPolicies() { return importPolicies; } /** * List of import policies applied to this peer, in the order they must be evaluated. The name * must correspond to an existing policy that has ROUTE_POLICY_TYPE_IMPORT type. Note that Route * Policies are currently available in preview. Please use Beta API to use Route Policies. * @param importPolicies importPolicies or {@code null} for none */ public RouterBgpPeer setImportPolicies(java.util.List importPolicies) { this.importPolicies = importPolicies; return this; } /** * Name of the interface the BGP peer is associated with. * @return value or {@code null} for none */ public java.lang.String getInterfaceName() { return interfaceName; } /** * Name of the interface the BGP peer is associated with. * @param interfaceName interfaceName or {@code null} for none */ public RouterBgpPeer setInterfaceName(java.lang.String interfaceName) { this.interfaceName = interfaceName; return this; } /** * IP address of the interface inside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getIpAddress() { return ipAddress; } /** * IP address of the interface inside Google Cloud Platform. * @param ipAddress ipAddress or {@code null} for none */ public RouterBgpPeer setIpAddress(java.lang.String ipAddress) { this.ipAddress = ipAddress; return this; } /** * IPv4 address of the interface inside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getIpv4NexthopAddress() { return ipv4NexthopAddress; } /** * IPv4 address of the interface inside Google Cloud Platform. * @param ipv4NexthopAddress ipv4NexthopAddress or {@code null} for none */ public RouterBgpPeer setIpv4NexthopAddress(java.lang.String ipv4NexthopAddress) { this.ipv4NexthopAddress = ipv4NexthopAddress; return this; } /** * IPv6 address of the interface inside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getIpv6NexthopAddress() { return ipv6NexthopAddress; } /** * IPv6 address of the interface inside Google Cloud Platform. * @param ipv6NexthopAddress ipv6NexthopAddress or {@code null} for none */ public RouterBgpPeer setIpv6NexthopAddress(java.lang.String ipv6NexthopAddress) { this.ipv6NexthopAddress = ipv6NexthopAddress; return this; } /** * [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. * @return value or {@code null} for none */ public java.lang.String getManagementType() { return managementType; } /** * [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. * @param managementType managementType or {@code null} for none */ public RouterBgpPeer setManagementType(java.lang.String managementType) { this.managementType = managementType; return this; } /** * Present if MD5 authentication is enabled for the peering. Must be the name of one of the * entries in the Router.md5_authentication_keys. The field must comply with RFC1035. * @return value or {@code null} for none */ public java.lang.String getMd5AuthenticationKeyName() { return md5AuthenticationKeyName; } /** * Present if MD5 authentication is enabled for the peering. Must be the name of one of the * entries in the Router.md5_authentication_keys. The field must comply with RFC1035. * @param md5AuthenticationKeyName md5AuthenticationKeyName or {@code null} for none */ public RouterBgpPeer setMd5AuthenticationKeyName(java.lang.String md5AuthenticationKeyName) { this.md5AuthenticationKeyName = md5AuthenticationKeyName; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * 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. * @param name name or {@code null} for none */ public RouterBgpPeer setName(java.lang.String name) { this.name = name; return this; } /** * Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. * @return value or {@code null} for none */ public java.lang.Long getPeerAsn() { return peerAsn; } /** * Peer BGP Autonomous System Number (ASN). Each BGP interface may use a different value. * @param peerAsn peerAsn or {@code null} for none */ public RouterBgpPeer setPeerAsn(java.lang.Long peerAsn) { this.peerAsn = peerAsn; return this; } /** * IP address of the BGP interface outside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getPeerIpAddress() { return peerIpAddress; } /** * IP address of the BGP interface outside Google Cloud Platform. * @param peerIpAddress peerIpAddress or {@code null} for none */ public RouterBgpPeer setPeerIpAddress(java.lang.String peerIpAddress) { this.peerIpAddress = peerIpAddress; return this; } /** * IPv4 address of the BGP interface outside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getPeerIpv4NexthopAddress() { return peerIpv4NexthopAddress; } /** * IPv4 address of the BGP interface outside Google Cloud Platform. * @param peerIpv4NexthopAddress peerIpv4NexthopAddress or {@code null} for none */ public RouterBgpPeer setPeerIpv4NexthopAddress(java.lang.String peerIpv4NexthopAddress) { this.peerIpv4NexthopAddress = peerIpv4NexthopAddress; return this; } /** * IPv6 address of the BGP interface outside Google Cloud Platform. * @return value or {@code null} for none */ public java.lang.String getPeerIpv6NexthopAddress() { return peerIpv6NexthopAddress; } /** * IPv6 address of the BGP interface outside Google Cloud Platform. * @param peerIpv6NexthopAddress peerIpv6NexthopAddress or {@code null} for none */ public RouterBgpPeer setPeerIpv6NexthopAddress(java.lang.String peerIpv6NexthopAddress) { this.peerIpv6NexthopAddress = peerIpv6NexthopAddress; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getRouterApplianceInstance() { return routerApplianceInstance; } /** * 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. * @param routerApplianceInstance routerApplianceInstance or {@code null} for none */ public RouterBgpPeer setRouterApplianceInstance(java.lang.String routerApplianceInstance) { this.routerApplianceInstance = routerApplianceInstance; return this; } @Override public RouterBgpPeer set(String fieldName, Object value) { return (RouterBgpPeer) super.set(fieldName, value); } @Override public RouterBgpPeer clone() { return (RouterBgpPeer) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy