adding direct provider network
[ovn4nfv-k8s-plugin.git] / deploy / crds / k8s.plugin.opnfv.org_providernetworks_crd.yaml
1 apiVersion: apiextensions.k8s.io/v1beta1
2 kind: CustomResourceDefinition
3 metadata:
4   name: providernetworks.k8s.plugin.opnfv.org
5 spec:
6   group: k8s.plugin.opnfv.org
7   names:
8     kind: ProviderNetwork
9     listKind: ProviderNetworkList
10     plural: providernetworks
11     singular: providernetwork
12   scope: Namespaced
13   subresources:
14     status: {}
15   validation:
16     openAPIV3Schema:
17       description: ProviderNetwork is the Schema for the providernetworks API
18       properties:
19         apiVersion:
20           description: 'APIVersion defines the versioned schema of this representation
21             of an object. Servers should convert recognized schemas to the latest
22             internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
23           type: string
24         kind:
25           description: 'Kind is a string value representing the REST resource this
26             object represents. Servers may infer this from the endpoint the client
27             submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
28           type: string
29         metadata:
30           type: object
31         spec:
32           description: ProviderNetworkSpec defines the desired state of ProviderNetwork
33           properties:
34             cniType:
35               description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
36                 Important: Run "operator-sdk generate k8s" to regenerate code after
37                 modifying this file Add custom validation using kubebuilder tags:
38                 https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
39               type: string
40             direct:
41               properties:
42                 directNodeSelector:
43                   type: string
44                 nodeLabelList:
45                   items:
46                     type: string
47                   type: array
48                 providerInterfaceName:
49                   type: string
50               required:
51               - directNodeSelector
52               - providerInterfaceName
53               type: object
54             dns:
55               properties:
56                 domain:
57                   type: string
58                 nameservers:
59                   items:
60                     type: string
61                   type: array
62                 options:
63                   items:
64                     type: string
65                   type: array
66                 search:
67                   items:
68                     type: string
69                   type: array
70               type: object
71             ipv4Subnets:
72               items:
73                 properties:
74                   excludeIps:
75                     type: string
76                   gateway:
77                     type: string
78                   name:
79                     type: string
80                   subnet:
81                     type: string
82                 required:
83                 - name
84                 - subnet
85                 type: object
86               type: array
87             ipv6Subnets:
88               items:
89                 properties:
90                   excludeIps:
91                     type: string
92                   gateway:
93                     type: string
94                   name:
95                     type: string
96                   subnet:
97                     type: string
98                 required:
99                 - name
100                 - subnet
101                 type: object
102               type: array
103             providerNetType:
104               type: string
105             routes:
106               items:
107                 properties:
108                   dst:
109                     type: string
110                   gw:
111                     type: string
112                 required:
113                 - dst
114                 type: object
115               type: array
116             vlan:
117               properties:
118                 logicalInterfaceName:
119                   type: string
120                 nodeLabelList:
121                   items:
122                     type: string
123                   type: array
124                 providerInterfaceName:
125                   type: string
126                 vlanId:
127                   type: string
128                 vlanNodeSelector:
129                   type: string
130               required:
131               - providerInterfaceName
132               - vlanId
133               - vlanNodeSelector
134               type: object
135           required:
136           - cniType
137           - ipv4Subnets
138           - providerNetType
139           type: object
140         status:
141           description: ProviderNetworkStatus defines the observed state of ProviderNetwork
142           properties:
143             state:
144               description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
145                 of cluster Important: Run "operator-sdk generate k8s" to regenerate
146                 code after modifying this file Add custom validation using kubebuilder
147                 tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
148               type: string
149           required:
150           - state
151           type: object
152       type: object
153   version: v1alpha1
154   versions:
155   - name: v1alpha1
156     served: true
157     storage: true