v1

package
v0.0.85 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2022 License: Apache-2.0 Imports: 7 Imported by: 21

Documentation

Overview

+kubebuilder:object:generate=true

Package v1 contains core API types used by most ndd resources. +kubebuilder:object:generate=true

Index

Constants

View Source
const (
	ConditionReasonReady    nddv1.ConditionReason = "Ready"
	ConditionReasonNotReady nddv1.ConditionReason = "NotReady"
)

ConditionReasons a package is or is not installed.

View Source
const (
	LabelNddaDeploymentPolicy string = "ndda-deployment-policy" // planned or active
	LabelNddaOwner            string = "ndda-owner"             // represented as org.depl.az.nddokind.crname
	LabelNddaOwnerGeneration  string = "ndda-owner-generation"
	LabelNddaDevice           string = "ndda-device"
	LabelNddaItfce            string = "ndda-interface"
	LabelNddaSubInterface     string = "ndda-subinterface"
	LabelNddaNetworkInstance  string = "ndda-network-instance"
	LabelNddaEndpointGroup    string = "ndds-endpoint-group"
	LabelNddaOrganization     string = "ndda-organization"
	LabelNddaDeployment       string = "ndda-deployment"
	LabelNddaAvailabilityZone string = "ndda-availability-zone"
)
View Source
const (
	// A ConditionKindAllocationReady indicates whether the allocation is ready.
	ConditionKindReady nddv1.ConditionKind = "Ready"
)

Condition Kinds.

Variables

This section is empty.

Functions

func NotReady added in v0.0.6

func NotReady() nddv1.Condition

NotReady indicates that the resource is not ready.

func Ready added in v0.0.6

func Ready() nddv1.Condition

Ready indicates that the resource is ready.

Types

type AddressAllocationStrategy added in v0.0.16

type AddressAllocationStrategy struct {
	// +kubebuilder:validation:Enum=`first`;`last`
	// +kubebuilder:default:="first"
	GatewayAllocation *GatewayAllocation `json:"gateway-allocation,omitempty"`
	// +kubebuilder:default:=31
	InfraItfcePrefixLengthIpv4 *uint32 `json:"infra-interface-prefixlength-ipv4,omitempty"`
	// +kubebuilder:default:=127
	InfraItfcePrefixLengthIpv6 *uint32 `json:"infra-interface-prefixlength-ipv6,omitempty"`
}

func (*AddressAllocationStrategy) DeepCopy added in v0.0.18

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressAllocationStrategy.

func (*AddressAllocationStrategy) DeepCopyInto added in v0.0.18

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AddressAllocationStrategy) GetGatewayAllocation added in v0.0.16

func (r *AddressAllocationStrategy) GetGatewayAllocation() string

func (*AddressAllocationStrategy) GetInfraItfcePrefixLengthIpv4 added in v0.0.18

func (r *AddressAllocationStrategy) GetInfraItfcePrefixLengthIpv4() uint32

func (*AddressAllocationStrategy) GetInfraItfcePrefixLengthIpv6 added in v0.0.18

func (r *AddressAllocationStrategy) GetInfraItfcePrefixLengthIpv6() uint32

type DeploymentPolicy added in v0.0.62

type DeploymentPolicy string
const (
	// DeploymentPlanned means the intent will allocate resources but will not
	// be deployed on the network element
	DeploymentPlanned DeploymentPolicy = "planned"

	// DeploymentActive means the intent will be deployed on the network elements
	DeploymentActive DeploymentPolicy = "active"
)

type EpgInfo added in v0.0.4

type EpgInfo struct {
	EpgName           string
	ItfceKind         string // extra selector for ipvlan, sriov e.g.
	InnerVlanId       uint16
	OuterVlanId       uint16
	Ipv4Prefixes      []*string
	Ipv6Prefixes      []*string
	ItfceSelectorKind InterfaceSelectorKind // the origin interface selector kind
	ItfceSelectorTags []*Tag                // used to keep track of the origin how the selection was done, we add this to the prefixes
}

