|
76 | 76 | }, |
77 | 77 | "type": "array" |
78 | 78 | }, |
| 79 | + "inputStrategy": { |
| 80 | + "description": "InputStrategy defines how the inputs are combined when multiple\ninput provider objects are used. Defaults to flattening all inputs\nfrom all providers into a single list of input sets.", |
| 81 | + "properties": { |
| 82 | + "name": { |
| 83 | + "description": "Name defines how the inputs are combined when multiple\ninput provider objects are used. Supported values are:\n- Flatten: all inputs sets from all input provider objects are\n flattened into a single list of input sets.\n- Permute: all inputs sets from all input provider objects are\n combined using a Cartesian product, resulting in a list of input sets\n that contains every possible combination of input values.\n For example, if provider A has inputs [{x: 1}, {x: 2}] and provider B has\n inputs [{y: \"a\"}, {y: \"b\"}], the resulting input sets will be:\n [{x: 1, y: \"a\"}, {x: 1, y: \"b\"}, {x: 2, y: \"a\"}, {x: 2, y: \"b\"}].\n This strategy can lead to a large number of input sets and should be\n used with caution. Users should use filtering features from\n ResourceSetInputProvider to limit the amount of exported inputs.", |
| 84 | + "enum": [ |
| 85 | + "Flatten", |
| 86 | + "Permute" |
| 87 | + ], |
| 88 | + "type": "string" |
| 89 | + } |
| 90 | + }, |
| 91 | + "required": [ |
| 92 | + "name" |
| 93 | + ], |
| 94 | + "type": "object", |
| 95 | + "additionalProperties": false |
| 96 | + }, |
79 | 97 | "inputs": { |
80 | 98 | "description": "Inputs contains the list of ResourceSet inputs.", |
81 | 99 | "items": { |
|
90 | 108 | "inputsFrom": { |
91 | 109 | "description": "InputsFrom contains the list of references to input providers.\nWhen set, the inputs are fetched from the providers and concatenated\nwith the in-line inputs defined in the ResourceSet.", |
92 | 110 | "items": { |
| 111 | + "description": "InputProviderReference defines a reference to an input provider resource\nin the same namespace as the ResourceSet.", |
93 | 112 | "properties": { |
94 | 113 | "apiVersion": { |
95 | 114 | "description": "APIVersion of the input provider resource.\nWhen not set, the APIVersion of the ResourceSet is used.", |
| 115 | + "enum": [ |
| 116 | + "fluxcd.controlplane.io/v1" |
| 117 | + ], |
96 | 118 | "type": "string" |
97 | 119 | }, |
98 | 120 | "kind": { |
|
103 | 125 | "type": "string" |
104 | 126 | }, |
105 | 127 | "name": { |
106 | | - "description": "Name of the input provider resource.", |
| 128 | + "description": "Name of the input provider resource. Cannot be set\nwhen the Selector field is set.", |
107 | 129 | "type": "string" |
| 130 | + }, |
| 131 | + "selector": { |
| 132 | + "description": "Selector is a label selector to filter the input provider resources\nas an alternative to the Name field.", |
| 133 | + "properties": { |
| 134 | + "matchExpressions": { |
| 135 | + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", |
| 136 | + "items": { |
| 137 | + "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.", |
| 138 | + "properties": { |
| 139 | + "key": { |
| 140 | + "description": "key is the label key that the selector applies to.", |
| 141 | + "type": "string" |
| 142 | + }, |
| 143 | + "operator": { |
| 144 | + "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.", |
| 145 | + "type": "string" |
| 146 | + }, |
| 147 | + "values": { |
| 148 | + "description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.", |
| 149 | + "items": { |
| 150 | + "type": "string" |
| 151 | + }, |
| 152 | + "type": "array", |
| 153 | + "x-kubernetes-list-type": "atomic" |
| 154 | + } |
| 155 | + }, |
| 156 | + "required": [ |
| 157 | + "key", |
| 158 | + "operator" |
| 159 | + ], |
| 160 | + "type": "object", |
| 161 | + "additionalProperties": false |
| 162 | + }, |
| 163 | + "type": "array", |
| 164 | + "x-kubernetes-list-type": "atomic" |
| 165 | + }, |
| 166 | + "matchLabels": { |
| 167 | + "additionalProperties": { |
| 168 | + "type": "string" |
| 169 | + }, |
| 170 | + "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", |
| 171 | + "type": "object" |
| 172 | + } |
| 173 | + }, |
| 174 | + "type": "object", |
| 175 | + "x-kubernetes-map-type": "atomic", |
| 176 | + "additionalProperties": false |
108 | 177 | } |
109 | 178 | }, |
110 | | - "required": [ |
111 | | - "kind", |
112 | | - "name" |
113 | | - ], |
114 | 179 | "type": "object", |
| 180 | + "x-kubernetes-validations": [ |
| 181 | + { |
| 182 | + "message": "at least one of name or selector must be set for input provider references", |
| 183 | + "rule": "has(self.name) || has(self.selector)" |
| 184 | + }, |
| 185 | + { |
| 186 | + "message": "cannot set both name and selector for input provider references", |
| 187 | + "rule": "!has(self.name) || !has(self.selector)" |
| 188 | + } |
| 189 | + ], |
115 | 190 | "additionalProperties": false |
116 | 191 | }, |
117 | 192 | "type": "array" |
|
198 | 273 | }, |
199 | 274 | "type": "array" |
200 | 275 | }, |
| 276 | + "history": { |
| 277 | + "description": "History contains the reconciliation history of the ResourceSet\nas a list of snapshots ordered by the last reconciled time.", |
| 278 | + "items": { |
| 279 | + "description": "Snapshot represents a point-in-time record of a group of resources reconciliation,\nincluding timing information, status, and a unique digest identifier.", |
| 280 | + "properties": { |
| 281 | + "digest": { |
| 282 | + "description": "Digest is the checksum in the format `<algo>:<hex>` of the resources in this snapshot.", |
| 283 | + "type": "string" |
| 284 | + }, |
| 285 | + "firstReconciled": { |
| 286 | + "description": "FirstReconciled is the time when this revision was first reconciled to the cluster.", |
| 287 | + "format": "date-time", |
| 288 | + "type": "string" |
| 289 | + }, |
| 290 | + "lastReconciled": { |
| 291 | + "description": "LastReconciled is the time when this revision was last reconciled to the cluster.", |
| 292 | + "format": "date-time", |
| 293 | + "type": "string" |
| 294 | + }, |
| 295 | + "lastReconciledDuration": { |
| 296 | + "description": "LastReconciledDuration is time it took to reconcile the resources in this revision.", |
| 297 | + "type": "string" |
| 298 | + }, |
| 299 | + "lastReconciledStatus": { |
| 300 | + "description": "LastReconciledStatus is the status of the last reconciliation.", |
| 301 | + "type": "string" |
| 302 | + }, |
| 303 | + "metadata": { |
| 304 | + "additionalProperties": { |
| 305 | + "type": "string" |
| 306 | + }, |
| 307 | + "description": "Metadata contains additional information about the snapshot.", |
| 308 | + "type": "object" |
| 309 | + }, |
| 310 | + "totalReconciliations": { |
| 311 | + "description": "TotalReconciliations is the total number of reconciliations that have occurred for this snapshot.", |
| 312 | + "format": "int64", |
| 313 | + "type": "integer" |
| 314 | + } |
| 315 | + }, |
| 316 | + "required": [ |
| 317 | + "digest", |
| 318 | + "firstReconciled", |
| 319 | + "lastReconciled", |
| 320 | + "lastReconciledDuration", |
| 321 | + "lastReconciledStatus", |
| 322 | + "totalReconciliations" |
| 323 | + ], |
| 324 | + "type": "object", |
| 325 | + "additionalProperties": false |
| 326 | + }, |
| 327 | + "type": "array" |
| 328 | + }, |
201 | 329 | "inventory": { |
202 | 330 | "description": "Inventory contains a list of Kubernetes resource object references\nlast applied on the cluster.", |
203 | 331 | "properties": { |
|
0 commit comments