aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/apis/k8s
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/apis/k8s')
-rw-r--r--pkg/apis/k8s/group.go6
-rw-r--r--pkg/apis/k8s/v1alpha1/doc.go4
-rw-r--r--pkg/apis/k8s/v1alpha1/network_types.go82
-rw-r--r--pkg/apis/k8s/v1alpha1/providernetwork_types.go65
-rw-r--r--pkg/apis/k8s/v1alpha1/register.go19
-rw-r--r--pkg/apis/k8s/v1alpha1/zz_generated.deepcopy.go307
-rw-r--r--pkg/apis/k8s/v1alpha1/zz_generated.openapi.go286
7 files changed, 769 insertions, 0 deletions
diff --git a/pkg/apis/k8s/group.go b/pkg/apis/k8s/group.go
new file mode 100644
index 0000000..8168e37
--- /dev/null
+++ b/pkg/apis/k8s/group.go
@@ -0,0 +1,6 @@
+// Package k8s contains k8s API versions.
+//
+// This file ensures Go source parsers acknowledge the k8s package
+// and any child packages. It can be removed if any other Go source files are
+// added to this package.
+package k8s
diff --git a/pkg/apis/k8s/v1alpha1/doc.go b/pkg/apis/k8s/v1alpha1/doc.go
new file mode 100644
index 0000000..e2e174b
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/doc.go
@@ -0,0 +1,4 @@
+// Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group
+// +k8s:deepcopy-gen=package,register
+// +groupName=k8s.plugin.opnfv.org
+package v1alpha1
diff --git a/pkg/apis/k8s/v1alpha1/network_types.go b/pkg/apis/k8s/v1alpha1/network_types.go
new file mode 100644
index 0000000..a52dd58
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/network_types.go
@@ -0,0 +1,82 @@
+package v1alpha1
+
+import (
+ 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.
+
+// NetworkSpec defines the desired state of Network
+// +k8s:openapi-gen=true
+type NetworkSpec struct {
+ // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
+ // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
+ // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
+ CniType string `json:"cniType"`
+ Ipv4Subnets []IpSubnet `json:"ipv4Subnets"`
+ Ipv6Subnets []IpSubnet `json:"ipv6Subnets,omitempty"`
+ DNS DnsSpec `json:"dns,omitempty"`
+ Routes []Route `json:"routes,omitempty"`
+}
+
+type IpSubnet struct {
+ Name string `json:"name"`
+ Subnet string `json:"subnet"`
+ Gateway string `json:"gateway,omitempty"`
+ ExcludeIps string `json:"excludeIps,omitempty"`
+}
+
+type Route struct {
+ Dst string `json:"dst"`
+ GW string `json:"gw,omitempty"`
+}
+
+type DnsSpec struct {
+ Nameservers []string `json:"nameservers,omitempty"`
+ Domain string `json:"domain,omitempty"`
+ Search []string `json:"search,omitempty"`
+ Options []string `json:"options,omitempty"`
+}
+
+const (
+ //Created indicates the status of success
+ Created = "Created"
+ //Indicates internal Irrecoverable Error
+ InternalError = "InternalError"
+)
+
+// NetworkStatus defines the observed state of Network
+// +k8s:openapi-gen=true
+type NetworkStatus struct {
+ // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
+ // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
+ // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
+ State string `json:"state"` // Indicates if Network is in "created" state
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// Network is the Schema for the networks API
+// +k8s:openapi-gen=true
+// +kubebuilder:subresource:status
+type Network struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+
+ Spec NetworkSpec `json:"spec,omitempty"`
+ Status NetworkStatus `json:"status,omitempty"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// NetworkList contains a list of Network
+type NetworkList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ Items []Network `json:"items"`
+}
+
+func init() {
+ SchemeBuilder.Register(&Network{}, &NetworkList{})
+}
diff --git a/pkg/apis/k8s/v1alpha1/providernetwork_types.go b/pkg/apis/k8s/v1alpha1/providernetwork_types.go
new file mode 100644
index 0000000..b292827
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/providernetwork_types.go
@@ -0,0 +1,65 @@
+package v1alpha1
+
+import (
+ 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.
+
+// ProviderNetworkSpec defines the desired state of ProviderNetwork
+// +k8s:openapi-gen=true
+type ProviderNetworkSpec struct {
+ // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
+ // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
+ // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
+ CniType string `json:"cniType"`
+ Ipv4Subnets []IpSubnet `json:"ipv4Subnets"`
+ Ipv6Subnets []IpSubnet `json:"ipv6Subnets,omitempty"`
+ DNS DnsSpec `json:"dns,omitempty"`
+ Routes []Route `json:"routes,omitempty"`
+ ProviderNetType string `json:"providerNetType"`
+ Vlan VlanSpec `json:"vlan"` // For now VLAN is the only supported type
+}
+
+type VlanSpec struct {
+ VlanId string `json:"vlanId"`
+ Node string `json:"node"`
+ ProviderInterfaceName string `json:"providerInterfaceName"`
+ LogicalInterfaceName string `json:"logicalInterfaceName,omitempty"`
+}
+
+// ProviderNetworkStatus defines the observed state of ProviderNetwork
+// +k8s:openapi-gen=true
+type ProviderNetworkStatus struct {
+ // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
+ // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
+ // Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
+ State string `json:"state"` // Indicates if ProviderNetwork is in "created" state
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// ProviderNetwork is the Schema for the providernetworks API
+// +k8s:openapi-gen=true
+// +kubebuilder:subresource:status
+type ProviderNetwork struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ObjectMeta `json:"metadata,omitempty"`
+
+ Spec ProviderNetworkSpec `json:"spec,omitempty"`
+ Status ProviderNetworkStatus `json:"status,omitempty"`
+}
+
+// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
+
+// ProviderNetworkList contains a list of ProviderNetwork
+type ProviderNetworkList struct {
+ metav1.TypeMeta `json:",inline"`
+ metav1.ListMeta `json:"metadata,omitempty"`
+ Items []ProviderNetwork `json:"items"`
+}
+
+func init() {
+ SchemeBuilder.Register(&ProviderNetwork{}, &ProviderNetworkList{})
+}
diff --git a/pkg/apis/k8s/v1alpha1/register.go b/pkg/apis/k8s/v1alpha1/register.go
new file mode 100644
index 0000000..b65f347
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/register.go
@@ -0,0 +1,19 @@
+// NOTE: Boilerplate only. Ignore this file.
+
+// Package v1alpha1 contains API Schema definitions for the k8s v1alpha1 API group
+// +k8s:deepcopy-gen=package,register
+// +groupName=k8s.plugin.opnfv.org
+package v1alpha1
+
+import (
+ "k8s.io/apimachinery/pkg/runtime/schema"
+ "sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
+)
+
+var (
+ // SchemeGroupVersion is group version used to register these objects
+ SchemeGroupVersion = schema.GroupVersion{Group: "k8s.plugin.opnfv.org", Version: "v1alpha1"}
+
+ // SchemeBuilder is used to add go types to the GroupVersionKind scheme
+ SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
+)
diff --git a/pkg/apis/k8s/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/k8s/v1alpha1/zz_generated.deepcopy.go
new file mode 100644
index 0000000..b524d40
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/zz_generated.deepcopy.go
@@ -0,0 +1,307 @@
+// +build !ignore_autogenerated
+
+// Code generated by operator-sdk. DO NOT EDIT.
+
+package v1alpha1
+
+import (
+ 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 *DnsSpec) DeepCopyInto(out *DnsSpec) {
+ *out = *in
+ if in.Nameservers != nil {
+ in, out := &in.Nameservers, &out.Nameservers
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.Search != nil {
+ in, out := &in.Search, &out.Search
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ if in.Options != nil {
+ in, out := &in.Options, &out.Options
+ *out = make([]string, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsSpec.
+func (in *DnsSpec) DeepCopy() *DnsSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(DnsSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *IpSubnet) DeepCopyInto(out *IpSubnet) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSubnet.
+func (in *IpSubnet) DeepCopy() *IpSubnet {
+ if in == nil {
+ return nil
+ }
+ out := new(IpSubnet)
+ 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
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ out.Status = in.Status
+ return
+}
+
+// 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
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *Network) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NetworkList) DeepCopyInto(out *NetworkList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ out.ListMeta = in.ListMeta
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]Network, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList.
+func (in *NetworkList) DeepCopy() *NetworkList {
+ if in == nil {
+ return nil
+ }
+ out := new(NetworkList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *NetworkList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec) {
+ *out = *in
+ if in.Ipv4Subnets != nil {
+ in, out := &in.Ipv4Subnets, &out.Ipv4Subnets
+ *out = make([]IpSubnet, len(*in))
+ copy(*out, *in)
+ }
+ if in.Ipv6Subnets != nil {
+ in, out := &in.Ipv6Subnets, &out.Ipv6Subnets
+ *out = make([]IpSubnet, len(*in))
+ copy(*out, *in)
+ }
+ in.DNS.DeepCopyInto(&out.DNS)
+ if in.Routes != nil {
+ in, out := &in.Routes, &out.Routes
+ *out = make([]Route, len(*in))
+ copy(*out, *in)
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
+func (in *NetworkSpec) DeepCopy() *NetworkSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(NetworkSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
+func (in *NetworkStatus) DeepCopy() *NetworkStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(NetworkStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ProviderNetwork) DeepCopyInto(out *ProviderNetwork) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ out.Status = in.Status
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderNetwork.
+func (in *ProviderNetwork) DeepCopy() *ProviderNetwork {
+ if in == nil {
+ return nil
+ }
+ out := new(ProviderNetwork)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ProviderNetwork) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ProviderNetworkList) DeepCopyInto(out *ProviderNetworkList) {
+ *out = *in
+ out.TypeMeta = in.TypeMeta
+ out.ListMeta = in.ListMeta
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]ProviderNetwork, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderNetworkList.
+func (in *ProviderNetworkList) DeepCopy() *ProviderNetworkList {
+ if in == nil {
+ return nil
+ }
+ out := new(ProviderNetworkList)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ProviderNetworkList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ProviderNetworkSpec) DeepCopyInto(out *ProviderNetworkSpec) {
+ *out = *in
+ if in.Ipv4Subnets != nil {
+ in, out := &in.Ipv4Subnets, &out.Ipv4Subnets
+ *out = make([]IpSubnet, len(*in))
+ copy(*out, *in)
+ }
+ if in.Ipv6Subnets != nil {
+ in, out := &in.Ipv6Subnets, &out.Ipv6Subnets
+ *out = make([]IpSubnet, len(*in))
+ copy(*out, *in)
+ }
+ in.DNS.DeepCopyInto(&out.DNS)
+ if in.Routes != nil {
+ in, out := &in.Routes, &out.Routes
+ *out = make([]Route, len(*in))
+ copy(*out, *in)
+ }
+ out.Vlan = in.Vlan
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderNetworkSpec.
+func (in *ProviderNetworkSpec) DeepCopy() *ProviderNetworkSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(ProviderNetworkSpec)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *ProviderNetworkStatus) DeepCopyInto(out *ProviderNetworkStatus) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderNetworkStatus.
+func (in *ProviderNetworkStatus) DeepCopy() *ProviderNetworkStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(ProviderNetworkStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *Route) DeepCopyInto(out *Route) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
+func (in *Route) DeepCopy() *Route {
+ if in == nil {
+ return nil
+ }
+ out := new(Route)
+ in.DeepCopyInto(out)
+ return out
+}
+
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *VlanSpec) DeepCopyInto(out *VlanSpec) {
+ *out = *in
+ return
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VlanSpec.
+func (in *VlanSpec) DeepCopy() *VlanSpec {
+ if in == nil {
+ return nil
+ }
+ out := new(VlanSpec)
+ in.DeepCopyInto(out)
+ return out
+}
diff --git a/pkg/apis/k8s/v1alpha1/zz_generated.openapi.go b/pkg/apis/k8s/v1alpha1/zz_generated.openapi.go
new file mode 100644
index 0000000..7343285
--- /dev/null
+++ b/pkg/apis/k8s/v1alpha1/zz_generated.openapi.go
@@ -0,0 +1,286 @@
+// +build !
+
+// This file was autogenerated by openapi-gen. Do not edit it manually!
+
+package v1alpha1
+
+import (
+ spec "github.com/go-openapi/spec"
+ common "k8s.io/kube-openapi/pkg/common"
+)
+
+func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
+ return map[string]common.OpenAPIDefinition{
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.Network": schema_pkg_apis_k8s_v1alpha1_Network(ref),
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkSpec": schema_pkg_apis_k8s_v1alpha1_NetworkSpec(ref),
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkStatus": schema_pkg_apis_k8s_v1alpha1_NetworkStatus(ref),
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetwork": schema_pkg_apis_k8s_v1alpha1_ProviderNetwork(ref),
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkSpec": schema_pkg_apis_k8s_v1alpha1_ProviderNetworkSpec(ref),
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkStatus": schema_pkg_apis_k8s_v1alpha1_ProviderNetworkStatus(ref),
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_Network(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "Network is the Schema for the networks API",
+ Properties: map[string]spec.Schema{
+ "kind": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "apiVersion": {
+ SchemaProps: spec.SchemaProps{
+ Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "metadata": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
+ },
+ },
+ "spec": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkSpec"),
+ },
+ },
+ "status": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkStatus"),
+ },
+ },
+ },
+ },
+ },
+ Dependencies: []string{
+ "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkSpec", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.NetworkStatus"},
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_NetworkSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "NetworkSpec defines the desired state of Network",
+ Properties: map[string]spec.Schema{
+ "cniType": {
+ SchemaProps: spec.SchemaProps{
+ Description: "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "ipv4Subnets": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet"),
+ },
+ },
+ },
+ },
+ },
+ "ipv6Subnets": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet"),
+ },
+ },
+ },
+ },
+ },
+ "dns": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.DnsSpec"),
+ },
+ },
+ "routes": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.Route"),
+ },
+ },
+ },
+ },
+ },
+ },
+ Required: []string{"cniType", "ipv4Subnets"},
+ },
+ },
+ Dependencies: []string{
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.DnsSpec", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.Route"},
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_NetworkStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "NetworkStatus defines the observed state of Network",
+ Properties: map[string]spec.Schema{
+ "state": {
+ SchemaProps: spec.SchemaProps{
+ Description: "INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ Required: []string{"state"},
+ },
+ },
+ Dependencies: []string{},
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_ProviderNetwork(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "ProviderNetwork is the Schema for the providernetworks API",
+ Properties: map[string]spec.Schema{
+ "kind": {
+ SchemaProps: spec.SchemaProps{
+ Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "apiVersion": {
+ SchemaProps: spec.SchemaProps{
+ Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "metadata": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
+ },
+ },
+ "spec": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkSpec"),
+ },
+ },
+ "status": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkStatus"),
+ },
+ },
+ },
+ },
+ },
+ Dependencies: []string{
+ "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkSpec", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.ProviderNetworkStatus"},
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_ProviderNetworkSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "ProviderNetworkSpec defines the desired state of ProviderNetwork",
+ Properties: map[string]spec.Schema{
+ "cniType": {
+ SchemaProps: spec.SchemaProps{
+ Description: "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "ipv4Subnets": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet"),
+ },
+ },
+ },
+ },
+ },
+ "ipv6Subnets": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet"),
+ },
+ },
+ },
+ },
+ },
+ "dns": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.DnsSpec"),
+ },
+ },
+ "routes": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.Route"),
+ },
+ },
+ },
+ },
+ },
+ "providerNetType": {
+ SchemaProps: spec.SchemaProps{
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ "vlan": {
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.VlanSpec"),
+ },
+ },
+ },
+ Required: []string{"cniType", "ipv4Subnets", "providerNetType", "vlan"},
+ },
+ },
+ Dependencies: []string{
+ "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.DnsSpec", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.IpSubnet", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.Route", "ovn4nfv-k8s-plugin/pkg/apis/k8s/v1alpha1.VlanSpec"},
+ }
+}
+
+func schema_pkg_apis_k8s_v1alpha1_ProviderNetworkStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
+ return common.OpenAPIDefinition{
+ Schema: spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Description: "ProviderNetworkStatus defines the observed state of ProviderNetwork",
+ Properties: map[string]spec.Schema{
+ "state": {
+ SchemaProps: spec.SchemaProps{
+ Description: "INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
+ },
+ Required: []string{"state"},
+ },
+ },
+ Dependencies: []string{},
+ }
+}