Updated vino operator type code
Change-Id: I1b97b2aaa8864f3b46ccde7d7f97434d08f5c0df
This commit is contained in:
parent
b0969c2b21
commit
28ba560f8e
@ -20,22 +20,101 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
|
|
||||||
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
|
|
||||||
|
|
||||||
// VinoSpec defines the desired state of Vino
|
// VinoSpec defines the desired state of Vino
|
||||||
type VinoSpec struct {
|
type VinoSpec struct {
|
||||||
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
//Define nodelabel parameters
|
||||||
// Important: Run "make" to regenerate code after modifying this file
|
NodeSelector *NodeSelector `json:"nodelabels,omitempty"`
|
||||||
|
//Define CPU configuration
|
||||||
|
Configuration *CPUConfiguration `json:"configuration,omitempty"`
|
||||||
|
//Define network Parametes
|
||||||
|
Network *Network `json:"networks,omitempty"`
|
||||||
|
//Define node details
|
||||||
|
Node []NodeSet `json:"nodes,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
// Foo is an example field of Vino. Edit Vino_types.go to remove/update
|
type NodeSelector struct {
|
||||||
Foo string `json:"foo,omitempty"`
|
// Node type needs to specified
|
||||||
|
MatchLabels map[string]string `json:"matchLabels"`
|
||||||
|
}
|
||||||
|
type CPUConfiguration struct {
|
||||||
|
//Exclude CPU example 0-4,54-60
|
||||||
|
CPUExclude string `json:"cpuExclude,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Define network specs
|
||||||
|
type Network struct {
|
||||||
|
//Network Parameter defined
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
SubNet string `json:"subnet,omitempty"`
|
||||||
|
AllocationStart string `json:"allocationStart,omitempty"`
|
||||||
|
AllocationStop string `json:"allocationStop,omitempty"`
|
||||||
|
DNSServers []string `json:"dns_servers,omitempty"`
|
||||||
|
Routes *VMRoutes `json:"routes,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Routes defined
|
||||||
|
type VMRoutes struct {
|
||||||
|
To string `json:"to,omitempty"`
|
||||||
|
Via string `json:"via,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//VinoSpec node definitions
|
||||||
|
type NodeSet struct {
|
||||||
|
|
||||||
|
//Parameter for Node master or worker-standard
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
NodeLabel *VMNodeFlavor `json:"labels,omitempty"`
|
||||||
|
Count int `json:"count,omitempty"`
|
||||||
|
LibvirtTemplateDefinition *LibvirtTemplate `json:"libvirtTemplateDefinition,omitempty"`
|
||||||
|
NetworkInterface *NetworkInterface `json:"networkInterfaces,omitempty"`
|
||||||
|
DiskDrives *DiskDrivesTemplate `json:"diskDrives,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Define node flavor
|
||||||
|
type VMNodeFlavor struct {
|
||||||
|
VMFlavor map[string]string `json:"vmFlavor,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Define Libvirt template
|
||||||
|
type LibvirtTemplate struct {
|
||||||
|
Name string `json:"Name,omitempty"`
|
||||||
|
Namespace string `json:"Namespace,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type NetworkInterface struct {
|
||||||
|
|
||||||
|
//Define parameter for netwok interfaces
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
Type string `json:"type,omitempty"`
|
||||||
|
NetworkName string `json:"network,omitempty"`
|
||||||
|
MTU int `json:"mtu,omitempty"`
|
||||||
|
Options *InterfaceOptions `json:"options,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//VinoSpec Network option parameter definition
|
||||||
|
type InterfaceOptions struct {
|
||||||
|
InterfaceName []string `json:"interfaceName,omitempty"`
|
||||||
|
BridgeName map[string]string `json:"bridgeName,omitempty"`
|
||||||
|
Vlan int `json:"vlan,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Define disk drive for the nodes
|
||||||
|
type DiskDrivesTemplate struct {
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
Type string `json:"type,omitempty"`
|
||||||
|
Path string `json:"path,omitempty"`
|
||||||
|
Options *DiskOptions `json:"options,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//Define disk size
|
||||||
|
type DiskOptions struct {
|
||||||
|
SizeGB int `json:"sizeGb,omitempty"`
|
||||||
|
Sparse bool `json:"sparse,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VinoStatus defines the observed state of Vino
|
// VinoStatus defines the observed state of Vino
|
||||||
type VinoStatus struct {
|
type VinoStatus struct {
|
||||||
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
|
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
|
||||||
// Important: Run "make" to regenerate code after modifying this file
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// +kubebuilder:object:root=true
|
// +kubebuilder:object:root=true
|
||||||
|
@ -24,12 +24,243 @@ import (
|
|||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *CPUConfiguration) DeepCopyInto(out *CPUConfiguration) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUConfiguration.
|
||||||
|
func (in *CPUConfiguration) DeepCopy() *CPUConfiguration {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(CPUConfiguration)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *DiskDrivesTemplate) DeepCopyInto(out *DiskDrivesTemplate) {
|
||||||
|
*out = *in
|
||||||
|
if in.Options != nil {
|
||||||
|
in, out := &in.Options, &out.Options
|
||||||
|
*out = new(DiskOptions)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDrivesTemplate.
|
||||||
|
func (in *DiskDrivesTemplate) DeepCopy() *DiskDrivesTemplate {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(DiskDrivesTemplate)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *DiskOptions) DeepCopyInto(out *DiskOptions) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskOptions.
|
||||||
|
func (in *DiskOptions) DeepCopy() *DiskOptions {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(DiskOptions)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *InterfaceOptions) DeepCopyInto(out *InterfaceOptions) {
|
||||||
|
*out = *in
|
||||||
|
if in.InterfaceName != nil {
|
||||||
|
in, out := &in.InterfaceName, &out.InterfaceName
|
||||||
|
*out = make([]string, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
if in.BridgeName != nil {
|
||||||
|
in, out := &in.BridgeName, &out.BridgeName
|
||||||
|
*out = make(map[string]string, len(*in))
|
||||||
|
for key, val := range *in {
|
||||||
|
(*out)[key] = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceOptions.
|
||||||
|
func (in *InterfaceOptions) DeepCopy() *InterfaceOptions {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(InterfaceOptions)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *LibvirtTemplate) DeepCopyInto(out *LibvirtTemplate) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LibvirtTemplate.
|
||||||
|
func (in *LibvirtTemplate) DeepCopy() *LibvirtTemplate {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(LibvirtTemplate)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Network) DeepCopyInto(out *Network) {
|
||||||
|
*out = *in
|
||||||
|
if in.DNSServers != nil {
|
||||||
|
in, out := &in.DNSServers, &out.DNSServers
|
||||||
|
*out = make([]string, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
if in.Routes != nil {
|
||||||
|
in, out := &in.Routes, &out.Routes
|
||||||
|
*out = new(VMRoutes)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
|
||||||
|
func (in *Network) DeepCopy() *Network {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Network)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *NetworkInterface) DeepCopyInto(out *NetworkInterface) {
|
||||||
|
*out = *in
|
||||||
|
if in.Options != nil {
|
||||||
|
in, out := &in.Options, &out.Options
|
||||||
|
*out = new(InterfaceOptions)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterface.
|
||||||
|
func (in *NetworkInterface) DeepCopy() *NetworkInterface {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(NetworkInterface)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *NodeSelector) DeepCopyInto(out *NodeSelector) {
|
||||||
|
*out = *in
|
||||||
|
if in.MatchLabels != nil {
|
||||||
|
in, out := &in.MatchLabels, &out.MatchLabels
|
||||||
|
*out = make(map[string]string, len(*in))
|
||||||
|
for key, val := range *in {
|
||||||
|
(*out)[key] = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSelector.
|
||||||
|
func (in *NodeSelector) DeepCopy() *NodeSelector {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(NodeSelector)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *NodeSet) DeepCopyInto(out *NodeSet) {
|
||||||
|
*out = *in
|
||||||
|
if in.NodeLabel != nil {
|
||||||
|
in, out := &in.NodeLabel, &out.NodeLabel
|
||||||
|
*out = new(VMNodeFlavor)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
if in.LibvirtTemplateDefinition != nil {
|
||||||
|
in, out := &in.LibvirtTemplateDefinition, &out.LibvirtTemplateDefinition
|
||||||
|
*out = new(LibvirtTemplate)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.NetworkInterface != nil {
|
||||||
|
in, out := &in.NetworkInterface, &out.NetworkInterface
|
||||||
|
*out = new(NetworkInterface)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
if in.DiskDrives != nil {
|
||||||
|
in, out := &in.DiskDrives, &out.DiskDrives
|
||||||
|
*out = new(DiskDrivesTemplate)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSet.
|
||||||
|
func (in *NodeSet) DeepCopy() *NodeSet {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(NodeSet)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *VMNodeFlavor) DeepCopyInto(out *VMNodeFlavor) {
|
||||||
|
*out = *in
|
||||||
|
if in.VMFlavor != nil {
|
||||||
|
in, out := &in.VMFlavor, &out.VMFlavor
|
||||||
|
*out = make(map[string]string, len(*in))
|
||||||
|
for key, val := range *in {
|
||||||
|
(*out)[key] = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMNodeFlavor.
|
||||||
|
func (in *VMNodeFlavor) DeepCopy() *VMNodeFlavor {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(VMNodeFlavor)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *VMRoutes) DeepCopyInto(out *VMRoutes) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMRoutes.
|
||||||
|
func (in *VMRoutes) DeepCopy() *VMRoutes {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(VMRoutes)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *Vino) DeepCopyInto(out *Vino) {
|
func (in *Vino) DeepCopyInto(out *Vino) {
|
||||||
*out = *in
|
*out = *in
|
||||||
out.TypeMeta = in.TypeMeta
|
out.TypeMeta = in.TypeMeta
|
||||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||||
out.Spec = in.Spec
|
in.Spec.DeepCopyInto(&out.Spec)
|
||||||
out.Status = in.Status
|
out.Status = in.Status
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,6 +317,28 @@ func (in *VinoList) DeepCopyObject() runtime.Object {
|
|||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *VinoSpec) DeepCopyInto(out *VinoSpec) {
|
func (in *VinoSpec) DeepCopyInto(out *VinoSpec) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
if in.NodeSelector != nil {
|
||||||
|
in, out := &in.NodeSelector, &out.NodeSelector
|
||||||
|
*out = new(NodeSelector)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
if in.Configuration != nil {
|
||||||
|
in, out := &in.Configuration, &out.Configuration
|
||||||
|
*out = new(CPUConfiguration)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
|
if in.Network != nil {
|
||||||
|
in, out := &in.Network, &out.Network
|
||||||
|
*out = new(Network)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
|
if in.Node != nil {
|
||||||
|
in, out := &in.Node, &out.Node
|
||||||
|
*out = make([]NodeSet, len(*in))
|
||||||
|
for i := range *in {
|
||||||
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VinoSpec.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VinoSpec.
|
||||||
|
@ -34,10 +34,121 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
description: VinoSpec defines the desired state of Vino
|
description: VinoSpec defines the desired state of Vino
|
||||||
properties:
|
properties:
|
||||||
foo:
|
configuration:
|
||||||
description: Foo is an example field of Vino. Edit Vino_types.go to
|
description: Define CPU configuration
|
||||||
remove/update
|
properties:
|
||||||
type: string
|
cpuExclude:
|
||||||
|
description: Exclude CPU example 0-4,54-60
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
networks:
|
||||||
|
description: Define network Parametes
|
||||||
|
properties:
|
||||||
|
allocationStart:
|
||||||
|
type: string
|
||||||
|
allocationStop:
|
||||||
|
type: string
|
||||||
|
dns_servers:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
name:
|
||||||
|
description: Network Parameter defined
|
||||||
|
type: string
|
||||||
|
routes:
|
||||||
|
description: Routes defined
|
||||||
|
properties:
|
||||||
|
to:
|
||||||
|
type: string
|
||||||
|
via:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
subnet:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
nodelabels:
|
||||||
|
description: Define nodelabel parameters
|
||||||
|
properties:
|
||||||
|
matchLabels:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
description: Node type needs to specified
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- matchLabels
|
||||||
|
type: object
|
||||||
|
nodes:
|
||||||
|
description: Define node details
|
||||||
|
items:
|
||||||
|
description: VinoSpec node definitions
|
||||||
|
properties:
|
||||||
|
count:
|
||||||
|
type: integer
|
||||||
|
diskDrives:
|
||||||
|
description: Define disk drive for the nodes
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
options:
|
||||||
|
description: Define disk size
|
||||||
|
properties:
|
||||||
|
sizeGb:
|
||||||
|
type: integer
|
||||||
|
sparse:
|
||||||
|
type: boolean
|
||||||
|
type: object
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
labels:
|
||||||
|
description: Define node flavor
|
||||||
|
properties:
|
||||||
|
vmFlavor:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
libvirtTemplateDefinition:
|
||||||
|
description: Define Libvirt template
|
||||||
|
properties:
|
||||||
|
Name:
|
||||||
|
type: string
|
||||||
|
Namespace:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
name:
|
||||||
|
description: Parameter for Node master or worker-standard
|
||||||
|
type: string
|
||||||
|
networkInterfaces:
|
||||||
|
properties:
|
||||||
|
mtu:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
description: Define parameter for netwok interfaces
|
||||||
|
type: string
|
||||||
|
network:
|
||||||
|
type: string
|
||||||
|
options:
|
||||||
|
description: VinoSpec Network option parameter definition
|
||||||
|
properties:
|
||||||
|
bridgeName:
|
||||||
|
additionalProperties:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
interfaceName:
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
type: array
|
||||||
|
vlan:
|
||||||
|
type: integer
|
||||||
|
type: object
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
type: array
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: VinoStatus defines the observed state of Vino
|
description: VinoStatus defines the observed state of Vino
|
||||||
|
Loading…
x
Reference in New Issue
Block a user