func (*EpgInfo) DeepCopy added in v0.0.5

func (in *EpgInfo) DeepCopy() *EpgInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EpgInfo.

func (*EpgInfo) DeepCopyInto added in v0.0.5

func (in *EpgInfo) DeepCopyInto(out *EpgInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayAllocation added in v0.0.16

type GatewayAllocation string
const (
	GatewayAllocationFirst GatewayAllocation = "first"
	GatewayAllocationLast  GatewayAllocation = "last"
)

func (GatewayAllocation) String added in v0.0.16

func (s GatewayAllocation) String() string

type HealthCondition added in v0.0.77

type HealthCondition struct {
	// Kind of this condition. At most one of each condition kind may apply to
	// a resource at any point in time.
	ResourceName string `json:"resourceName"`

	HealthKind string `json:"healthKind"`

	// Status of this condition; is it currently True, False, or Unknown?
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the last time this condition transitioned from one
	// status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`

	// A Reason for this condition's last transition from one status to another.
	Reason string `json:"reason,omitempty"`

	// A Message containing details about this condition's last transition from
	// one status to another, if any.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*HealthCondition) DeepCopy added in v0.0.77

func (in *HealthCondition) DeepCopy() *HealthCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCondition.

func (*HealthCondition) DeepCopyInto added in v0.0.77

func (in *HealthCondition) DeepCopyInto(out *HealthCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HealthCondition) Equal added in v0.0.77

func (c HealthCondition) Equal(other HealthCondition) bool

Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.

func (HealthCondition) WithMessage added in v0.0.77

func (c HealthCondition) WithMessage(msg string) HealthCondition

WithMessage returns a condition by adding the provided message to existing condition.

type HealthConditionedStatus added in v0.0.77

type HealthConditionedStatus struct {
	// Status of the health in percentage
	Percentage uint32 `json:"percentage,omitempty"`

	// LastTransitionTime is the last time this condition transitioned from one
	// status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// HealthConditions that determine the health status.
	// +optional
	HealthConditions []HealthCondition `json:"healthConditions,omitempty"`
}

func NewHealthConditionedStatus added in v0.0.78

func NewHealthConditionedStatus(p uint32, c ...HealthCondition) *HealthConditionedStatus

NewConditionedStatus returns a stat with the supplied conditions set.

func (*HealthConditionedStatus) DeepCopy added in v0.0.77

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthConditionedStatus.

func (*HealthConditionedStatus) DeepCopyInto added in v0.0.77

func (in *HealthConditionedStatus) DeepCopyInto(out *HealthConditionedStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HealthConditionedStatus) Equal added in v0.0.77

Equal returns true if the status is identical to the supplied status, ignoring the LastTransitionTimes and order of statuses.

func (*HealthConditionedStatus) GetHealthCondition added in v0.0.78

func (s *HealthConditionedStatus) GetHealthCondition(resourceName, hck string) HealthCondition

GetCondition returns the condition for the given ConditionKind if exists, otherwise returns nil

func (*HealthConditionedStatus) SetHealthConditions added in v0.0.77

func (s *HealthConditionedStatus) SetHealthConditions(c ...HealthCondition)

SetConditions sets the supplied conditions, replacing any existing conditions of the same kind. This is a no-op if all supplied conditions are identical, ignoring the last transition time, to those already set.

type InterfaceSelector added in v0.0.4

type InterfaceSelector struct {
	Tag          []*Tag    `json:"tag,omitempty"`
	Ipv4Prefixes []*string `json:"ipv4-prefixes,omitempty"`
	Ipv6Prefixes []*string `json:"ipv6-prefixes,omitempty"`
	// kubebuilder:validation:Minimum=0
	// kubebuilder:validation:Maximum=4094
	// +kubebuilder:default:=0
	OuterVlanId *uint16 `json:"outer-vlan-id,omitempty"`
	// kubebuilder:validation:Minimum=0
	// kubebuilder:validation:Maximum=4094
	// +kubebuilder:default:=0
	InnerVlanId *uint16 `json:"inner-vlan-id,omitempty"`
}

func (*InterfaceSelector) DeepCopy added in v0.0.5

func (in *InterfaceSelector) DeepCopy() *InterfaceSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSelector.

func (*InterfaceSelector) DeepCopyInto added in v0.0.5

func (in *InterfaceSelector) DeepCopyInto(out *InterfaceSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InterfaceSelector) GetEpgNodeItfceInfo added in v0.0.4

func (r *InterfaceSelector) GetEpgNodeItfceInfo(is InterfaceSelectorKind) (EpgInfo, map[string]ItfceInfo, error)

func (*InterfaceSelector) GetTags added in v0.0.4

func (r *InterfaceSelector) GetTags() map[string]string

func (*InterfaceSelector) HasKind added in v0.0.19

type InterfaceSelectorKey added in v0.0.4

type InterfaceSelectorKey string
const (
	InterfaceSelectorKeyKind          InterfaceSelectorKey = "kind"
	InterfaceSelectorKeyEndpointGroup InterfaceSelectorKey = "endpoint-group"
	InterfaceSelectorKeyInterfaceKind InterfaceSelectorKey = "itfce-kind"
)

func (InterfaceSelectorKey) String added in v0.0.4

func (s InterfaceSelectorKey) String() string

type InterfaceSelectorKind added in v0.0.4

type InterfaceSelectorKind string
const (
	InterfaceSelectorKindEndpointGroup              InterfaceSelectorKind = "epg"
	InterfaceSelectorKindEndpointGroupInterfaceKind InterfaceSelectorKind = "epg-itfce"
	InterfaceSelectorKindNodeInterface              InterfaceSelectorKind = "node-itfce"
	InterfaceSelectorKindUnknown                    InterfaceSelectorKind = "unknown"
)

func (InterfaceSelectorKind) String added in v0.0.4

func (s InterfaceSelectorKind) String() string

type InterfaceSelectors added in v0.0.19

type InterfaceSelectors struct {
	// Conditions of the resource.
	// +optional
	InterfaceSelectors []InterfaceSelector `json:"interface-selector,omitempty"`
}

func (*InterfaceSelectors) DeepCopy added in v0.0.29

func (in *InterfaceSelectors) DeepCopy() *InterfaceSelectors

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSelectors.

func (*InterfaceSelectors) DeepCopyInto added in v0.0.29

func (in *InterfaceSelectors) DeepCopyInto(out *InterfaceSelectors)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InterfaceSelectors) GetEpgAndNodeItfceInfo added in v0.0.20

func (r *InterfaceSelectors) GetEpgAndNodeItfceInfo() ([]*EpgInfo, map[string]*ItfceInfo, error)

GetEpgAndNodeItfceInfo transforms the user interface selection input in an easier programatic usage we retain the information. Also validation is performed to ensure the user input is validated

type ItfceInfo added in v0.0.4

type ItfceInfo struct {
	ItfceName         string
	InnerVlanId       uint16
	OuterVlanId       uint16
	Ipv4Prefixes      []*string
	Ipv6Prefixes      []*string
	ItfceSelectorKind InterfaceSelectorKind // the origin interface selector kind
	ItfceSelectorTags []*Tag                // used to keep track of the origin how the selection was done, we add this to the prefixes
}

func (*ItfceInfo) DeepCopy added in v0.0.5

func (in *ItfceInfo) DeepCopy() *ItfceInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ItfceInfo.

func (*ItfceInfo) DeepCopyInto added in v0.0.5

func (in *ItfceInfo) DeepCopyInto(out *ItfceInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OdaInfo added in v0.0.43

type OdaInfo struct {
	Oda []Tag `json:"oda,omitempty"`
}

func NewOdaInfo added in v0.0.43

func NewOdaInfo(c ...Tag) *OdaInfo

func (*OdaInfo) DeepCopy added in v0.0.44

func (in *OdaInfo) DeepCopy() *OdaInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OdaInfo.

func (*OdaInfo) DeepCopyInto added in v0.0.44

func (in *OdaInfo) DeepCopyInto(out *OdaInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OdaInfo) GetAvailabilityZone added in v0.0.43

func (x *OdaInfo) GetAvailabilityZone() string

func (*OdaInfo) GetDeployment added in v0.0.43

func (x *OdaInfo) GetDeployment() string

func (*OdaInfo) GetOda added in v0.0.43

func (x *OdaInfo) GetOda(k string) Tag

GetCondition returns the condition for the given ConditionKind if exists, otherwise returns nil

func (*OdaInfo) GetOrganization added in v0.0.43

func (x *OdaInfo) GetOrganization() string

func (*OdaInfo) SetAvailabilityZone added in v0.0.43

func (x *OdaInfo) SetAvailabilityZone(s string)

func (*OdaInfo) SetDeployment added in v0.0.43

func (x *OdaInfo) SetDeployment(s string)

func (*OdaInfo) SetOrganization added in v0.0.43

func (x *OdaInfo) SetOrganization(s string)

func (*OdaInfo) SetTags added in v0.0.43

func (s *OdaInfo) SetTags(c ...Tag)

SetTags sets the supplied tags, replacing any existing tag of the same kind. This is a no-op if all supplied tags are identical, ignoring the last transition time, to those already set.

type OdaKind added in v0.0.43

type OdaKind string
const (
	OdaKindOrganization    OdaKind = "organization"
	OdaKindDeployment      OdaKind = "deployment"
	OdaKindAvailabiityZone OdaKind = "availability-zone"
	OdaKindUnknown         OdaKind = "unknown"
)

func (OdaKind) String added in v0.0.43

func (s OdaKind) String() string

type Register added in v0.0.3

type Register struct {
	Kind *string `json:"kind,omitempty"`
	Name *string `json:"name,omitempty"`
}

func (*Register) DeepCopy added in v0.0.3

func (in *Register) DeepCopy() *Register

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Register.

func (*Register) DeepCopyInto added in v0.0.3

func (in *Register) DeepCopyInto(out *Register)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Register) GetRegister added in v0.0.3

func (r *Register) GetRegister() map[string]string

type ResourceSpec added in v0.0.62

type ResourceSpec struct {
	// DeploymentPolicy specifies what will happen to the deployment
	// +kubebuilder:validation:Enum=`planned`;`active`
	// +kubebuilder:default=planned
	DeploymentPolicy DeploymentPolicy `json:"deployment-policy,omitempty"`
}

func (*ResourceSpec) DeepCopy added in v0.0.64

func (in *ResourceSpec) DeepCopy() *ResourceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.

func (*ResourceSpec) DeepCopyInto added in v0.0.64

func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceStatus added in v0.0.63

type ResourceStatus struct {
	// the condition status
	nddv1.ConditionedStatus `json:",inline"`
	// the health condition status
	Health HealthConditionedStatus `json:"health,omitempty"`
	// the oda info
	OdaInfo `json:",inline"`
}

ResourceStatus represents the observed state of a managed resource.

func (*ResourceStatus) DeepCopy added in v0.0.64

func (in *ResourceStatus) DeepCopy() *ResourceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.

func (*ResourceStatus) DeepCopyInto added in v0.0.64

func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tag

type Tag struct {
	Key   *string `json:"key,omitempty"`
	Value *string `json:"value,omitempty"`
}

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Tag) Equal added in v0.0.43

func (t Tag) Equal(other Tag) bool

Equal returns true if the tag is identical to the supplied tag, ignoring the LastTransitionTime.

func (*Tag) GetTag

func (t *Tag) GetTag() map[string]string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL