b92536e0350685e632de50052769113b2901f15c
[iec.git] / src / foundation / scripts / cni / danm / integration / crds / production / ClusterNetwork.yaml
1 # yamllint disable rule:hyphens rule:commas rule:indentation rule:line-length
2 apiVersion: apiextensions.k8s.io/v1beta1
3 kind: CustomResourceDefinition
4 metadata:
5   name: clusternetworks.danm.k8s.io
6 spec:
7   scope: Cluster
8   group: danm.k8s.io
9   version: v1
10   names:
11     kind: ClusterNetwork
12     plural: clusternetworks
13     singular: clusternetwork
14     shortNames:
15     - cn
16     - cnet
17   validation:
18     openAPIV3Schema:
19       properties:
20         spec:
21           properties:
22             NetworkID:
23               type: string
24             NetworkType:
25               type: string
26             AllowedTenants:
27               type: array
28               items:
29                 type: string
30             Options:
31               properties:
32                 cidr:
33                   type: string
34                   pattern: '^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))$'
35                 allocation_pool:
36                   properties:
37                     start:
38                       type: string
39                       pattern: '(^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$)?'
40                     end:
41                       type: string
42                       pattern: '(^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$)?'
43                 container_prefix:
44                   type: string
45                 host_device:
46                   type: string
47                 device_pool:
48                   type: string
49                 vxlan:
50                   type: integer
51                   format: int32
52                   minimum: 1
53                   maximum: 16777214
54                 vlan:
55                   type: integer
56                   format: int32
57                   minimum: 1
58                   maximum: 4094
59                 rt_tables:
60                   type: integer
61                   format: int32
62                   minimum: 0
63                   maximum: 255
64                 net6:
65                   type: string
66                   pattern: '^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))$'
67                 routes:
68                   type: object
69                 routes6:
70                   type: object