You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors
2
+
// SPDX-License-Identifier: Apache-2.0
3
+
4
+
package v1alpha1
5
+
6
+
import (
7
+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8
+
)
9
+
10
+
// NXOSVPCSpec defines the desired state of NXOSVPC (Cisco's NXOS Virtual Port Channel)
11
+
typeNXOSVPCSpecstruct {
12
+
// DeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
13
+
// Immutable.
14
+
// +required
15
+
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="DeviceRef is immutable"
16
+
DeviceRefLocalObjectReference`json:"deviceRef"`
17
+
18
+
// DomainID is the vPC domain ID.
19
+
// +required
20
+
// +kubebuilder:validation:Minimum=1
21
+
// +kubebuilder:validation:Maximum=1000
22
+
DomainIDint32`json:"domainId"`
23
+
24
+
// AdminState is the administrative state of the vPC domain.
25
+
// +required
26
+
// +kubebuilder:default="enabled"
27
+
// +kubebuilder:validation:Enum=enabled;disabled
28
+
AdminStatestring`json:"adminState,omitempty"`
29
+
30
+
// RolePriority is the role priority for this vPC domain.
31
+
// +required
32
+
// +kubebuilder:validation:Minimum=1
33
+
// +kubebuilder:validation:Maximum=65535
34
+
RolePriorityuint16`json:"rolePriority"`
35
+
36
+
// SystemPriority is the system priority for this vPC domain.
37
+
// +required
38
+
// +kubebuilder:validation:Minimum=1
39
+
// +kubebuilder:validation:Maximum=65535
40
+
SystemPriorityuint16`json:"systemPriority"`
41
+
42
+
// DelayRestoreSVI is the delay in bringing up bringing-up the interface-vlan
43
+
// +required
44
+
// +kubebuilder:validation:Minimum=1
45
+
// +kubebuilder:validation:Maximum=3600
46
+
DelayRestoreSVIuint16`json:"delayRestoreSVI"`
47
+
48
+
// DelayRestoreVPC is the delay in bringing up the vPC links after restoring the peer-link
49
+
// +required
50
+
// +kubebuilder:validation:Minimum=1
51
+
// +kubebuilder:validation:Maximum=3600
52
+
DelayRestoreVPCuint16`json:"delayRestoreVPC"`
53
+
54
+
// +required
55
+
FastConvergenceAdminSt`json:"fastConvergence"`
56
+
57
+
// +required
58
+
PeerPeer`json:"peer"`
59
+
}
60
+
61
+
// AdminSt represents administrative state (enabled/disabled)
62
+
typeAdminStstruct {
63
+
// +required
64
+
Enabledbool`json:"enabled"`
65
+
}
66
+
67
+
typePeerstruct {
68
+
// +required
69
+
KeepAliveKeepAlive`json:"keepalive"`
70
+
71
+
// +required
72
+
AutoRecoveryAutoRecovery`json:"autoRecovery"`
73
+
74
+
// +required
75
+
SwitchAdminSt`json:"switch"`
76
+
77
+
// +required
78
+
GatewayAdminSt`json:"gateway"`
79
+
80
+
// Router defines layer3 peer-router settings
81
+
// +required
82
+
RouterAdminSt`json:"router"`
83
+
}
84
+
85
+
typeKeepAlivestruct {
86
+
// Destination is the destination IP address
87
+
// +required
88
+
Destinationstring`json:"destination"`
89
+
90
+
// Source is the source IP address
91
+
// +required
92
+
Sourcestring`json:"source"`
93
+
94
+
// +optional
95
+
VRFstring`json:"vrf,omitempty"`
96
+
}
97
+
98
+
// AutoRecovery holds autorecovery settings.
99
+
// +kubebuilder:validation:XValidation:rule="self.enabled ? has(self.reloadDelay) : !has(self.reloadDelay)",message="reloadDelay must be set when enabled and absent when disabled"
100
+
typeAutoRecoverystruct {
101
+
// +required
102
+
Enabledbool`json:"enabled,omitempty"`
103
+
104
+
// +optional
105
+
// +kubebuilder:validation:Minimum=60
106
+
// +kubebuilder:validation:Maximum=3600
107
+
ReloadDelayuint32`json:"reloadDelay,omitempty"`
108
+
}
109
+
110
+
// NXOSVPCStatus defines the observed state of NXOSVPC.
111
+
typeNXOSVPCStatusstruct {
112
+
// The conditions are a list of status objects that describe the state of the VPC.
0 commit comments