{
  "description": "SyncerService is the Schema for the syncerservices API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "SyncerServiceSpec defines the desired state of SyncerService",
      "properties": {
        "config": {
          "additionalProperties": false,
          "description": "Config holds the configuration for resources created by SyncerService",
          "properties": {
            "nodeSelector": {
              "additionalProperties": {
                "type": "string"
              },
              "type": [
                "object",
                "null"
              ]
            },
            "priorityClassName": {
              "description": "PriorityClassName holds the priority class to be set to pod template",
              "type": [
                "string",
                "null"
              ]
            },
            "tolerations": {
              "items": {
                "additionalProperties": false,
                "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                "properties": {
                  "effect": {
                    "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "key": {
                    "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "operator": {
                    "description": "Operator represents a key's relationship to the value.\nValid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.\nLt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "tolerationSeconds": {
                    "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.",
                    "format": "int64",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "value": {
                    "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": [
                "array",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "options": {
          "additionalProperties": false,
          "description": "Options holds additions fields and these fields will be updated on the manifests",
          "properties": {
            "configMaps": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "deployments": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "disabled": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "horizontalPodAutoscalers": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "statefulSets": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "webhookConfigurationOptions": {
              "additionalProperties": {
                "additionalProperties": false,
                "description": "WebhookOptions defines options for webhooks",
                "properties": {
                  "failurePolicy": {
                    "description": "FailurePolicyType specifies a failure policy that defines how unrecognized errors from the admission endpoint are handled.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sideEffects": {
                    "description": "SideEffectClass specifies the types of side effects a webhook may have.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "timeoutSeconds": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "targetNamespace": {
          "description": "TargetNamespace is where resources will be installed",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "SyncerServiceStatus defines the observed state of SyncerService",
      "properties": {
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
          "type": [
            "object",
            "null"
          ]
        },
        "conditions": {
          "description": "Conditions the latest available observations of a resource's current state.",
          "items": {
            "additionalProperties": false,
            "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
            "properties": {
              "lastTransitionTime": {
                "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "description": "A human readable message indicating details about the transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "severity": {
                "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of condition.",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "observedGeneration": {
          "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "syncerServiceInstallerSet": {
          "description": "The current installer set name for SyncerService",
          "type": [
            "string",
            "null"
          ]
        },
        "version": {
          "description": "The version of the installed release",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}