apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: providernetworks.k8s.plugin.opnfv.org spec: group: k8s.plugin.opnfv.org names: kind: ProviderNetwork listKind: ProviderNetworkList plural: providernetworks singular: providernetwork scope: Namespaced subresources: status: {} validation: openAPIV3Schema: properties: apiVersion: 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 kind: 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 metadata: type: object spec: properties: cniType: 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 dns: properties: domain: type: string nameservers: items: type: string type: array options: items: type: string type: array search: items: type: string type: array type: object ipv4Subnets: items: properties: excludeIps: type: string gateway: type: string name: type: string subnet: type: string required: - name - subnet type: object type: array ipv6Subnets: items: properties: excludeIps: type: string gateway: type: string name: type: string subnet: type: string required: - name - subnet type: object type: array providerNetType: type: string routes: items: properties: dst: type: string gw: type: string required: - dst type: object type: array vlan: properties: logicalInterfaceName: type: string nodeLabelList: description: '"all"/"any"(in which case a node will be randomly selected)/"specific"(see below)' items: type: string type: array providerInterfaceName: description: if VlanNodeSelector is value "specific" then this array provides a list of nodes labels type: string vlanId: type: string vlanNodeSelector: type: string required: - vlanId - vlanNodeSelector - providerInterfaceName type: object required: - cniType - ipv4Subnets - providerNetType - vlan type: object status: properties: state: 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 required: - state type: object version: v1alpha1 versions: - name: v1alpha1 served: true storage: true