|
166 | 166 | } |
167 | 167 | ] |
168 | 168 | }, |
| 169 | + "capacityReservationSelectorTerms": { |
| 170 | + "items": { |
| 171 | + "additionalProperties": false, |
| 172 | + "properties": { |
| 173 | + "id": { |
| 174 | + "pattern": "^cr-[0-9a-z]+$", |
| 175 | + "type": "string" |
| 176 | + }, |
| 177 | + "ownerID": { |
| 178 | + "pattern": "^[0-9]{12}$", |
| 179 | + "type": "string" |
| 180 | + }, |
| 181 | + "tags": { |
| 182 | + "additionalProperties": { |
| 183 | + "type": "string" |
| 184 | + }, |
| 185 | + "maxProperties": 20, |
| 186 | + "type": "object", |
| 187 | + "x-kubernetes-validations": [ |
| 188 | + { |
| 189 | + "message": "empty tag keys or values aren't supported", |
| 190 | + "rule": "self.all(k, k != '' && self[k] != '')" |
| 191 | + } |
| 192 | + ] |
| 193 | + } |
| 194 | + }, |
| 195 | + "type": "object" |
| 196 | + }, |
| 197 | + "maxItems": 30, |
| 198 | + "type": "array", |
| 199 | + "x-kubernetes-validations": [ |
| 200 | + { |
| 201 | + "message": "expected at least one, got none, ['tags', 'id']", |
| 202 | + "rule": "self.all(x, has(x.tags) || has(x.id))" |
| 203 | + }, |
| 204 | + { |
| 205 | + "message": "'id' is mutually exclusive, cannot be set along with tags in a capacity reservation selector term", |
| 206 | + "rule": "!self.all(x, has(x.id) && (has(x.tags) || has(x.ownerID)))" |
| 207 | + } |
| 208 | + ] |
| 209 | + }, |
169 | 210 | "context": { |
170 | 211 | "type": "string" |
171 | 212 | }, |
|
409 | 450 | "rule": "self.all(x, has(x.tags) || has(x.id) || has(x.name))" |
410 | 451 | }, |
411 | 452 | { |
412 | | - "message": "'id' is mutually exclusive, cannot be set with a combination of other fields in securityGroupSelectorTerms", |
| 453 | + "message": "'id' is mutually exclusive, cannot be set with a combination of other fields in a security group selector term", |
413 | 454 | "rule": "!self.all(x, has(x.id) && (has(x.tags) || has(x.name)))" |
414 | 455 | }, |
415 | 456 | { |
416 | | - "message": "'name' is mutually exclusive, cannot be set with a combination of other fields in securityGroupSelectorTerms", |
| 457 | + "message": "'name' is mutually exclusive, cannot be set with a combination of other fields in a security group selector term", |
417 | 458 | "rule": "!self.all(x, has(x.name) && (has(x.tags) || has(x.id)))" |
418 | 459 | } |
419 | 460 | ] |
|
454 | 495 | "rule": "self.all(x, has(x.tags) || has(x.id))" |
455 | 496 | }, |
456 | 497 | { |
457 | | - "message": "'id' is mutually exclusive, cannot be set with a combination of other fields in subnetSelectorTerms", |
| 498 | + "message": "'id' is mutually exclusive, cannot be set with a combination of other fields in a subnet selector term", |
458 | 499 | "rule": "!self.all(x, has(x.id) && has(x.tags))" |
459 | 500 | } |
460 | 501 | ] |
|
587 | 628 | }, |
588 | 629 | "type": "array" |
589 | 630 | }, |
| 631 | + "capacityReservations": { |
| 632 | + "items": { |
| 633 | + "additionalProperties": false, |
| 634 | + "properties": { |
| 635 | + "availabilityZone": { |
| 636 | + "type": "string" |
| 637 | + }, |
| 638 | + "endTime": { |
| 639 | + "format": "date-time", |
| 640 | + "type": "string" |
| 641 | + }, |
| 642 | + "id": { |
| 643 | + "pattern": "^cr-[0-9a-z]+$", |
| 644 | + "type": "string" |
| 645 | + }, |
| 646 | + "instanceMatchCriteria": { |
| 647 | + "enum": [ |
| 648 | + "open", |
| 649 | + "targeted" |
| 650 | + ], |
| 651 | + "type": "string" |
| 652 | + }, |
| 653 | + "instanceType": { |
| 654 | + "type": "string" |
| 655 | + }, |
| 656 | + "ownerID": { |
| 657 | + "pattern": "^[0-9]{12}$", |
| 658 | + "type": "string" |
| 659 | + } |
| 660 | + }, |
| 661 | + "required": [ |
| 662 | + "availabilityZone", |
| 663 | + "id", |
| 664 | + "instanceMatchCriteria", |
| 665 | + "instanceType", |
| 666 | + "ownerID" |
| 667 | + ], |
| 668 | + "type": "object" |
| 669 | + }, |
| 670 | + "type": "array" |
| 671 | + }, |
590 | 672 | "conditions": { |
591 | 673 | "items": { |
592 | 674 | "additionalProperties": false, |
|
0 commit comments