Skip to content

Commit cbb5d05

Browse files
committed
Modified logic for validation
1 parent 76b7f98 commit cbb5d05

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

Diff for: pkg/cloud/azure/assets/validating-admission-service-annotation-policy.yaml

+10-6
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ spec:
1111
resources: ["services"]
1212
validations:
1313
- expression: |
14-
(!has(object.metadata.annotations) ||
1514
!('service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout' in object.metadata.annotations) ||
16-
(object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout'].matches('^[0-9]+$') &&
17-
int(object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout']) >= 4 &&
18-
int(object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout']) <= 100))
19-
message: "The annotation 'service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout', if specified, must have a value between 4 and 100."
20-
15+
(
16+
object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout'].matches('^[0-9]+$') &&
17+
int(object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout']) >= 4 &&
18+
int(object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout']) <= 100
19+
) ||
20+
(
21+
oldObject != null &&
22+
oldObject.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout'] == object.metadata.annotations['service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout']
23+
)
24+
message: "The annotation 'service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout', if specified, must have a value between 4 and 100. Changes to an invalid value are not allowed."

Diff for: pkg/cloud/gcp/assets/validating-admission-policy.yaml

+10-5
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ spec:
1010
operations: ["CREATE", "UPDATE"]
1111
resources: ["services"]
1212
validations:
13-
- expression: "(!has(object.metadata.annotations) || !('cloud.google.com/network-tier' in object.metadata.annotations) ||
14-
(object.metadata.annotations['cloud.google.com/network-tier'] == 'Standard' || object.metadata.annotations['cloud.google.com/network-tier'] == 'Premium') ||
15-
(has(oldObject.metadata.annotations) && oldObject.metadata.annotations['cloud.google.com/network-tier'] == object.metadata.annotations['cloud.google.com/network-tier']))"
16-
message: "The annotation 'cloud.google.com/network-tier', if specified, must be either 'Standard' or 'Premium'."
17-
13+
- expression: "!(
14+
has(object.metadata.annotations['cloud.google.com/network-tier']) &&
15+
!(object.metadata.annotations['cloud.google.com/network-tier'] in ['Standard', 'Premium']) &&
16+
(
17+
oldObject == null ||
18+
!has(oldObject.metadata.annotations['cloud.google.com/network-tier']) ||
19+
oldObject.metadata.annotations['cloud.google.com/network-tier'] != object.metadata.annotations['cloud.google.com/network-tier']
20+
)
21+
)"
22+
message: "The annotation 'cloud.google.com/network-tier', if specified, must be either 'Standard' or 'Premium', and changes to invalid values are not allowed."

0 commit comments

Comments
 (0)