github.com/cilium/cilium@v1.16.2/pkg/k8s/apis/cilium.io/client/crds/v2alpha1/ciliuml2announcementpolicies.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.15.0 7 creationTimestamp: null 8 name: ciliuml2announcementpolicies.cilium.io 9 spec: 10 group: cilium.io 11 names: 12 categories: 13 - cilium 14 kind: CiliumL2AnnouncementPolicy 15 listKind: CiliumL2AnnouncementPolicyList 16 plural: ciliuml2announcementpolicies 17 shortNames: 18 - l2announcement 19 singular: ciliuml2announcementpolicy 20 scope: Cluster 21 versions: 22 - additionalPrinterColumns: 23 - jsonPath: .metadata.creationTimestamp 24 name: Age 25 type: date 26 name: v2alpha1 27 schema: 28 openAPIV3Schema: 29 description: CiliumL2AnnouncementPolicy is a Kubernetes third-party resource 30 which is used to defined which nodes should announce what services on the 31 L2 network. 32 properties: 33 apiVersion: 34 description: 'APIVersion defines the versioned schema of this representation 35 of an object. Servers should convert recognized schemas to the latest 36 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 37 type: string 38 kind: 39 description: 'Kind is a string value representing the REST resource this 40 object represents. Servers may infer this from the endpoint the client 41 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 42 type: string 43 metadata: 44 type: object 45 spec: 46 description: Spec is a human readable description of a L2 announcement 47 policy 48 properties: 49 externalIPs: 50 description: If true, the external IPs of the services are announced 51 type: boolean 52 interfaces: 53 description: A list of regular expressions that express which network 54 interface(s) should be used to announce the services over. If nil, 55 all network interfaces are used. 56 items: 57 type: string 58 type: array 59 loadBalancerIPs: 60 description: "If true, the loadbalancer IPs of the services are announced 61 \n If nil this policy applies to all services." 62 type: boolean 63 nodeSelector: 64 description: "NodeSelector selects a group of nodes which will announce 65 the IPs for the services selected by the service selector. \n If 66 nil this policy applies to all nodes." 67 properties: 68 matchExpressions: 69 description: matchExpressions is a list of label selector requirements. 70 The requirements are ANDed. 71 items: 72 description: A label selector requirement is a selector that 73 contains values, a key, and an operator that relates the key 74 and values. 75 properties: 76 key: 77 description: key is the label key that the selector applies 78 to. 79 type: string 80 operator: 81 description: operator represents a key's relationship to 82 a set of values. Valid operators are In, NotIn, Exists 83 and DoesNotExist. 84 enum: 85 - In 86 - NotIn 87 - Exists 88 - DoesNotExist 89 type: string 90 values: 91 description: values is an array of string values. If the 92 operator is In or NotIn, the values array must be non-empty. 93 If the operator is Exists or DoesNotExist, the values 94 array must be empty. This array is replaced during a strategic 95 merge patch. 96 items: 97 type: string 98 type: array 99 x-kubernetes-list-type: atomic 100 required: 101 - key 102 - operator 103 type: object 104 type: array 105 x-kubernetes-list-type: atomic 106 matchLabels: 107 additionalProperties: 108 description: MatchLabelsValue represents the value from the 109 MatchLabels {key,value} pair. 110 maxLength: 63 111 pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ 112 type: string 113 description: matchLabels is a map of {key,value} pairs. A single 114 {key,value} in the matchLabels map is equivalent to an element 115 of matchExpressions, whose key field is "key", the operator 116 is "In", and the values array contains only "value". The requirements 117 are ANDed. 118 type: object 119 type: object 120 serviceSelector: 121 description: "ServiceSelector selects a set of services which will 122 be announced over L2 networks. The loadBalancerClass for a service 123 must be nil or specify a supported class, e.g. \"io.cilium/l2-announcer\". 124 Refer to the following document for additional details regarding 125 load balancer classes: \n https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class 126 \n If nil this policy applies to all services." 127 properties: 128 matchExpressions: 129 description: matchExpressions is a list of label selector requirements. 130 The requirements are ANDed. 131 items: 132 description: A label selector requirement is a selector that 133 contains values, a key, and an operator that relates the key 134 and values. 135 properties: 136 key: 137 description: key is the label key that the selector applies 138 to. 139 type: string 140 operator: 141 description: operator represents a key's relationship to 142 a set of values. Valid operators are In, NotIn, Exists 143 and DoesNotExist. 144 enum: 145 - In 146 - NotIn 147 - Exists 148 - DoesNotExist 149 type: string 150 values: 151 description: values is an array of string values. If the 152 operator is In or NotIn, the values array must be non-empty. 153 If the operator is Exists or DoesNotExist, the values 154 array must be empty. This array is replaced during a strategic 155 merge patch. 156 items: 157 type: string 158 type: array 159 x-kubernetes-list-type: atomic 160 required: 161 - key 162 - operator 163 type: object 164 type: array 165 x-kubernetes-list-type: atomic 166 matchLabels: 167 additionalProperties: 168 description: MatchLabelsValue represents the value from the 169 MatchLabels {key,value} pair. 170 maxLength: 63 171 pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$ 172 type: string 173 description: matchLabels is a map of {key,value} pairs. A single 174 {key,value} in the matchLabels map is equivalent to an element 175 of matchExpressions, whose key field is "key", the operator 176 is "In", and the values array contains only "value". The requirements 177 are ANDed. 178 type: object 179 type: object 180 type: object 181 status: 182 description: Status is the status of the policy. 183 properties: 184 conditions: 185 description: Current service state 186 items: 187 description: "Condition contains details for one aspect of the current 188 state of this API Resource. --- This struct is intended for direct 189 use as an array at the field path .status.conditions. For example, 190 \n type FooStatus struct{ // Represents the observations of a 191 foo's current state. // Known .status.conditions.type are: \"Available\", 192 \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge 193 // +listType=map // +listMapKey=type Conditions []metav1.Condition 194 `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" 195 protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" 196 properties: 197 lastTransitionTime: 198 description: lastTransitionTime is the last time the condition 199 transitioned from one status to another. This should be when 200 the underlying condition changed. If that is not known, then 201 using the time when the API field changed is acceptable. 202 format: date-time 203 type: string 204 message: 205 description: message is a human readable message indicating 206 details about the transition. This may be an empty string. 207 maxLength: 32768 208 type: string 209 observedGeneration: 210 description: observedGeneration represents the .metadata.generation 211 that the condition was set based upon. For instance, if .metadata.generation 212 is currently 12, but the .status.conditions[x].observedGeneration 213 is 9, the condition is out of date with respect to the current 214 state of the instance. 215 format: int64 216 minimum: 0 217 type: integer 218 reason: 219 description: reason contains a programmatic identifier indicating 220 the reason for the condition's last transition. Producers 221 of specific condition types may define expected values and 222 meanings for this field, and whether the values are considered 223 a guaranteed API. The value should be a CamelCase string. 224 This field may not be empty. 225 maxLength: 1024 226 minLength: 1 227 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 228 type: string 229 status: 230 description: status of the condition, one of True, False, Unknown. 231 enum: 232 - "True" 233 - "False" 234 - Unknown 235 type: string 236 type: 237 description: type of condition in CamelCase or in foo.example.com/CamelCase. 238 --- Many .condition.type values are consistent across resources 239 like Available, but because arbitrary conditions can be useful 240 (see .node.status.conditions), the ability to deconflict is 241 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 242 maxLength: 316 243 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 244 type: string 245 required: 246 - lastTransitionTime 247 - message 248 - reason 249 - status 250 - type 251 type: object 252 type: array 253 x-kubernetes-list-map-keys: 254 - type 255 x-kubernetes-list-type: map 256 type: object 257 required: 258 - metadata 259 type: object 260 served: true 261 storage: true 262 subresources: 263 status: {} 264 status: 265 acceptedNames: 266 kind: "" 267 plural: "" 268 conditions: [] 269 storedVersions: []