com.pulumi.meraki.networks.outputs.ApplianceVpnBgpNeighbor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of meraki Show documentation
Show all versions of meraki Show documentation
A Pulumi package for creating and managing Cisco Meraki resources
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.meraki.networks.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.meraki.networks.outputs.ApplianceVpnBgpNeighborAuthentication;
import com.pulumi.meraki.networks.outputs.ApplianceVpnBgpNeighborIpv6;
import com.pulumi.meraki.networks.outputs.ApplianceVpnBgpNeighborTtlSecurity;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ApplianceVpnBgpNeighbor {
/**
* @return When this feature is on, the Meraki device will advertise routes learned from other Autonomous Systems, thereby allowing traffic between Autonomous Systems to transit this AS. When absent, it defaults to false.
*
*/
private @Nullable Boolean allowTransit;
/**
* @return Authentication settings between BGP peers.
*
*/
private @Nullable ApplianceVpnBgpNeighborAuthentication authentication;
/**
* @return The eBGP hold timer in seconds for each neighbor. The eBGP hold timer must be an integer between 12 and 240.
*
*/
private @Nullable Integer ebgpHoldTimer;
/**
* @return Configure this if the neighbor is not adjacent. The eBGP multi-hop must be an integer between 1 and 255.
*
*/
private @Nullable Integer ebgpMultihop;
/**
* @return The IPv4 address of the neighbor
*
*/
private @Nullable String ip;
/**
* @return Information regarding IPv6 address of the neighbor, Required if *ip* is not present.
*
*/
private @Nullable ApplianceVpnBgpNeighborIpv6 ipv6;
/**
* @return The IPv4 address of the remote BGP peer that will establish a TCP session with the local MX.
*
*/
private @Nullable String nextHopIp;
/**
* @return The receive limit is the maximum number of routes that can be received from any BGP peer. The receive limit must be an integer between 0 and 4294967295. When absent, it defaults to 0.
*
*/
private @Nullable Integer receiveLimit;
/**
* @return Remote ASN of the neighbor. The remote ASN must be an integer between 1 and 4294967295.
*
*/
private @Nullable Integer remoteAsNumber;
/**
* @return The output interface for peering with the remote BGP peer. Valid values are: 'wan1', 'wan2' or 'vlan{VLAN ID}'(e.g. 'vlan123').
*
*/
private @Nullable String sourceInterface;
/**
* @return Settings for BGP TTL security to protect BGP peering sessions from forged IP attacks.
*
*/
private @Nullable ApplianceVpnBgpNeighborTtlSecurity ttlSecurity;
private ApplianceVpnBgpNeighbor() {}
/**
* @return When this feature is on, the Meraki device will advertise routes learned from other Autonomous Systems, thereby allowing traffic between Autonomous Systems to transit this AS. When absent, it defaults to false.
*
*/
public Optional allowTransit() {
return Optional.ofNullable(this.allowTransit);
}
/**
* @return Authentication settings between BGP peers.
*
*/
public Optional authentication() {
return Optional.ofNullable(this.authentication);
}
/**
* @return The eBGP hold timer in seconds for each neighbor. The eBGP hold timer must be an integer between 12 and 240.
*
*/
public Optional ebgpHoldTimer() {
return Optional.ofNullable(this.ebgpHoldTimer);
}
/**
* @return Configure this if the neighbor is not adjacent. The eBGP multi-hop must be an integer between 1 and 255.
*
*/
public Optional ebgpMultihop() {
return Optional.ofNullable(this.ebgpMultihop);
}
/**
* @return The IPv4 address of the neighbor
*
*/
public Optional ip() {
return Optional.ofNullable(this.ip);
}
/**
* @return Information regarding IPv6 address of the neighbor, Required if *ip* is not present.
*
*/
public Optional ipv6() {
return Optional.ofNullable(this.ipv6);
}
/**
* @return The IPv4 address of the remote BGP peer that will establish a TCP session with the local MX.
*
*/
public Optional nextHopIp() {
return Optional.ofNullable(this.nextHopIp);
}
/**
* @return The receive limit is the maximum number of routes that can be received from any BGP peer. The receive limit must be an integer between 0 and 4294967295. When absent, it defaults to 0.
*
*/
public Optional receiveLimit() {
return Optional.ofNullable(this.receiveLimit);
}
/**
* @return Remote ASN of the neighbor. The remote ASN must be an integer between 1 and 4294967295.
*
*/
public Optional remoteAsNumber() {
return Optional.ofNullable(this.remoteAsNumber);
}
/**
* @return The output interface for peering with the remote BGP peer. Valid values are: 'wan1', 'wan2' or 'vlan{VLAN ID}'(e.g. 'vlan123').
*
*/
public Optional sourceInterface() {
return Optional.ofNullable(this.sourceInterface);
}
/**
* @return Settings for BGP TTL security to protect BGP peering sessions from forged IP attacks.
*
*/
public Optional ttlSecurity() {
return Optional.ofNullable(this.ttlSecurity);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ApplianceVpnBgpNeighbor defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable Boolean allowTransit;
private @Nullable ApplianceVpnBgpNeighborAuthentication authentication;
private @Nullable Integer ebgpHoldTimer;
private @Nullable Integer ebgpMultihop;
private @Nullable String ip;
private @Nullable ApplianceVpnBgpNeighborIpv6 ipv6;
private @Nullable String nextHopIp;
private @Nullable Integer receiveLimit;
private @Nullable Integer remoteAsNumber;
private @Nullable String sourceInterface;
private @Nullable ApplianceVpnBgpNeighborTtlSecurity ttlSecurity;
public Builder() {}
public Builder(ApplianceVpnBgpNeighbor defaults) {
Objects.requireNonNull(defaults);
this.allowTransit = defaults.allowTransit;
this.authentication = defaults.authentication;
this.ebgpHoldTimer = defaults.ebgpHoldTimer;
this.ebgpMultihop = defaults.ebgpMultihop;
this.ip = defaults.ip;
this.ipv6 = defaults.ipv6;
this.nextHopIp = defaults.nextHopIp;
this.receiveLimit = defaults.receiveLimit;
this.remoteAsNumber = defaults.remoteAsNumber;
this.sourceInterface = defaults.sourceInterface;
this.ttlSecurity = defaults.ttlSecurity;
}
@CustomType.Setter
public Builder allowTransit(@Nullable Boolean allowTransit) {
this.allowTransit = allowTransit;
return this;
}
@CustomType.Setter
public Builder authentication(@Nullable ApplianceVpnBgpNeighborAuthentication authentication) {
this.authentication = authentication;
return this;
}
@CustomType.Setter
public Builder ebgpHoldTimer(@Nullable Integer ebgpHoldTimer) {
this.ebgpHoldTimer = ebgpHoldTimer;
return this;
}
@CustomType.Setter
public Builder ebgpMultihop(@Nullable Integer ebgpMultihop) {
this.ebgpMultihop = ebgpMultihop;
return this;
}
@CustomType.Setter
public Builder ip(@Nullable String ip) {
this.ip = ip;
return this;
}
@CustomType.Setter
public Builder ipv6(@Nullable ApplianceVpnBgpNeighborIpv6 ipv6) {
this.ipv6 = ipv6;
return this;
}
@CustomType.Setter
public Builder nextHopIp(@Nullable String nextHopIp) {
this.nextHopIp = nextHopIp;
return this;
}
@CustomType.Setter
public Builder receiveLimit(@Nullable Integer receiveLimit) {
this.receiveLimit = receiveLimit;
return this;
}
@CustomType.Setter
public Builder remoteAsNumber(@Nullable Integer remoteAsNumber) {
this.remoteAsNumber = remoteAsNumber;
return this;
}
@CustomType.Setter
public Builder sourceInterface(@Nullable String sourceInterface) {
this.sourceInterface = sourceInterface;
return this;
}
@CustomType.Setter
public Builder ttlSecurity(@Nullable ApplianceVpnBgpNeighborTtlSecurity ttlSecurity) {
this.ttlSecurity = ttlSecurity;
return this;
}
public ApplianceVpnBgpNeighbor build() {
final var _resultValue = new ApplianceVpnBgpNeighbor();
_resultValue.allowTransit = allowTransit;
_resultValue.authentication = authentication;
_resultValue.ebgpHoldTimer = ebgpHoldTimer;
_resultValue.ebgpMultihop = ebgpMultihop;
_resultValue.ip = ip;
_resultValue.ipv6 = ipv6;
_resultValue.nextHopIp = nextHopIp;
_resultValue.receiveLimit = receiveLimit;
_resultValue.remoteAsNumber = remoteAsNumber;
_resultValue.sourceInterface = sourceInterface;
_resultValue.ttlSecurity = ttlSecurity;
return _resultValue;
}
}
}