{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "example": {
        "credentials": {
          "rancherCloudCredential": "user-credential"
        },
        "name": "aws",
        "type": "infrastructure",
        "version": "v2.3.0"
      },
      "properties": {
        "additionalDeployments": {
          "additionalProperties": {
            "properties": {
              "deployment": {
                "properties": {
                  "affinity": {
                    "properties": {
                      "nodeAffinity": {
                        "properties": {
                          "preferredDuringSchedulingIgnoredDuringExecution": {
                            "items": {
                              "properties": {
                                "preference": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchFields": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "weight": {
                                  "format": "int32",
                                  "type": "integer"
                                }
                              },
                              "required": [
                                "preference",
                                "weight"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "requiredDuringSchedulingIgnoredDuringExecution": {
                            "properties": {
                              "nodeSelectorTerms": {
                                "items": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchFields": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "required": [
                              "nodeSelectorTerms"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          }
                        },
                        "type": "object"
                      },
                      "podAffinity": {
                        "properties": {
                          "preferredDuringSchedulingIgnoredDuringExecution": {
                            "items": {
                              "properties": {
                                "podAffinityTerm": {
                                  "properties": {
                                    "labelSelector": {
                                      "properties": {
                                        "matchExpressions": {
                                          "items": {
                                            "properties": {
                                              "key": {
                                                "type": "string"
                                              },
                                              "operator": {
                                                "type": "string"
                                              },
                                              "values": {
                                                "items": {
                                                  "type": "string"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              }
                                            },
                                            "required": [
                                              "key",
                                              "operator"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        },
                                        "matchLabels": {
                                          "additionalProperties": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "matchLabelKeys": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "mismatchLabelKeys": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "namespaceSelector": {
                                      "properties": {
                                        "matchExpressions": {
                                          "items": {
                                            "properties": {
                                              "key": {
                                                "type": "string"
                                              },
                                              "operator": {
                                                "type": "string"
                                              },
                                              "values": {
                                                "items": {
                                                  "type": "string"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              }
                                            },
                                            "required": [
                                              "key",
                                              "operator"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        },
                                        "matchLabels": {
                                          "additionalProperties": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "namespaces": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "topologyKey": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "topologyKey"
                                  ],
                                  "type": "object"
                                },
                                "weight": {
                                  "format": "int32",
                                  "type": "integer"
                                }
                              },
                              "required": [
                                "podAffinityTerm",
                                "weight"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "requiredDuringSchedulingIgnoredDuringExecution": {
                            "items": {
                              "properties": {
                                "labelSelector": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchLabels": {
                                      "additionalProperties": {
                                        "type": "string"
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "matchLabelKeys": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "mismatchLabelKeys": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "namespaceSelector": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchLabels": {
                                      "additionalProperties": {
                                        "type": "string"
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "namespaces": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "topologyKey": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "topologyKey"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "type": "object"
                      },
                      "podAntiAffinity": {
                        "properties": {
                          "preferredDuringSchedulingIgnoredDuringExecution": {
                            "items": {
                              "properties": {
                                "podAffinityTerm": {
                                  "properties": {
                                    "labelSelector": {
                                      "properties": {
                                        "matchExpressions": {
                                          "items": {
                                            "properties": {
                                              "key": {
                                                "type": "string"
                                              },
                                              "operator": {
                                                "type": "string"
                                              },
                                              "values": {
                                                "items": {
                                                  "type": "string"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              }
                                            },
                                            "required": [
                                              "key",
                                              "operator"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        },
                                        "matchLabels": {
                                          "additionalProperties": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "matchLabelKeys": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "mismatchLabelKeys": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "namespaceSelector": {
                                      "properties": {
                                        "matchExpressions": {
                                          "items": {
                                            "properties": {
                                              "key": {
                                                "type": "string"
                                              },
                                              "operator": {
                                                "type": "string"
                                              },
                                              "values": {
                                                "items": {
                                                  "type": "string"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              }
                                            },
                                            "required": [
                                              "key",
                                              "operator"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        },
                                        "matchLabels": {
                                          "additionalProperties": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "namespaces": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "topologyKey": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "topologyKey"
                                  ],
                                  "type": "object"
                                },
                                "weight": {
                                  "format": "int32",
                                  "type": "integer"
                                }
                              },
                              "required": [
                                "podAffinityTerm",
                                "weight"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "requiredDuringSchedulingIgnoredDuringExecution": {
                            "items": {
                              "properties": {
                                "labelSelector": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchLabels": {
                                      "additionalProperties": {
                                        "type": "string"
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "matchLabelKeys": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "mismatchLabelKeys": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "namespaceSelector": {
                                  "properties": {
                                    "matchExpressions": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          },
                                          "operator": {
                                            "type": "string"
                                          },
                                          "values": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "required": [
                                          "key",
                                          "operator"
                                        ],
                                        "type": "object"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    },
                                    "matchLabels": {
                                      "additionalProperties": {
                                        "type": "string"
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                },
                                "namespaces": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "topologyKey": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "topologyKey"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "containers": {
                    "items": {
                      "properties": {
                        "args": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        },
                        "command": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "env": {
                          "items": {
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              },
                              "valueFrom": {
                                "properties": {
                                  "configMapKeyRef": {
                                    "properties": {
                                      "key": {
                                        "type": "string"
                                      },
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      },
                                      "optional": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "key"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "fieldRef": {
                                    "properties": {
                                      "apiVersion": {
                                        "type": "string"
                                      },
                                      "fieldPath": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "fieldPath"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "resourceFieldRef": {
                                    "properties": {
                                      "containerName": {
                                        "type": "string"
                                      },
                                      "divisor": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "resource": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "resource"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "secretKeyRef": {
                                    "properties": {
                                      "key": {
                                        "type": "string"
                                      },
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      },
                                      "optional": {
                                        "type": "boolean"
                                      }
                                    },
                                    "required": [
                                      "key"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  }
                                },
                                "type": "object"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "imageUrl": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "resources": {
                          "properties": {
                            "claims": {
                              "items": {
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "request": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name"
                                ],
                                "type": "object"
                              },
                              "type": "array",
                              "x-kubernetes-list-map-keys": [
                                "name"
                              ],
                              "x-kubernetes-list-type": "map"
                            },
                            "limits": {
                              "additionalProperties": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ],
                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                "x-kubernetes-int-or-string": true
                              },
                              "type": "object"
                            },
                            "requests": {
                              "additionalProperties": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ],
                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                "x-kubernetes-int-or-string": true
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "imagePullSecrets": {
                    "items": {
                      "properties": {
                        "name": {
                          "default": "",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "x-kubernetes-map-type": "atomic"
                    },
                    "type": "array"
                  },
                  "nodeSelector": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "replicas": {
                    "minimum": 0,
                    "type": "integer"
                  },
                  "serviceAccountName": {
                    "type": "string"
                  },
                  "tolerations": {
                    "items": {
                      "properties": {
                        "effect": {
                          "type": "string"
                        },
                        "key": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "tolerationSeconds": {
                          "format": "int64",
                          "type": "integer"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "manager": {
                "properties": {
                  "additionalArgs": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "cacheNamespace": {
                    "type": "string"
                  },
                  "controller": {
                    "properties": {
                      "cacheSyncTimeout": {
                        "format": "int64",
                        "type": "integer"
                      },
                      "groupKindConcurrency": {
                        "additionalProperties": {
                          "type": "integer"
                        },
                        "type": "object"
                      },
                      "recoverPanic": {
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "featureGates": {
                    "additionalProperties": {
                      "type": "boolean"
                    },
                    "type": "object"
                  },
                  "gracefulShutDown": {
                    "type": "string"
                  },
                  "health": {
                    "properties": {
                      "healthProbeBindAddress": {
                        "type": "string"
                      },
                      "livenessEndpointName": {
                        "type": "string"
                      },
                      "readinessEndpointName": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "leaderElection": {
                    "properties": {
                      "leaderElect": {
                        "type": "boolean"
                      },
                      "leaseDuration": {
                        "type": "string"
                      },
                      "renewDeadline": {
                        "type": "string"
                      },
                      "resourceLock": {
                        "type": "string"
                      },
                      "resourceName": {
                        "type": "string"
                      },
                      "resourceNamespace": {
                        "type": "string"
                      },
                      "retryPeriod": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "leaderElect",
                      "leaseDuration",
                      "renewDeadline",
                      "resourceLock",
                      "resourceName",
                      "resourceNamespace",
                      "retryPeriod"
                    ],
                    "type": "object"
                  },
                  "maxConcurrentReconciles": {
                    "minimum": 1,
                    "type": "integer"
                  },
                  "metrics": {
                    "properties": {
                      "bindAddress": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "profilerAddress": {
                    "type": "string"
                  },
                  "syncPeriod": {
                    "type": "string"
                  },
                  "verbosity": {
                    "default": 1,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "webhook": {
                    "properties": {
                      "certDir": {
                        "type": "string"
                      },
                      "host": {
                        "type": "string"
                      },
                      "port": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "type": "object"
        },
        "additionalManifests": {
          "properties": {
            "name": {
              "type": "string"
            },
            "namespace": {
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "type": "object"
        },
        "configSecret": {
          "properties": {
            "name": {
              "type": "string"
            },
            "namespace": {
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "type": "object"
        },
        "credentials": {
          "example": {
            "rancherCloudCredential": "user-credential"
          },
          "maxProperties": 1,
          "minProperties": 1,
          "properties": {
            "rancherCloudCredential": {
              "type": "string"
            },
            "rancherCloudCredentialNamespaceName": {
              "type": "string"
            }
          },
          "type": "object",
          "x-kubernetes-map-type": "atomic",
          "x-kubernetes-validations": [
            {
              "message": "rancherCloudCredentialNamespaceName should be in the namespace:name format.",
              "rule": "!has(self.rancherCloudCredentialNamespaceName) || self.rancherCloudCredentialNamespaceName.matches('^.+:.+$')"
            }
          ]
        },
        "deployment": {
          "properties": {
            "affinity": {
              "properties": {
                "nodeAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "preference": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchFields": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "preference",
                          "weight"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "properties": {
                        "nodeSelectorTerms": {
                          "items": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchFields": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        }
                      },
                      "required": [
                        "nodeSelectorTerms"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic"
                    }
                  },
                  "type": "object"
                },
                "podAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "podAffinityTerm": {
                            "properties": {
                              "labelSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "matchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "mismatchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "namespaceSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "namespaces": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "topologyKey": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "topologyKey"
                            ],
                            "type": "object"
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "podAffinityTerm",
                          "weight"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "labelSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "mismatchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "namespaceSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "namespaces": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "topologyKey": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "topologyKey"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    }
                  },
                  "type": "object"
                },
                "podAntiAffinity": {
                  "properties": {
                    "preferredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "podAffinityTerm": {
                            "properties": {
                              "labelSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "matchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "mismatchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "namespaceSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "namespaces": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "topologyKey": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "topologyKey"
                            ],
                            "type": "object"
                          },
                          "weight": {
                            "format": "int32",
                            "type": "integer"
                          }
                        },
                        "required": [
                          "podAffinityTerm",
                          "weight"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "requiredDuringSchedulingIgnoredDuringExecution": {
                      "items": {
                        "properties": {
                          "labelSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "matchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "mismatchLabelKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "namespaceSelector": {
                            "properties": {
                              "matchExpressions": {
                                "items": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "key",
                                    "operator"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "matchLabels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "namespaces": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          },
                          "topologyKey": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "topologyKey"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "containers": {
              "items": {
                "properties": {
                  "args": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "command": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "env": {
                    "items": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        },
                        "valueFrom": {
                          "properties": {
                            "configMapKeyRef": {
                              "properties": {
                                "key": {
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "type": "string"
                                },
                                "optional": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "fieldRef": {
                              "properties": {
                                "apiVersion": {
                                  "type": "string"
                                },
                                "fieldPath": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "fieldPath"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "resourceFieldRef": {
                              "properties": {
                                "containerName": {
                                  "type": "string"
                                },
                                "divisor": {
                                  "anyOf": [
                                    {
                                      "type": "integer"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ],
                                  "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                  "x-kubernetes-int-or-string": true
                                },
                                "resource": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "resource"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            },
                            "secretKeyRef": {
                              "properties": {
                                "key": {
                                  "type": "string"
                                },
                                "name": {
                                  "default": "",
                                  "type": "string"
                                },
                                "optional": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "key"
                              ],
                              "type": "object",
                              "x-kubernetes-map-type": "atomic"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "imageUrl": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "resources": {
                    "properties": {
                      "claims": {
                        "items": {
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "request": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "type": "object"
                        },
                        "type": "array",
                        "x-kubernetes-list-map-keys": [
                          "name"
                        ],
                        "x-kubernetes-list-type": "map"
                      },
                      "limits": {
                        "additionalProperties": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                          "x-kubernetes-int-or-string": true
                        },
                        "type": "object"
                      },
                      "requests": {
                        "additionalProperties": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                          "x-kubernetes-int-or-string": true
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "imagePullSecrets": {
              "items": {
                "properties": {
                  "name": {
                    "default": "",
                    "type": "string"
                  }
                },
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "type": "array"
            },
            "nodeSelector": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "replicas": {
              "minimum": 0,
              "type": "integer"
            },
            "serviceAccountName": {
              "type": "string"
            },
            "tolerations": {
              "items": {
                "properties": {
                  "effect": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "operator": {
                    "type": "string"
                  },
                  "tolerationSeconds": {
                    "format": "int64",
                    "type": "integer"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "enableAutomaticUpdate": {
          "type": "boolean"
        },
        "features": {
          "example": {
            "clusterResourceSet": true,
            "clusterTopology": true,
            "machinePool": true
          },
          "properties": {
            "clusterResourceSet": {
              "type": "boolean"
            },
            "clusterTopology": {
              "type": "boolean"
            },
            "machinePool": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "fetchConfig": {
          "properties": {
            "oci": {
              "type": "string"
            },
            "selector": {
              "properties": {
                "matchExpressions": {
                  "items": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string"
                      },
                      "values": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      }
                    },
                    "required": [
                      "key",
                      "operator"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "matchLabels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            },
            "url": {
              "type": "string"
            }
          },
          "type": "object",
          "x-kubernetes-validations": [
            {
              "message": "Must specify one and only one of {oci, url, selector}",
              "rule": "[has(self.oci), has(self.url), has(self.selector)].exists_one(x,x)"
            }
          ]
        },
        "manager": {
          "properties": {
            "additionalArgs": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "cacheNamespace": {
              "type": "string"
            },
            "controller": {
              "properties": {
                "cacheSyncTimeout": {
                  "format": "int64",
                  "type": "integer"
                },
                "groupKindConcurrency": {
                  "additionalProperties": {
                    "type": "integer"
                  },
                  "type": "object"
                },
                "recoverPanic": {
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "featureGates": {
              "additionalProperties": {
                "type": "boolean"
              },
              "type": "object"
            },
            "gracefulShutDown": {
              "type": "string"
            },
            "health": {
              "properties": {
                "healthProbeBindAddress": {
                  "type": "string"
                },
                "livenessEndpointName": {
                  "type": "string"
                },
                "readinessEndpointName": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "leaderElection": {
              "properties": {
                "leaderElect": {
                  "type": "boolean"
                },
                "leaseDuration": {
                  "type": "string"
                },
                "renewDeadline": {
                  "type": "string"
                },
                "resourceLock": {
                  "type": "string"
                },
                "resourceName": {
                  "type": "string"
                },
                "resourceNamespace": {
                  "type": "string"
                },
                "retryPeriod": {
                  "type": "string"
                }
              },
              "required": [
                "leaderElect",
                "leaseDuration",
                "renewDeadline",
                "resourceLock",
                "resourceName",
                "resourceNamespace",
                "retryPeriod"
              ],
              "type": "object"
            },
            "maxConcurrentReconciles": {
              "minimum": 1,
              "type": "integer"
            },
            "metrics": {
              "properties": {
                "bindAddress": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "profilerAddress": {
              "type": "string"
            },
            "syncPeriod": {
              "type": "string"
            },
            "verbosity": {
              "default": 1,
              "minimum": 0,
              "type": "integer"
            },
            "webhook": {
              "properties": {
                "certDir": {
                  "type": "string"
                },
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "integer"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "manifestPatches": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "example": "aws",
          "type": "string"
        },
        "type": {
          "example": "InfrastructureProvider",
          "type": "string"
        },
        "variables": {
          "additionalProperties": {
            "type": "string"
          },
          "example": {
            "CLUSTER_TOPOLOGY": "true",
            "EXP_CLUSTER_RESOURCE_SET": "true",
            "EXP_MACHINE_POOL": "true"
          },
          "type": "object"
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object",
      "x-kubernetes-validations": [
        {
          "message": "CAPI Provider version should be in the semver format prefixed with 'v'. Example: v1.9.3",
          "rule": "!has(self.version) || self.version.matches(r\"\"\"^v([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-]+)?$\"\"\")"
        },
        {
          "message": "Config secret namespace is always equal to the resource namespace and should not be set.",
          "rule": "!has(self.configSecret) || !has(self.configSecret.__namespace__)"
        },
        {
          "message": "One of fetchConfig oci, url or selector should be set.",
          "rule": "!has(self.fetchConfig) || [has(self.fetchConfig.oci), has(self.fetchConfig.url), has(self.fetchConfig.selector)].exists_one(e, e)"
        }
      ]
    },
    "status": {
      "default": {},
      "properties": {
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "maxLength": 10240,
                "minLength": 1,
                "type": "string"
              },
              "reason": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "severity": {
                "maxLength": 32,
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "contract": {
          "type": "string"
        },
        "installedVersion": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "observedGeneration": {
          "format": "int64",
          "type": "integer"
        },
        "phase": {
          "default": "Pending",
          "type": "string"
        },
        "variables": {
          "additionalProperties": {
            "type": "string"
          },
          "default": {
            "CLUSTER_TOPOLOGY": "true",
            "EXP_CLUSTER_RESOURCE_SET": "true",
            "EXP_MACHINE_POOL": "true"
          },
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "type": "object",
  "x-kubernetes-validations": [
    {
      "message": "CAPI Provider type should always be set.",
      "rule": "has(self.spec.type)"
    }
  ]
}
