Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AfiSafi ¶
type AfiSafi struct {
RoutePolicyIn *routingpolicy.RoutePolicyLite `json:"route_policy_in" validate:"omitempty"`
RoutePolicyOut *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
Name AfiSafiChoice `json:"afi_safi_name" validate:"required"`
}
type AfiSafiChoice ¶
type AfiSafiChoice string
const ( IPv4Unicast AfiSafiChoice = "ipv4-unicast" IPv6Unicast AfiSafiChoice = "ipv6-unicast" L2vpnEvpn AfiSafiChoice = "l2vpn-evpn" )
type BGPGlobal ¶
type BGPGlobal struct {
Device struct {
Name string `json:"name" validate:"required"`
} `json:"device" validate:"required"`
LocalAsn common.ASN `json:"local_asn" validate:"required"`
EBGPAdministrativeDistance *uint8 `json:"ebgp_administrative_distance" validate:"omitempty"`
IBGPAdministrativeDistance *uint8 `json:"ibgp_administrative_distance" validate:"omitempty"`
GracefulRestartEnabled *bool `json:"graceful_restart" validate:"required"`
GracefulRestartTime *uint16 `json:"graceful_restart_time" validate:"omitempty"`
EcmpEnabled *bool `json:"ecmp" validate:"required"`
EcmpMaximumPaths *uint32 `json:"ecmp_maximum_paths" validate:"omitempty"`
RouterID string `json:"router_id" validate:"omitempty"`
}
type DeviceSession ¶
type DeviceSession struct {
Device struct {
Name string `json:"name" validate:"required"`
} `json:"device" validate:"required"`
LocalAsn common.ASN `json:"local_asn" validate:"required"`
PeerGroup *PeerGroupLite `json:"peer_group" validate:"omitempty"`
RoutePolicyIn *routingpolicy.RoutePolicyLite `json:"route_policy_in" validate:"omitempty"`
RoutePolicyOut *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
AfiSafis []*AfiSafi `json:"afi_safis" validate:"required"`
Enabled *bool `json:"enabled" validate:"required"`
Description string `json:"description" validate:"omitempty"`
LocalAddress Address `json:"local_address" validate:"required"`
MaximumPrefixes uint32 `json:"maximum_prefixes" validate:"omitempty"`
EnforceFirstAs bool `json:"enforce_first_as" validate:"omitempty"`
}
type PeerGroup ¶
type PeerGroup struct {
Device struct {
Name string `json:"name" validate:"required"`
} `json:"device" validate:"required"`
Name string `json:"name" validate:"required"`
RemoteAsn *common.ASN `json:"remote_asn" validate:"omitempty"`
LocalAsn *common.ASN `json:"local_asn" validate:"omitempty"`
RoutePolicyIn *routingpolicy.RoutePolicyLite `json:"route_policy_in" validate:"omitempty"`
RoutePolicyOut *routingpolicy.RoutePolicyLite `json:"route_policy_out" validate:"omitempty"`
Description string `json:"description" validate:"omitempty"`
EnforceFirstAs bool `json:"enforce_first_as" validate:"omitempty"`
}
type PeerGroupLite ¶
type PeerGroupLite struct {
Name string `json:"name" validate:"required"`
}
type Session ¶
type Session struct {
Password string `json:"password" validate:"omitempty"`
PeerA DeviceSession `json:"peer_a" validate:"required"`
PeerB DeviceSession `json:"peer_b" validate:"required"`
}
Click to show internal directories.
Click to hide internal directories.