{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "controllers": {
          "properties": {
            "loadBalancer": {
              "properties": {
                "assignIPs": {
                  "default": "AllServices",
                  "enum": [
                    "AllServices",
                    "RequestedServicesOnly"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "namespace": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "node": {
              "properties": {
                "hostEndpoint": {
                  "properties": {
                    "autoCreate": {
                      "enum": [
                        "Enabled",
                        "Disabled"
                      ],
                      "type": "string"
                    },
                    "createDefaultHostEndpoint": {
                      "type": "string"
                    },
                    "templates": {
                      "items": {
                        "properties": {
                          "generateName": {
                            "maxLength": 253,
                            "type": "string"
                          },
                          "interfaceCIDRs": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "set"
                          },
                          "interfacePattern": {
                            "type": "string"
                          },
                          "labels": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "nodeSelector": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "leakGracePeriod": {
                  "type": "string"
                },
                "reconcilerPeriod": {
                  "type": "string"
                },
                "syncLabels": {
                  "enum": [
                    "Enabled",
                    "Disabled"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "policy": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "policyMigration": {
              "properties": {
                "enabled": {
                  "default": "Enabled",
                  "enum": [
                    "Disabled",
                    "Enabled"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "serviceAccount": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "workloadEndpoint": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "debugProfilePort": {
          "format": "int32",
          "maximum": 65535,
          "minimum": 0,
          "type": "integer"
        },
        "etcdV3CompactionPeriod": {
          "type": "string"
        },
        "healthChecks": {
          "default": "Enabled",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string"
        },
        "logSeverityScreen": {
          "enum": [
            "None",
            "Debug",
            "Info",
            "Warning",
            "Error",
            "Fatal",
            "Panic"
          ],
          "type": "string"
        },
        "prometheusMetricsPort": {
          "maximum": 65535,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "controllers"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "environmentVars": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "runningConfig": {
          "properties": {
            "controllers": {
              "properties": {
                "loadBalancer": {
                  "properties": {
                    "assignIPs": {
                      "default": "AllServices",
                      "enum": [
                        "AllServices",
                        "RequestedServicesOnly"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "namespace": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "node": {
                  "properties": {
                    "hostEndpoint": {
                      "properties": {
                        "autoCreate": {
                          "enum": [
                            "Enabled",
                            "Disabled"
                          ],
                          "type": "string"
                        },
                        "createDefaultHostEndpoint": {
                          "type": "string"
                        },
                        "templates": {
                          "items": {
                            "properties": {
                              "generateName": {
                                "maxLength": 253,
                                "type": "string"
                              },
                              "interfaceCIDRs": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "interfacePattern": {
                                "type": "string"
                              },
                              "labels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              },
                              "nodeSelector": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "leakGracePeriod": {
                      "type": "string"
                    },
                    "reconcilerPeriod": {
                      "type": "string"
                    },
                    "syncLabels": {
                      "enum": [
                        "Enabled",
                        "Disabled"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "policy": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "policyMigration": {
                  "properties": {
                    "enabled": {
                      "default": "Enabled",
                      "enum": [
                        "Disabled",
                        "Enabled"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "serviceAccount": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "workloadEndpoint": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "debugProfilePort": {
              "format": "int32",
              "maximum": 65535,
              "minimum": 0,
              "type": "integer"
            },
            "etcdV3CompactionPeriod": {
              "type": "string"
            },
            "healthChecks": {
              "default": "Enabled",
              "enum": [
                "Enabled",
                "Disabled"
              ],
              "type": "string"
            },
            "logSeverityScreen": {
              "enum": [
                "None",
                "Debug",
                "Info",
                "Warning",
                "Error",
                "Fatal",
                "Panic"
              ],
              "type": "string"
            },
            "prometheusMetricsPort": {
              "maximum": 65535,
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "controllers"
          ],
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "metadata",
    "spec"
  ],
  "type": "object"
}
