{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$ref": "#/definitions/RancherKubernetesEngineConfig",
  "definitions": {
    "AESConfiguration": {
      "required": [
        "Keys"
      ],
      "properties": {
        "Keys": {
          "items": {
            "$ref": "#/definitions/Key"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AWSCloudProvider": {
      "required": [
        "global"
      ],
      "properties": {
        "global": {
          "$ref": "#/definitions/GlobalAwsOpts"
        },
        "service_override": {
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/ServiceOverride"
            }
          },
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AWSElasticBlockStoreVolumeSource": {
      "required": [
        "VolumeID",
        "FSType",
        "Partition",
        "ReadOnly"
      ],
      "properties": {
        "VolumeID": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "Partition": {
          "type": "integer"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AciNetworkProvider": {
      "properties": {
        "system_id": {
          "type": "string"
        },
        "apic_hosts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "type": "string"
        },
        "apic_user_name": {
          "type": "string"
        },
        "apic_user_key": {
          "type": "string"
        },
        "apic_user_crt": {
          "type": "string"
        },
        "apic_refresh_time": {
          "type": "string"
        },
        "vmm_domain": {
          "type": "string"
        },
        "vmm_controller": {
          "type": "string"
        },
        "encap_type": {
          "type": "string"
        },
        "node_subnet": {
          "type": "string"
        },
        "mcast_range_start": {
          "type": "string"
        },
        "mcast_range_end": {
          "type": "string"
        },
        "aep": {
          "type": "string"
        },
        "vrf_name": {
          "type": "string"
        },
        "vrf_tenant": {
          "type": "string"
        },
        "l3out": {
          "type": "string"
        },
        "l3out_external_networks": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extern_dynamic": {
          "type": "string"
        },
        "extern_static": {
          "type": "string"
        },
        "node_svc_subnet": {
          "type": "string"
        },
        "kube_api_vlan": {
          "type": "string"
        },
        "service_vlan": {
          "type": "string"
        },
        "infra_vlan": {
          "type": "string"
        },
        "tenant": {
          "type": "string"
        },
        "ovs_memory_limit": {
          "type": "string"
        },
        "image_pull_policy": {
          "type": "string"
        },
        "image_pull_secret": {
          "type": "string"
        },
        "service_monitor_interval": {
          "type": "string"
        },
        "pbr_tracking_non_snat": {
          "type": "string"
        },
        "install_istio": {
          "type": "string"
        },
        "istio_profile": {
          "type": "string"
        },
        "drop_log_enable": {
          "type": "string"
        },
        "controller_log_level": {
          "type": "string"
        },
        "host_agent_log_level": {
          "type": "string"
        },
        "opflex_log_level": {
          "type": "string"
        },
        "use_aci_cni_priority_class": {
          "type": "string"
        },
        "no_priority_class": {
          "type": "string"
        },
        "max_nodes_svc_graph": {
          "type": "string"
        },
        "snat_contract_scope": {
          "type": "string"
        },
        "pod_subnet_chunk_size": {
          "type": "string"
        },
        "enable_endpoint_slice": {
          "type": "string"
        },
        "snat_namespace": {
          "type": "string"
        },
        "ep_registry": {
          "type": "string"
        },
        "opflex_mode": {
          "type": "string"
        },
        "snat_port_range_start": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "snat_port_range_end": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "snat_ports_per_node": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "opflex_client_ssl": {
          "type": "string"
        },
        "use_privileged_container": {
          "type": "string"
        },
        "use_host_netns_volume": {
          "type": "string"
        },
        "use_opflex_server_volume": {
          "type": "string"
        },
        "subnet_domain_name": {
          "type": "string"
        },
        "kafka_brokers": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "kafka_client_crt": {
          "type": "string"
        },
        "kafka_client_key": {
          "type": "string"
        },
        "capic": {
          "type": "string"
        },
        "use_aci_anywhere_crd": {
          "type": "string"
        },
        "overlay_vrf_name": {
          "type": "string"
        },
        "gbp_pod_subnet": {
          "type": "string"
        },
        "run_gbp_container": {
          "type": "string"
        },
        "run_opflex_server_container": {
          "type": "string"
        },
        "opflex_server_port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AdmissionConfiguration": {
      "required": [
        "Kind",
        "APIVersion",
        "Plugins"
      ],
      "properties": {
        "Kind": {
          "type": "string"
        },
        "APIVersion": {
          "type": "string"
        },
        "Plugins": {
          "items": {
            "$ref": "#/definitions/AdmissionPluginConfiguration"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AdmissionPluginConfiguration": {
      "required": [
        "Name",
        "Path",
        "Configuration"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "Configuration": {
          "$ref": "#/definitions/Unknown"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AuditLog": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "configuration": {
          "$ref": "#/definitions/AuditLogConfig"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AuditLogConfig": {
      "properties": {
        "max_age": {
          "type": "integer"
        },
        "max_backup": {
          "type": "integer"
        },
        "max_size": {
          "type": "integer"
        },
        "path": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "policy": {
          "$ref": "#/definitions/Policy"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AuthWebhookConfig": {
      "properties": {
        "config_file": {
          "type": "string",
          "description": "ConfigFile is a multiline string that represent a custom webhook config file"
        },
        "cache_timeout": {
          "type": "string",
          "description": "CacheTimeout controls how long to cache authentication decisions"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AuthnConfig": {
      "properties": {
        "strategy": {
          "type": "string",
          "description": "Authentication strategy that will be used in kubernetes cluster"
        },
        "sans": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "List of additional hostnames and IPs to include in the api server PKI cert"
        },
        "webhook": {
          "$ref": "#/definitions/AuthWebhookConfig",
          "description": "Webhook configuration options"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AuthzConfig": {
      "properties": {
        "mode": {
          "type": "string",
          "description": "Authorization mode used by kubernetes"
        },
        "options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "Authorization mode options"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AzureCloudProvider": {
      "required": [
        "cloud",
        "tenantId",
        "subscriptionId",
        "resourceGroup",
        "location",
        "vnetName",
        "vnetResourceGroup",
        "subnetName",
        "securityGroupName",
        "routeTableName",
        "primaryAvailabilitySetName",
        "vmType",
        "primaryScaleSetName",
        "aadClientId",
        "aadClientSecret",
        "aadClientCertPath",
        "aadClientCertPassword",
        "cloudProviderBackoff",
        "cloudProviderBackoffRetries",
        "cloudProviderBackoffExponent",
        "cloudProviderBackoffDuration",
        "cloudProviderBackoffJitter",
        "cloudProviderRateLimit",
        "cloudProviderRateLimitQPS",
        "cloudProviderRateLimitBucket",
        "useInstanceMetadata",
        "useManagedIdentityExtension",
        "maximumLoadBalancerRuleCount"
      ],
      "properties": {
        "cloud": {
          "type": "string",
          "description": "The cloud environment identifier. Takes values from https://github.com/Azure/go-autorest/blob/ec5f4903f77ed9927ac95b19ab8e44ada64c1356/autorest/azure/environments.go#L13"
        },
        "tenantId": {
          "type": "string",
          "description": "The AAD Tenant ID for the Subscription that the cluster is deployed in"
        },
        "subscriptionId": {
          "type": "string",
          "description": "The ID of the Azure Subscription that the cluster is deployed in"
        },
        "resourceGroup": {
          "type": "string",
          "description": "The name of the resource group that the cluster is deployed in"
        },
        "location": {
          "type": "string",
          "description": "The location of the resource group that the cluster is deployed in"
        },
        "vnetName": {
          "type": "string",
          "description": "The name of the VNet that the cluster is deployed in"
        },
        "vnetResourceGroup": {
          "type": "string",
          "description": "The name of the resource group that the Vnet is deployed in"
        },
        "subnetName": {
          "type": "string",
          "description": "The name of the subnet that the cluster is deployed in"
        },
        "securityGroupName": {
          "type": "string",
          "description": "The name of the security group attached to the cluster's subnet"
        },
        "routeTableName": {
          "type": "string",
          "description": "(Optional in 1.6) The name of the route table attached to the subnet that the cluster is deployed in"
        },
        "primaryAvailabilitySetName": {
          "type": "string",
          "description": "(Optional) The name of the availability set that should be used as the load balancer backend\nIf this is set, the Azure cloudprovider will only add nodes from that availability set to the load\nbalancer backend pool. If this is not set, and multiple agent pools (availability sets) are used, then\nthe cloudprovider will try to add all nodes to a single backend pool which is forbidden.\nIn other words, if you use multiple agent pools (availability sets), you MUST set this field."
        },
        "vmType": {
          "type": "string",
          "description": "The type of azure nodes. Candidate valudes are: vmss and standard.\nIf not set, it will be default to standard."
        },
        "primaryScaleSetName": {
          "type": "string",
          "description": "The name of the scale set that should be used as the load balancer backend.\nIf this is set, the Azure cloudprovider will only add nodes from that scale set to the load\nbalancer backend pool. If this is not set, and multiple agent pools (scale sets) are used, then\nthe cloudprovider will try to add all nodes to a single backend pool which is forbidden.\nIn other words, if you use multiple agent pools (scale sets), you MUST set this field."
        },
        "aadClientId": {
          "type": "string",
          "description": "The ClientID for an AAD application with RBAC access to talk to Azure RM APIs\nThis's used for service principal authentication: https://github.com/Azure/aks-engine/blob/master/docs/topics/service-principals.md"
        },
        "aadClientSecret": {
          "type": "string",
          "description": "The ClientSecret for an AAD application with RBAC access to talk to Azure RM APIs\nThis's used for service principal authentication: https://github.com/Azure/aks-engine/blob/master/docs/topics/service-principals.md"
        },
        "aadClientCertPath": {
          "type": "string",
          "description": "The path of a client certificate for an AAD application with RBAC access to talk to Azure RM APIs\nThis's used for client certificate authentication: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service"
        },
        "aadClientCertPassword": {
          "type": "string",
          "description": "The password of the client certificate for an AAD application with RBAC access to talk to Azure RM APIs\nThis's used for client certificate authentication: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service"
        },
        "cloudProviderBackoff": {
          "type": "boolean",
          "description": "Enable exponential backoff to manage resource request retries"
        },
        "cloudProviderBackoffRetries": {
          "type": "integer",
          "description": "Backoff retry limit"
        },
        "cloudProviderBackoffExponent": {
          "type": "integer",
          "description": "Backoff exponent"
        },
        "cloudProviderBackoffDuration": {
          "type": "integer",
          "description": "Backoff duration"
        },
        "cloudProviderBackoffJitter": {
          "type": "integer",
          "description": "Backoff jitter"
        },
        "cloudProviderRateLimit": {
          "type": "boolean",
          "description": "Enable rate limiting"
        },
        "cloudProviderRateLimitQPS": {
          "type": "integer",
          "description": "Rate limit QPS"
        },
        "cloudProviderRateLimitBucket": {
          "type": "integer",
          "description": "Rate limit Bucket Size"
        },
        "useInstanceMetadata": {
          "type": "boolean",
          "description": "Use instance metadata service where possible"
        },
        "useManagedIdentityExtension": {
          "type": "boolean",
          "description": "Use managed service identity for the virtual machine to access Azure ARM APIs\nThis's used for managed identity authentication: https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/overview\nFor user-assigned managed identity, need to set the below UserAssignedIdentityID"
        },
        "userAssignedIdentityID": {
          "type": "string",
          "description": "The Client ID of the user assigned MSI which is assigned to the underlying VMs\nThis's used for managed identity authentication: https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/overview"
        },
        "maximumLoadBalancerRuleCount": {
          "type": "integer",
          "description": "Maximum allowed LoadBalancer Rule Count is the limit enforced by Azure Load balancer, default(0) to 148"
        },
        "loadBalancerSku": {
          "type": "string",
          "description": "Sku of Load Balancer and Public IP: `basic` or `standard`, default(blank) to `basic`"
        },
        "excludeMasterFromStandardLB": {
          "type": "boolean",
          "description": "Excludes master nodes (labeled with `node-role.kubernetes.io/master`) from the backend pool of Azure standard loadbalancer, default(nil) to `true`\nIf want adding the master nodes to ALB, this should be set to `false` and remove the `node-role.kubernetes.io/master` label from master nodes"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AzureDiskVolumeSource": {
      "required": [
        "DiskName",
        "DataDiskURI",
        "CachingMode",
        "FSType",
        "ReadOnly",
        "Kind"
      ],
      "properties": {
        "DiskName": {
          "type": "string"
        },
        "DataDiskURI": {
          "type": "string"
        },
        "CachingMode": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "Kind": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "AzureFileVolumeSource": {
      "required": [
        "SecretName",
        "ShareName",
        "ReadOnly"
      ],
      "properties": {
        "SecretName": {
          "type": "string"
        },
        "ShareName": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BackupConfig": {
      "required": [
        "enabled",
        "interval_hours",
        "retention",
        "safe_timestamp",
        "timeout"
      ],
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "interval_hours": {
          "type": "integer"
        },
        "retention": {
          "type": "integer"
        },
        "S3BackupConfig": {
          "$ref": "#/definitions/S3BackupConfig"
        },
        "safe_timestamp": {
          "type": "boolean"
        },
        "timeout": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BastionHost": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Address of Bastion Host"
        },
        "port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ],
          "description": "SSH Port of Bastion Host"
        },
        "user": {
          "type": "string",
          "description": "ssh User to Bastion Host"
        },
        "ssh_agent_auth": {
          "type": "boolean",
          "description": "SSH Agent Auth enable"
        },
        "ssh_key": {
          "type": "string",
          "description": "SSH Private Key"
        },
        "ssh_key_path": {
          "type": "string",
          "description": "SSH Private Key Path"
        },
        "ssh_cert": {
          "type": "string",
          "description": "SSH Certificate"
        },
        "ssh_cert_path": {
          "type": "string",
          "description": "SSH Certificate Path"
        },
        "ignore_proxy_env_vars": {
          "type": "boolean",
          "description": "Ignore proxy environment variables"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BlockStorageOpenstackOpts": {
      "required": [
        "bs-version",
        "trust-device-path",
        "ignore-volume-az"
      ],
      "properties": {
        "bs-version": {
          "type": "string",
          "description": "overrides autodetection. v1 or v2. Defaults to auto"
        },
        "trust-device-path": {
          "type": "boolean",
          "description": "See Issue #33128"
        },
        "ignore-volume-az": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CSIVolumeSource": {
      "required": [
        "Driver",
        "ReadOnly",
        "FSType",
        "VolumeAttributes",
        "NodePublishSecretRef"
      ],
      "properties": {
        "Driver": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "FSType": {
          "type": "string"
        },
        "VolumeAttributes": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "NodePublishSecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CalicoNetworkProvider": {
      "required": [
        "CloudProvider"
      ],
      "properties": {
        "CloudProvider": {
          "type": "string",
          "description": "Cloud provider type used with calico"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CanalNetworkProvider": {
      "required": [
        "Iface"
      ],
      "properties": {
        "Iface": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CephFSVolumeSource": {
      "required": [
        "Monitors",
        "Path",
        "User",
        "SecretFile",
        "SecretRef",
        "ReadOnly"
      ],
      "properties": {
        "Monitors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Path": {
          "type": "string"
        },
        "User": {
          "type": "string"
        },
        "SecretFile": {
          "type": "string"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CinderVolumeSource": {
      "required": [
        "VolumeID",
        "FSType",
        "ReadOnly",
        "SecretRef"
      ],
      "properties": {
        "VolumeID": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CloudProvider": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the Cloud Provider"
        },
        "awsCloudProvider": {
          "$ref": "#/definitions/AWSCloudProvider",
          "description": "AWSCloudProvider"
        },
        "azureCloudProvider": {
          "$ref": "#/definitions/AzureCloudProvider",
          "description": "AzureCloudProvider"
        },
        "openstackCloudProvider": {
          "$ref": "#/definitions/OpenstackCloudProvider",
          "description": "OpenstackCloudProvider"
        },
        "vsphereCloudProvider": {
          "$ref": "#/definitions/VsphereCloudProvider",
          "description": "VsphereCloudProvider"
        },
        "customCloudProvider": {
          "type": "string",
          "description": "CustomCloudProvider is a multiline string that represent a custom cloud config file"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapKeySelector": {
      "required": [
        "Name",
        "Key",
        "Optional"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Key": {
          "type": "string"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapProjection": {
      "required": [
        "Name",
        "Items",
        "Optional"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Items": {
          "items": {
            "$ref": "#/definitions/KeyToPath"
          },
          "type": "array"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConfigMapVolumeSource": {
      "required": [
        "Name",
        "Items",
        "DefaultMode",
        "Optional"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Items": {
          "items": {
            "$ref": "#/definitions/KeyToPath"
          },
          "type": "array"
        },
        "DefaultMode": {
          "type": "integer"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Configuration": {
      "required": [
        "Kind",
        "APIVersion",
        "Limits"
      ],
      "properties": {
        "Kind": {
          "type": "string"
        },
        "APIVersion": {
          "type": "string"
        },
        "Limits": {
          "items": {
            "$ref": "#/definitions/Limit"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DNSConfig": {
      "properties": {
        "provider": {
          "type": "string",
          "description": "DNS provider"
        },
        "options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "DNS config options"
        },
        "upstreamnameservers": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Upstream nameservers"
        },
        "reversecidrs": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "ReverseCIDRs"
        },
        "stubdomains": {
          "patternProperties": {
            ".*": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "description": "Stubdomains"
        },
        "node_selector": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "NodeSelector key pair"
        },
        "nodelocal": {
          "$ref": "#/definitions/Nodelocal",
          "description": "Nodelocal DNS"
        },
        "update_strategy": {
          "$ref": "#/definitions/DeploymentStrategy",
          "description": "Update strategy"
        },
        "linear_autoscaler_params": {
          "$ref": "#/definitions/LinearAutoscalerParams",
          "description": "Autoscaler fields to determine number of dns replicas"
        },
        "tolerations": {
          "items": {
            "$ref": "#/definitions/Toleration"
          },
          "type": "array",
          "description": "Tolerations for Deployments"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DaemonSetUpdateStrategy": {
      "required": [
        "Strategy",
        "RollingUpdate"
      ],
      "properties": {
        "Strategy": {
          "type": "string"
        },
        "RollingUpdate": {
          "$ref": "#/definitions/RollingUpdateDaemonSet"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DeploymentStrategy": {
      "required": [
        "Strategy",
        "RollingUpdate"
      ],
      "properties": {
        "Strategy": {
          "type": "string"
        },
        "RollingUpdate": {
          "$ref": "#/definitions/RollingUpdateDeployment"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DiskVsphereOpts": {
      "properties": {
        "scsicontrollertype": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DownwardAPIProjection": {
      "required": [
        "Items"
      ],
      "properties": {
        "Items": {
          "items": {
            "$ref": "#/definitions/DownwardAPIVolumeFile"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DownwardAPIVolumeFile": {
      "required": [
        "Path",
        "FieldRef",
        "ResourceFieldRef",
        "Mode"
      ],
      "properties": {
        "Path": {
          "type": "string"
        },
        "FieldRef": {
          "$ref": "#/definitions/ObjectFieldSelector"
        },
        "ResourceFieldRef": {
          "$ref": "#/definitions/ResourceFieldSelector"
        },
        "Mode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DownwardAPIVolumeSource": {
      "required": [
        "Items",
        "DefaultMode"
      ],
      "properties": {
        "Items": {
          "items": {
            "$ref": "#/definitions/DownwardAPIVolumeFile"
          },
          "type": "array"
        },
        "DefaultMode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Duration": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "ECRCredentialPlugin": {
      "required": [
        "aws_access_key_id",
        "aws_secret_access_key",
        "aws_session_token"
      ],
      "properties": {
        "aws_access_key_id": {
          "type": "string"
        },
        "aws_secret_access_key": {
          "type": "string"
        },
        "aws_session_token": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ETCDService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "external_urls": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "List of etcd urls"
        },
        "ca_cert": {
          "type": "string",
          "description": "External CA certificate"
        },
        "cert": {
          "type": "string",
          "description": "External Client certificate"
        },
        "key": {
          "type": "string",
          "description": "External Client key"
        },
        "path": {
          "type": "string",
          "description": "External etcd prefix"
        },
        "uid": {
          "type": "integer",
          "description": "UID to run etcd container as"
        },
        "gid": {
          "type": "integer",
          "description": "GID to run etcd container as"
        },
        "snapshot": {
          "type": "boolean",
          "description": "Etcd Recurring snapshot Service, used by rke only"
        },
        "retention": {
          "type": "string",
          "description": "Etcd snapshot Retention period"
        },
        "creation": {
          "type": "string",
          "description": "Etcd snapshot Creation period"
        },
        "backup_config": {
          "$ref": "#/definitions/BackupConfig",
          "description": "Backup backend for etcd snapshots"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EmptyDirVolumeSource": {
      "required": [
        "Medium",
        "SizeLimit"
      ],
      "properties": {
        "Medium": {
          "type": "string"
        },
        "SizeLimit": {
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EncryptionConfiguration": {
      "required": [
        "Kind",
        "APIVersion",
        "Resources"
      ],
      "properties": {
        "Kind": {
          "type": "string"
        },
        "APIVersion": {
          "type": "string"
        },
        "Resources": {
          "items": {
            "$ref": "#/definitions/ResourceConfiguration"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EnvVarSource": {
      "required": [
        "FieldRef",
        "ResourceFieldRef",
        "ConfigMapKeyRef",
        "SecretKeyRef"
      ],
      "properties": {
        "FieldRef": {
          "$ref": "#/definitions/ObjectFieldSelector"
        },
        "ResourceFieldRef": {
          "$ref": "#/definitions/ResourceFieldSelector"
        },
        "ConfigMapKeyRef": {
          "$ref": "#/definitions/ConfigMapKeySelector"
        },
        "SecretKeyRef": {
          "$ref": "#/definitions/SecretKeySelector"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EphemeralVolumeSource": {
      "required": [
        "VolumeClaimTemplate"
      ],
      "properties": {
        "VolumeClaimTemplate": {
          "$ref": "#/definitions/PersistentVolumeClaimTemplate"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "EventRateLimit": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "configuration": {
          "$ref": "#/definitions/Configuration"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ExtraEnv": {
      "required": [
        "Name",
        "Value",
        "ValueFrom"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "ValueFrom": {
          "$ref": "#/definitions/EnvVarSource"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ExtraVolume": {
      "required": [
        "Name",
        "HostPath",
        "EmptyDir",
        "GCEPersistentDisk",
        "AWSElasticBlockStore",
        "GitRepo",
        "Secret",
        "NFS",
        "ISCSI",
        "Glusterfs",
        "PersistentVolumeClaim",
        "RBD",
        "FlexVolume",
        "Cinder",
        "CephFS",
        "Flocker",
        "DownwardAPI",
        "FC",
        "AzureFile",
        "ConfigMap",
        "VsphereVolume",
        "Quobyte",
        "AzureDisk",
        "PhotonPersistentDisk",
        "Projected",
        "PortworxVolume",
        "ScaleIO",
        "StorageOS",
        "CSI",
        "Ephemeral"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "HostPath": {
          "$ref": "#/definitions/HostPathVolumeSource"
        },
        "EmptyDir": {
          "$ref": "#/definitions/EmptyDirVolumeSource"
        },
        "GCEPersistentDisk": {
          "$ref": "#/definitions/GCEPersistentDiskVolumeSource"
        },
        "AWSElasticBlockStore": {
          "$ref": "#/definitions/AWSElasticBlockStoreVolumeSource"
        },
        "GitRepo": {
          "$ref": "#/definitions/GitRepoVolumeSource"
        },
        "Secret": {
          "$ref": "#/definitions/SecretVolumeSource"
        },
        "NFS": {
          "$ref": "#/definitions/NFSVolumeSource"
        },
        "ISCSI": {
          "$ref": "#/definitions/ISCSIVolumeSource"
        },
        "Glusterfs": {
          "$ref": "#/definitions/GlusterfsVolumeSource"
        },
        "PersistentVolumeClaim": {
          "$ref": "#/definitions/PersistentVolumeClaimVolumeSource"
        },
        "RBD": {
          "$ref": "#/definitions/RBDVolumeSource"
        },
        "FlexVolume": {
          "$ref": "#/definitions/FlexVolumeSource"
        },
        "Cinder": {
          "$ref": "#/definitions/CinderVolumeSource"
        },
        "CephFS": {
          "$ref": "#/definitions/CephFSVolumeSource"
        },
        "Flocker": {
          "$ref": "#/definitions/FlockerVolumeSource"
        },
        "DownwardAPI": {
          "$ref": "#/definitions/DownwardAPIVolumeSource"
        },
        "FC": {
          "$ref": "#/definitions/FCVolumeSource"
        },
        "AzureFile": {
          "$ref": "#/definitions/AzureFileVolumeSource"
        },
        "ConfigMap": {
          "$ref": "#/definitions/ConfigMapVolumeSource"
        },
        "VsphereVolume": {
          "$ref": "#/definitions/VsphereVirtualDiskVolumeSource"
        },
        "Quobyte": {
          "$ref": "#/definitions/QuobyteVolumeSource"
        },
        "AzureDisk": {
          "$ref": "#/definitions/AzureDiskVolumeSource"
        },
        "PhotonPersistentDisk": {
          "$ref": "#/definitions/PhotonPersistentDiskVolumeSource"
        },
        "Projected": {
          "$ref": "#/definitions/ProjectedVolumeSource"
        },
        "PortworxVolume": {
          "$ref": "#/definitions/PortworxVolumeSource"
        },
        "ScaleIO": {
          "$ref": "#/definitions/ScaleIOVolumeSource"
        },
        "StorageOS": {
          "$ref": "#/definitions/StorageOSVolumeSource"
        },
        "CSI": {
          "$ref": "#/definitions/CSIVolumeSource"
        },
        "Ephemeral": {
          "$ref": "#/definitions/EphemeralVolumeSource"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ExtraVolumeMount": {
      "required": [
        "Name",
        "ReadOnly",
        "MountPath",
        "SubPath",
        "MountPropagation",
        "SubPathExpr"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "MountPath": {
          "type": "string"
        },
        "SubPath": {
          "type": "string"
        },
        "MountPropagation": {
          "type": "string"
        },
        "SubPathExpr": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FCVolumeSource": {
      "required": [
        "TargetWWNs",
        "Lun",
        "FSType",
        "ReadOnly",
        "WWIDs"
      ],
      "properties": {
        "TargetWWNs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Lun": {
          "type": "integer"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "WWIDs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FieldsV1": {
      "required": [
        "Raw"
      ],
      "properties": {
        "Raw": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FlannelNetworkProvider": {
      "required": [
        "Iface"
      ],
      "properties": {
        "Iface": {
          "type": "string",
          "description": "Alternate cloud interface for flannel"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FlexVolumeSource": {
      "required": [
        "Driver",
        "FSType",
        "SecretRef",
        "ReadOnly",
        "Options"
      ],
      "properties": {
        "Driver": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "Options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FlockerVolumeSource": {
      "required": [
        "DatasetName",
        "DatasetUUID"
      ],
      "properties": {
        "DatasetName": {
          "type": "string"
        },
        "DatasetUUID": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GCEPersistentDiskVolumeSource": {
      "required": [
        "PDName",
        "FSType",
        "Partition",
        "ReadOnly"
      ],
      "properties": {
        "PDName": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "Partition": {
          "type": "integer"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GitRepoVolumeSource": {
      "required": [
        "Repository",
        "Revision",
        "Directory"
      ],
      "properties": {
        "Repository": {
          "type": "string"
        },
        "Revision": {
          "type": "string"
        },
        "Directory": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GlobalAwsOpts": {
      "required": [
        "zone",
        "vpc",
        "subnet-id",
        "routetable-id",
        "role-arn",
        "kubernetes-cluster-tag",
        "kubernetes-cluster-id",
        "disable-security-group-ingress",
        "elb-security-group",
        "disable-strict-zone-check"
      ],
      "properties": {
        "zone": {
          "type": "string",
          "description": "TODO: Is there any use for this?  We can get it from the instance metadata service\nMaybe if we're not running on AWS, e.g. bootstrap; for now it is not very useful"
        },
        "vpc": {
          "type": "string",
          "description": "The AWS VPC flag enables the possibility to run the master components\non a different aws account, on a different cloud provider or on-premises.\nIf the flag is set also the KubernetesClusterTag must be provided"
        },
        "subnet-id": {
          "type": "string",
          "description": "SubnetID enables using a specific subnet to use for ELB's"
        },
        "routetable-id": {
          "type": "string",
          "description": "RouteTableID enables using a specific RouteTable"
        },
        "role-arn": {
          "type": "string",
          "description": "RoleARN is the IAM role to assume when interaction with AWS APIs."
        },
        "kubernetes-cluster-tag": {
          "type": "string",
          "description": "KubernetesClusterTag is the legacy cluster id we'll use to identify our cluster resources"
        },
        "kubernetes-cluster-id": {
          "type": "string",
          "description": "KubernetesClusterID is the cluster id we'll use to identify our cluster resources"
        },
        "disable-security-group-ingress": {
          "type": "boolean",
          "description": "The aws provider creates an inbound rule per load balancer on the node security\ngroup. However, this can run into the AWS security group rule limit of 50 if\nmany LoadBalancers are created.\n\nThis flag disables the automatic ingress creation. It requires that the user\nhas setup a rule that allows inbound traffic on kubelet ports from the\nlocal VPC subnet (so load balancers can access it). E.g. 10.82.0.0/16 30000-32000."
        },
        "elb-security-group": {
          "type": "string",
          "description": "AWS has a hard limit of 500 security groups. For large clusters creating a security group for each ELB\ncan cause the max number of security groups to be reached. If this is set instead of creating a new\nSecurity group for each ELB this security group will be used instead."
        },
        "disable-strict-zone-check": {
          "type": "boolean",
          "description": "During the instantiation of an new AWS cloud provider, the detected region\nis validated against a known set of regions.\n\nIn a non-standard, AWS like environment (e.g. Eucalyptus), this check may\nbe undesirable.  Setting this to true will disable the check and provide\na warning that the check was skipped.  Please note that this is an\nexperimental feature and work-in-progress for the moment.  If you find\nyourself in an non-AWS cloud and open an issue, please indicate that in the\nissue body."
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GlobalOpenstackOpts": {
      "required": [
        "auth-url",
        "username",
        "user-id",
        "password",
        "tenant-id",
        "tenant-name",
        "trust-id",
        "domain-id",
        "domain-name",
        "region",
        "ca-file"
      ],
      "properties": {
        "auth-url": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "user-id": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "tenant-id": {
          "type": "string"
        },
        "tenant-name": {
          "type": "string"
        },
        "trust-id": {
          "type": "string"
        },
        "domain-id": {
          "type": "string"
        },
        "domain-name": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "ca-file": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GlobalVsphereOpts": {
      "properties": {
        "user": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "server": {
          "type": "string"
        },
        "port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "insecure-flag": {
          "type": "boolean"
        },
        "datacenter": {
          "type": "string"
        },
        "datacenters": {
          "type": "string"
        },
        "datastore": {
          "type": "string"
        },
        "working-dir": {
          "type": "string"
        },
        "soap-roundtrip-count": {
          "type": "integer"
        },
        "vm-uuid": {
          "type": "string"
        },
        "vm-name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GlusterfsVolumeSource": {
      "required": [
        "EndpointsName",
        "Path",
        "ReadOnly"
      ],
      "properties": {
        "EndpointsName": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GroupResources": {
      "required": [
        "Group",
        "Resources",
        "ResourceNames"
      ],
      "properties": {
        "Group": {
          "type": "string"
        },
        "Resources": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ResourceNames": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "HostPathVolumeSource": {
      "required": [
        "Path",
        "Type"
      ],
      "properties": {
        "Path": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ISCSIVolumeSource": {
      "required": [
        "TargetPortal",
        "IQN",
        "Lun",
        "ISCSIInterface",
        "FSType",
        "ReadOnly",
        "Portals",
        "DiscoveryCHAPAuth",
        "SessionCHAPAuth",
        "SecretRef",
        "InitiatorName"
      ],
      "properties": {
        "TargetPortal": {
          "type": "string"
        },
        "IQN": {
          "type": "string"
        },
        "Lun": {
          "type": "integer"
        },
        "ISCSIInterface": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "Portals": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "DiscoveryCHAPAuth": {
          "type": "boolean"
        },
        "SessionCHAPAuth": {
          "type": "boolean"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        },
        "InitiatorName": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "IdentityConfiguration": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "IngressConfig": {
      "properties": {
        "provider": {
          "type": "string",
          "description": "Ingress controller type used by kubernetes"
        },
        "options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "These options are NOT for configuring Ingress's addon template.\nThey are used for its ConfigMap options specifically."
        },
        "node_selector": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "NodeSelector key pair"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "Ingress controller extra arguments"
        },
        "dns_policy": {
          "type": "string",
          "description": "DNS Policy"
        },
        "extra_envs": {
          "items": {
            "$ref": "#/definitions/ExtraEnv"
          },
          "type": "array",
          "description": "Extra Env vars"
        },
        "extra_volumes": {
          "items": {
            "$ref": "#/definitions/ExtraVolume"
          },
          "type": "array",
          "description": "Extra volumes"
        },
        "extra_volume_mounts": {
          "items": {
            "$ref": "#/definitions/ExtraVolumeMount"
          },
          "type": "array",
          "description": "Extra volume mounts"
        },
        "update_strategy": {
          "$ref": "#/definitions/DaemonSetUpdateStrategy",
          "description": "nginx daemonset upgrade strategy"
        },
        "http_port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ],
          "description": "Http port for ingress controller daemonset"
        },
        "https_port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ],
          "description": "Https port for ingress controller daemonset"
        },
        "network_mode": {
          "type": "string",
          "description": "NetworkMode selector for ingress controller pods. Default is HostNetwork"
        },
        "tolerations": {
          "items": {
            "$ref": "#/definitions/Toleration"
          },
          "type": "array",
          "description": "Tolerations for Deployments"
        },
        "default_backend": {
          "type": "boolean",
          "description": "Enable or disable nginx default-http-backend"
        },
        "default_http_backend_priority_class_name": {
          "type": "string",
          "description": "Priority class name for Nginx-Ingress's \"default-http-backend\" deployment"
        },
        "nginx_ingress_controller_priority_class_name": {
          "type": "string",
          "description": "Priority class name for Nginx-Ingress's \"nginx-ingress-controller\" daemonset"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "IntOrString": {
      "required": [
        "Type",
        "IntVal",
        "StrVal"
      ],
      "properties": {
        "Type": {
          "type": "integer"
        },
        "IntVal": {
          "type": "integer"
        },
        "StrVal": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KMSConfiguration": {
      "required": [
        "Name",
        "CacheSize",
        "Endpoint",
        "Timeout"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "CacheSize": {
          "type": "integer"
        },
        "Endpoint": {
          "type": "string"
        },
        "Timeout": {
          "$ref": "#/definitions/Duration"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Key": {
      "required": [
        "Name",
        "Secret"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Secret": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KeyToPath": {
      "required": [
        "Key",
        "Path",
        "Mode"
      ],
      "properties": {
        "Key": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "Mode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KubeAPIService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "service_cluster_ip_range": {
          "type": "string",
          "description": "Virtual IP range that will be used by Kubernetes services"
        },
        "service_node_port_range": {
          "type": "string",
          "description": "Port range for services defined with NodePort type"
        },
        "pod_security_policy": {
          "type": "boolean",
          "description": "Enabled/Disable PodSecurityPolicy"
        },
        "always_pull_images": {
          "type": "boolean",
          "description": "Enable/Disable AlwaysPullImages admissions plugin"
        },
        "secrets_encryption_config": {
          "$ref": "#/definitions/SecretsEncryptionConfig",
          "description": "Secrets encryption provider config"
        },
        "audit_log": {
          "$ref": "#/definitions/AuditLog",
          "description": "Audit Log Configuration"
        },
        "admission_configuration": {
          "$ref": "#/definitions/AdmissionConfiguration",
          "description": "AdmissionConfiguration"
        },
        "event_rate_limit": {
          "$ref": "#/definitions/EventRateLimit",
          "description": "Event Rate Limit configuration"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KubeControllerService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cluster_cidr": {
          "type": "string",
          "description": "CIDR Range for Pods in cluster"
        },
        "service_cluster_ip_range": {
          "type": "string",
          "description": "Virtual IP range that will be used by Kubernetes services"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KubeletService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cluster_domain": {
          "type": "string",
          "description": "Domain of the cluster (default: \"cluster.local\")"
        },
        "infra_container_image": {
          "type": "string",
          "description": "The image whose network/ipc namespaces containers in each pod will use"
        },
        "cluster_dns_server": {
          "type": "string",
          "description": "Cluster DNS service ip"
        },
        "fail_swap_on": {
          "type": "boolean",
          "description": "Fail if swap is enabled"
        },
        "generate_serving_certificate": {
          "type": "boolean",
          "description": "Generate per node kubelet serving certificates created using kube-ca"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KubeproxyService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LabelSelector": {
      "required": [
        "MatchLabels",
        "MatchExpressions"
      ],
      "properties": {
        "MatchLabels": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "MatchExpressions": {
          "items": {
            "$ref": "#/definitions/LabelSelectorRequirement"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LabelSelectorRequirement": {
      "required": [
        "Key",
        "Operator",
        "Values"
      ],
      "properties": {
        "Key": {
          "type": "string"
        },
        "Operator": {
          "type": "string"
        },
        "Values": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Limit": {
      "required": [
        "Type",
        "QPS",
        "Burst",
        "CacheSize"
      ],
      "properties": {
        "Type": {
          "type": "string"
        },
        "QPS": {
          "type": "integer"
        },
        "Burst": {
          "type": "integer"
        },
        "CacheSize": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LinearAutoscalerParams": {
      "required": [
        "min",
        "max"
      ],
      "properties": {
        "cores_per_replica": {
          "type": "number"
        },
        "nodes_per_replica": {
          "type": "number"
        },
        "min": {
          "type": "integer"
        },
        "max": {
          "type": "integer"
        },
        "prevent_single_point_failure": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LoadBalancerOpenstackOpts": {
      "required": [
        "lb-version",
        "use-octavia",
        "subnet-id",
        "floating-network-id",
        "lb-method",
        "lb-provider",
        "create-monitor",
        "monitor-delay",
        "monitor-timeout",
        "monitor-max-retries",
        "manage-security-groups"
      ],
      "properties": {
        "lb-version": {
          "type": "string",
          "description": "overrides autodetection. Only support v2."
        },
        "use-octavia": {
          "type": "boolean",
          "description": "uses Octavia V2 service catalog endpoint"
        },
        "subnet-id": {
          "type": "string",
          "description": "overrides autodetection."
        },
        "floating-network-id": {
          "type": "string",
          "description": "If specified, will create floating ip for loadbalancer, or do not create floating ip."
        },
        "lb-method": {
          "type": "string",
          "description": "default to ROUND_ROBIN."
        },
        "lb-provider": {
          "type": "string"
        },
        "create-monitor": {
          "type": "boolean"
        },
        "monitor-delay": {
          "type": "string"
        },
        "monitor-timeout": {
          "type": "string"
        },
        "monitor-max-retries": {
          "type": "integer"
        },
        "manage-security-groups": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "LocalObjectReference": {
      "required": [
        "Name"
      ],
      "properties": {
        "Name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ManagedFieldsEntry": {
      "required": [
        "Manager",
        "Operation",
        "APIVersion",
        "Time",
        "FieldsType",
        "FieldsV1"
      ],
      "properties": {
        "Manager": {
          "type": "string"
        },
        "Operation": {
          "type": "string"
        },
        "APIVersion": {
          "type": "string"
        },
        "Time": {
          "type": "string",
          "format": "date-time"
        },
        "FieldsType": {
          "type": "string"
        },
        "FieldsV1": {
          "$ref": "#/definitions/FieldsV1"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "MetadataOpenstackOpts": {
      "required": [
        "search-order",
        "request-timeout"
      ],
      "properties": {
        "search-order": {
          "type": "string"
        },
        "request-timeout": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "MonitoringConfig": {
      "required": [
        "replicas"
      ],
      "properties": {
        "provider": {
          "type": "string",
          "description": "Monitoring server provider"
        },
        "options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "These options are NOT for configuring the Metrics-Server's addon template.\nThey are used to pass command args to the metric-server's deployment containers specifically."
        },
        "node_selector": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "NodeSelector key pair"
        },
        "update_strategy": {
          "$ref": "#/definitions/DeploymentStrategy",
          "description": "Update strategy"
        },
        "replicas": {
          "type": "integer",
          "description": "Number of monitoring addon pods"
        },
        "tolerations": {
          "items": {
            "$ref": "#/definitions/Toleration"
          },
          "type": "array",
          "description": "Tolerations for Deployments"
        },
        "metrics_server_priority_class_name": {
          "type": "string",
          "description": "Priority class name for Metrics-Server's \"metrics-server\" deployment"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NFSVolumeSource": {
      "required": [
        "Server",
        "Path",
        "ReadOnly"
      ],
      "properties": {
        "Server": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NetworkConfig": {
      "properties": {
        "plugin": {
          "type": "string",
          "description": "Network Plugin That will be used in kubernetes cluster"
        },
        "options": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "Plugin options to configure network properties"
        },
        "mtu": {
          "type": "integer",
          "description": "Set MTU for CNI provider"
        },
        "calico_network_provider": {
          "$ref": "#/definitions/CalicoNetworkProvider",
          "description": "CalicoNetworkProvider"
        },
        "canal_network_provider": {
          "$ref": "#/definitions/CanalNetworkProvider",
          "description": "CanalNetworkProvider"
        },
        "flannel_network_provider": {
          "$ref": "#/definitions/FlannelNetworkProvider",
          "description": "FlannelNetworkProvider"
        },
        "weave_network_provider": {
          "$ref": "#/definitions/WeaveNetworkProvider",
          "description": "WeaveNetworkProvider"
        },
        "aci_network_provider": {
          "$ref": "#/definitions/AciNetworkProvider",
          "description": "AciNetworkProvider"
        },
        "node_selector": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "NodeSelector key pair"
        },
        "update_strategy": {
          "$ref": "#/definitions/DaemonSetUpdateStrategy",
          "description": "Network plugin daemonset upgrade strategy"
        },
        "tolerations": {
          "items": {
            "$ref": "#/definitions/Toleration"
          },
          "type": "array",
          "description": "Tolerations for Deployments"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NetworkVshpereOpts": {
      "properties": {
        "public-network": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NodeDrainInput": {
      "required": [
        "timeout"
      ],
      "properties": {
        "force": {
          "type": "boolean",
          "description": "Drain node even if there are pods not managed by a ReplicationController, Job, or DaemonSet\nDrain will not proceed without Force set to true if there are such pods"
        },
        "ignore_daemonsets": {
          "type": "boolean",
          "description": "If there are DaemonSet-managed pods, drain will not proceed without IgnoreDaemonSets set to true\n(even when set to true, kubectl won't delete pods - so setting default to true)"
        },
        "delete_local_data": {
          "type": "boolean",
          "description": "Continue even if there are pods using emptyDir"
        },
        "grace_period": {
          "type": "integer",
          "description": "Period of time in seconds given to each pod to terminate gracefully.\nIf negative, the default value specified in the pod will be used"
        },
        "timeout": {
          "type": "integer",
          "description": "Time to wait (in seconds) before giving up for one try"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "NodeUpgradeStrategy": {
      "properties": {
        "max_unavailable_worker": {
          "type": "string",
          "description": "MaxUnavailableWorker input can be a number of nodes or a percentage of nodes (example, max_unavailable_worker: 2 OR max_unavailable_worker: 20%)"
        },
        "max_unavailable_controlplane": {
          "type": "string",
          "description": "MaxUnavailableControlplane input can be a number of nodes or a percentage of nodes"
        },
        "drain": {
          "type": "boolean"
        },
        "node_drain_input": {
          "$ref": "#/definitions/NodeDrainInput"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Nodelocal": {
      "properties": {
        "ip_address": {
          "type": "string",
          "description": "link-local IP for nodelocal DNS"
        },
        "update_strategy": {
          "$ref": "#/definitions/DaemonSetUpdateStrategy",
          "description": "Nodelocal DNS daemonset upgrade strategy"
        },
        "node_selector": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "NodeSelector key pair"
        },
        "node_local_dns_priority_class_name": {
          "type": "string",
          "description": "Priority class name for NodeLocal's \"node-local-dns\" daemonset"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ObjectFieldSelector": {
      "required": [
        "APIVersion",
        "FieldPath"
      ],
      "properties": {
        "APIVersion": {
          "type": "string"
        },
        "FieldPath": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OpenstackCloudProvider": {
      "required": [
        "global",
        "load_balancer",
        "block_storage",
        "route",
        "metadata"
      ],
      "properties": {
        "global": {
          "$ref": "#/definitions/GlobalOpenstackOpts"
        },
        "load_balancer": {
          "$ref": "#/definitions/LoadBalancerOpenstackOpts"
        },
        "block_storage": {
          "$ref": "#/definitions/BlockStorageOpenstackOpts"
        },
        "route": {
          "$ref": "#/definitions/RouteOpenstackOpts"
        },
        "metadata": {
          "$ref": "#/definitions/MetadataOpenstackOpts"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "OwnerReference": {
      "required": [
        "APIVersion",
        "Kind",
        "Name",
        "UID",
        "Controller",
        "BlockOwnerDeletion"
      ],
      "properties": {
        "APIVersion": {
          "type": "string"
        },
        "Kind": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        },
        "UID": {
          "type": "string"
        },
        "Controller": {
          "type": "boolean"
        },
        "BlockOwnerDeletion": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimSpec": {
      "required": [
        "AccessModes",
        "Selector",
        "Resources",
        "VolumeName",
        "StorageClassName",
        "VolumeMode",
        "DataSource"
      ],
      "properties": {
        "AccessModes": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Selector": {
          "$ref": "#/definitions/LabelSelector"
        },
        "Resources": {
          "$ref": "#/definitions/ResourceRequirements"
        },
        "VolumeName": {
          "type": "string"
        },
        "StorageClassName": {
          "type": "string"
        },
        "VolumeMode": {
          "type": "string"
        },
        "DataSource": {
          "$ref": "#/definitions/TypedLocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimTemplate": {
      "required": [
        "Name",
        "GenerateName",
        "Namespace",
        "SelfLink",
        "UID",
        "ResourceVersion",
        "Generation",
        "CreationTimestamp",
        "DeletionTimestamp",
        "DeletionGracePeriodSeconds",
        "Labels",
        "Annotations",
        "OwnerReferences",
        "Finalizers",
        "ClusterName",
        "ManagedFields",
        "Spec"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "GenerateName": {
          "type": "string"
        },
        "Namespace": {
          "type": "string"
        },
        "SelfLink": {
          "type": "string"
        },
        "UID": {
          "type": "string"
        },
        "ResourceVersion": {
          "type": "string"
        },
        "Generation": {
          "type": "integer"
        },
        "CreationTimestamp": {
          "$ref": "#/definitions/Time"
        },
        "DeletionTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "DeletionGracePeriodSeconds": {
          "type": "integer"
        },
        "Labels": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "Annotations": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "OwnerReferences": {
          "items": {
            "$ref": "#/definitions/OwnerReference"
          },
          "type": "array"
        },
        "Finalizers": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ClusterName": {
          "type": "string"
        },
        "ManagedFields": {
          "items": {
            "$ref": "#/definitions/ManagedFieldsEntry"
          },
          "type": "array"
        },
        "Spec": {
          "$ref": "#/definitions/PersistentVolumeClaimSpec"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PersistentVolumeClaimVolumeSource": {
      "required": [
        "ClaimName",
        "ReadOnly"
      ],
      "properties": {
        "ClaimName": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PhotonPersistentDiskVolumeSource": {
      "required": [
        "PdID",
        "FSType"
      ],
      "properties": {
        "PdID": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Policy": {
      "required": [
        "Kind",
        "APIVersion",
        "Name",
        "GenerateName",
        "Namespace",
        "SelfLink",
        "UID",
        "ResourceVersion",
        "Generation",
        "CreationTimestamp",
        "DeletionTimestamp",
        "DeletionGracePeriodSeconds",
        "Labels",
        "Annotations",
        "OwnerReferences",
        "Finalizers",
        "ClusterName",
        "ManagedFields",
        "Rules",
        "OmitStages"
      ],
      "properties": {
        "Kind": {
          "type": "string"
        },
        "APIVersion": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        },
        "GenerateName": {
          "type": "string"
        },
        "Namespace": {
          "type": "string"
        },
        "SelfLink": {
          "type": "string"
        },
        "UID": {
          "type": "string"
        },
        "ResourceVersion": {
          "type": "string"
        },
        "Generation": {
          "type": "integer"
        },
        "CreationTimestamp": {
          "$ref": "#/definitions/Time"
        },
        "DeletionTimestamp": {
          "type": "string",
          "format": "date-time"
        },
        "DeletionGracePeriodSeconds": {
          "type": "integer"
        },
        "Labels": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "Annotations": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "OwnerReferences": {
          "items": {
            "$ref": "#/definitions/OwnerReference"
          },
          "type": "array"
        },
        "Finalizers": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ClusterName": {
          "type": "string"
        },
        "ManagedFields": {
          "items": {
            "$ref": "#/definitions/ManagedFieldsEntry"
          },
          "type": "array"
        },
        "Rules": {
          "items": {
            "$ref": "#/definitions/PolicyRule"
          },
          "type": "array"
        },
        "OmitStages": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PolicyRule": {
      "required": [
        "Level",
        "Users",
        "UserGroups",
        "Verbs",
        "Resources",
        "Namespaces",
        "NonResourceURLs",
        "OmitStages"
      ],
      "properties": {
        "Level": {
          "type": "string"
        },
        "Users": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "UserGroups": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Verbs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Resources": {
          "items": {
            "$ref": "#/definitions/GroupResources"
          },
          "type": "array"
        },
        "Namespaces": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "NonResourceURLs": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "OmitStages": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PortworxVolumeSource": {
      "required": [
        "VolumeID",
        "FSType",
        "ReadOnly"
      ],
      "properties": {
        "VolumeID": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PrivateRegistry": {
      "properties": {
        "url": {
          "type": "string",
          "description": "URL for the registry"
        },
        "user": {
          "type": "string",
          "description": "User name for registry acces"
        },
        "password": {
          "type": "string",
          "description": "Password for registry access"
        },
        "is_default": {
          "type": "boolean",
          "description": "Default registry"
        },
        "ecr_credential_plugin": {
          "$ref": "#/definitions/ECRCredentialPlugin",
          "description": "ECRCredentialPlugin"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ProjectedVolumeSource": {
      "required": [
        "Sources",
        "DefaultMode"
      ],
      "properties": {
        "Sources": {
          "items": {
            "$ref": "#/definitions/VolumeProjection"
          },
          "type": "array"
        },
        "DefaultMode": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ProviderConfiguration": {
      "required": [
        "AESGCM",
        "AESCBC",
        "Secretbox",
        "Identity",
        "KMS"
      ],
      "properties": {
        "AESGCM": {
          "$ref": "#/definitions/AESConfiguration"
        },
        "AESCBC": {
          "$ref": "#/definitions/AESConfiguration"
        },
        "Secretbox": {
          "$ref": "#/definitions/SecretboxConfiguration"
        },
        "Identity": {
          "$ref": "#/definitions/IdentityConfiguration"
        },
        "KMS": {
          "$ref": "#/definitions/KMSConfiguration"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Quantity": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "QuobyteVolumeSource": {
      "required": [
        "Registry",
        "Volume",
        "ReadOnly",
        "User",
        "Group",
        "Tenant"
      ],
      "properties": {
        "Registry": {
          "type": "string"
        },
        "Volume": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "User": {
          "type": "string"
        },
        "Group": {
          "type": "string"
        },
        "Tenant": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RBDVolumeSource": {
      "required": [
        "CephMonitors",
        "RBDImage",
        "FSType",
        "RBDPool",
        "RadosUser",
        "Keyring",
        "SecretRef",
        "ReadOnly"
      ],
      "properties": {
        "CephMonitors": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "RBDImage": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "RBDPool": {
          "type": "string"
        },
        "RadosUser": {
          "type": "string"
        },
        "Keyring": {
          "type": "string"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RKEConfigNode": {
      "properties": {
        "nodeName": {
          "type": "string",
          "description": "Name of the host provisioned via docker machine"
        },
        "address": {
          "type": "string",
          "description": "IP or FQDN that is fully resolvable and used for SSH communication"
        },
        "port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ],
          "description": "Port used for SSH communication"
        },
        "internal_address": {
          "type": "string",
          "description": "Optional - Internal address that will be used for components communication"
        },
        "role": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Node role in kubernetes cluster (controlplane, worker, or etcd)"
        },
        "hostname_override": {
          "type": "string",
          "description": "Optional - Hostname of the node"
        },
        "user": {
          "type": "string",
          "description": "SSH usesr that will be used by RKE"
        },
        "docker_socket": {
          "type": "string",
          "description": "Optional - Docker socket on the node that will be used in tunneling"
        },
        "ssh_agent_auth": {
          "type": "boolean",
          "description": "SSH Agent Auth enable"
        },
        "ssh_key": {
          "type": "string",
          "description": "SSH Private Key"
        },
        "ssh_key_path": {
          "type": "string",
          "description": "SSH Private Key Path"
        },
        "ssh_cert": {
          "type": "string",
          "description": "SSH Certificate"
        },
        "ssh_cert_path": {
          "type": "string",
          "description": "SSH Certificate Path"
        },
        "labels": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object",
          "description": "Node Labels"
        },
        "taints": {
          "items": {
            "$ref": "#/definitions/RKETaint"
          },
          "type": "array",
          "description": "Node Taints"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RKEConfigServices": {
      "properties": {
        "etcd": {
          "$ref": "#/definitions/ETCDService",
          "description": "Etcd Service"
        },
        "kube-api": {
          "$ref": "#/definitions/KubeAPIService",
          "description": "KubeAPI Service"
        },
        "kube-controller": {
          "$ref": "#/definitions/KubeControllerService",
          "description": "KubeController Service"
        },
        "scheduler": {
          "$ref": "#/definitions/SchedulerService",
          "description": "Scheduler Service"
        },
        "kubelet": {
          "$ref": "#/definitions/KubeletService",
          "description": "Kubelet Service"
        },
        "kubeproxy": {
          "$ref": "#/definitions/KubeproxyService",
          "description": "KubeProxy Service"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RKESystemImages": {
      "properties": {
        "etcd": {
          "type": "string",
          "description": "etcd image"
        },
        "alpine": {
          "type": "string",
          "description": "Alpine image"
        },
        "nginx_proxy": {
          "type": "string",
          "description": "rke-nginx-proxy image"
        },
        "cert_downloader": {
          "type": "string",
          "description": "rke-cert-deployer image"
        },
        "kubernetes_services_sidecar": {
          "type": "string",
          "description": "rke-service-sidekick image"
        },
        "kubedns": {
          "type": "string",
          "description": "KubeDNS image"
        },
        "dnsmasq": {
          "type": "string",
          "description": "DNSMasq image"
        },
        "kubedns_sidecar": {
          "type": "string",
          "description": "KubeDNS side car image"
        },
        "kubedns_autoscaler": {
          "type": "string",
          "description": "KubeDNS autoscaler image"
        },
        "coredns": {
          "type": "string",
          "description": "CoreDNS image"
        },
        "coredns_autoscaler": {
          "type": "string",
          "description": "CoreDNS autoscaler image"
        },
        "nodelocal": {
          "type": "string",
          "description": "Nodelocal image"
        },
        "kubernetes": {
          "type": "string",
          "description": "Kubernetes image"
        },
        "flannel": {
          "type": "string",
          "description": "Flannel image"
        },
        "flannel_cni": {
          "type": "string",
          "description": "Flannel CNI image"
        },
        "calico_node": {
          "type": "string",
          "description": "Calico Node image"
        },
        "calico_cni": {
          "type": "string",
          "description": "Calico CNI image"
        },
        "calico_controllers": {
          "type": "string",
          "description": "Calico Controllers image"
        },
        "calico_ctl": {
          "type": "string",
          "description": "Calicoctl image"
        },
        "calico_flexvol": {
          "type": "string",
          "description": "CalicoFlexVol image"
        },
        "canal_node": {
          "type": "string",
          "description": "Canal Node Image"
        },
        "canal_cni": {
          "type": "string",
          "description": "Canal CNI image"
        },
        "canal_controllers": {
          "type": "string",
          "description": "Canal Controllers Image needed for Calico/Canal v3.14.0+"
        },
        "canal_flannel": {
          "type": "string",
          "description": "CanalFlannel image"
        },
        "canal_flexvol": {
          "type": "string",
          "description": "CanalFlexVol image"
        },
        "weave_node": {
          "type": "string",
          "description": "Weave Node image"
        },
        "weave_cni": {
          "type": "string",
          "description": "Weave CNI image"
        },
        "pod_infra_container": {
          "type": "string",
          "description": "Pod infra container image"
        },
        "ingress": {
          "type": "string",
          "description": "Ingress Controller image"
        },
        "ingress_backend": {
          "type": "string",
          "description": "Ingress Controller Backend image"
        },
        "ingress_webhook": {
          "type": "string",
          "description": "Ingress Webhook image"
        },
        "metrics_server": {
          "type": "string",
          "description": "Metrics Server image"
        },
        "windows_pod_infra_container": {
          "type": "string",
          "description": "Pod infra container image for Windows"
        },
        "aci_cni_deploy_container": {
          "type": "string",
          "description": "Cni deployer container image for Cisco ACI"
        },
        "aci_host_container": {
          "type": "string",
          "description": "host container image for Cisco ACI"
        },
        "aci_opflex_container": {
          "type": "string",
          "description": "opflex agent container image for Cisco ACI"
        },
        "aci_mcast_container": {
          "type": "string",
          "description": "mcast daemon container image for Cisco ACI"
        },
        "aci_ovs_container": {
          "type": "string",
          "description": "OpenvSwitch container image for Cisco ACI"
        },
        "aci_controller_container": {
          "type": "string",
          "description": "Controller container image for Cisco ACI"
        },
        "aci_gbp_server_container": {
          "type": "string",
          "description": "GBP Server container image for Cisco ACI"
        },
        "aci_opflex_server_container": {
          "type": "string",
          "description": "Opflex Server container image for Cisco ACI"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RKETaint": {
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "effect": {
          "type": "string"
        },
        "timeAdded": {
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RancherKubernetesEngineConfig": {
      "properties": {
        "nodes": {
          "items": {
            "$ref": "#/definitions/RKEConfigNode"
          },
          "type": "array",
          "description": "Kubernetes nodes"
        },
        "services": {
          "$ref": "#/definitions/RKEConfigServices",
          "description": "Kubernetes components"
        },
        "network": {
          "$ref": "#/definitions/NetworkConfig",
          "description": "Network configuration used in the kubernetes cluster (flannel, calico)"
        },
        "authentication": {
          "$ref": "#/definitions/AuthnConfig",
          "description": "Authentication configuration used in the cluster (default: x509)"
        },
        "addons": {
          "type": "string",
          "description": "YAML manifest for user provided addons to be deployed on the cluster"
        },
        "addons_include": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "List of urls or paths for addons"
        },
        "system_images": {
          "$ref": "#/definitions/RKESystemImages",
          "description": "List of images used internally for proxy, cert download and kubedns"
        },
        "ssh_key_path": {
          "type": "string",
          "description": "SSH Private Key Path"
        },
        "ssh_cert_path": {
          "type": "string",
          "description": "SSH Certificate Path"
        },
        "ssh_agent_auth": {
          "type": "boolean",
          "description": "SSH Agent Auth enable"
        },
        "authorization": {
          "$ref": "#/definitions/AuthzConfig",
          "description": "Authorization mode configuration used in the cluster"
        },
        "ignore_docker_version": {
          "type": "boolean",
          "description": "Enable/disable strict docker version checking"
        },
        "enable_cri_dockerd": {
          "type": "boolean",
          "description": "Enable/disable using cri-dockerd"
        },
        "kubernetes_version": {
          "type": "string",
          "description": "Kubernetes version to use (if kubernetes image is specified, image version takes precedence)"
        },
        "private_registries": {
          "items": {
            "$ref": "#/definitions/PrivateRegistry"
          },
          "type": "array",
          "description": "List of private registries and their credentials"
        },
        "ingress": {
          "$ref": "#/definitions/IngressConfig",
          "description": "Ingress controller used in the cluster"
        },
        "cluster_name": {
          "type": "string",
          "description": "Cluster Name used in the kube config"
        },
        "cloud_provider": {
          "$ref": "#/definitions/CloudProvider",
          "description": "Cloud Provider options"
        },
        "prefix_path": {
          "type": "string",
          "description": "kubernetes directory path"
        },
        "win_prefix_path": {
          "type": "string",
          "description": "kubernetes directory path for windows"
        },
        "addon_job_timeout": {
          "type": "integer",
          "description": "Timeout in seconds for status check on addon deployment jobs"
        },
        "bastion_host": {
          "$ref": "#/definitions/BastionHost",
          "description": "Bastion/Jump Host configuration"
        },
        "monitoring": {
          "$ref": "#/definitions/MonitoringConfig",
          "description": "Monitoring Config"
        },
        "restore": {
          "$ref": "#/definitions/RestoreConfig",
          "description": "RestoreCluster flag"
        },
        "rotate_certificates": {
          "$ref": "#/definitions/RotateCertificates",
          "description": "Rotating Certificates Option"
        },
        "rotate_encryption_key": {
          "type": "boolean",
          "description": "Rotate Encryption Key Option"
        },
        "dns": {
          "$ref": "#/definitions/DNSConfig",
          "description": "DNS Config"
        },
        "upgrade_strategy": {
          "$ref": "#/definitions/NodeUpgradeStrategy",
          "description": "Upgrade Strategy for the cluster"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ResourceConfiguration": {
      "required": [
        "Resources",
        "Providers"
      ],
      "properties": {
        "Resources": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "Providers": {
          "items": {
            "$ref": "#/definitions/ProviderConfiguration"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ResourceFieldSelector": {
      "required": [
        "ContainerName",
        "Resource",
        "Divisor"
      ],
      "properties": {
        "ContainerName": {
          "type": "string"
        },
        "Resource": {
          "type": "string"
        },
        "Divisor": {
          "$ref": "#/definitions/Quantity"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ResourceRequirements": {
      "required": [
        "Limits",
        "Requests"
      ],
      "properties": {
        "Limits": {
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/Quantity"
            }
          },
          "type": "object"
        },
        "Requests": {
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/Quantity"
            }
          },
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RestoreConfig": {
      "properties": {
        "restore": {
          "type": "boolean"
        },
        "snapshot_name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RollingUpdateDaemonSet": {
      "required": [
        "MaxUnavailable",
        "MaxSurge"
      ],
      "properties": {
        "MaxUnavailable": {
          "$ref": "#/definitions/IntOrString"
        },
        "MaxSurge": {
          "$ref": "#/definitions/IntOrString"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RollingUpdateDeployment": {
      "required": [
        "MaxUnavailable",
        "MaxSurge"
      ],
      "properties": {
        "MaxUnavailable": {
          "$ref": "#/definitions/IntOrString"
        },
        "MaxSurge": {
          "$ref": "#/definitions/IntOrString"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RotateCertificates": {
      "required": [
        "CACertificates",
        "Services"
      ],
      "properties": {
        "CACertificates": {
          "type": "boolean",
          "description": "Rotate CA Certificates"
        },
        "Services": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Services to rotate their certs"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RouteOpenstackOpts": {
      "required": [
        "router-id"
      ],
      "properties": {
        "router-id": {
          "type": "string",
          "description": "required"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "S3BackupConfig": {
      "required": [
        "access_key",
        "secret_key",
        "bucket_name",
        "region",
        "endpoint",
        "custom_ca",
        "folder"
      ],
      "properties": {
        "access_key": {
          "type": "string"
        },
        "secret_key": {
          "type": "string"
        },
        "bucket_name": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "endpoint": {
          "type": "string"
        },
        "custom_ca": {
          "type": "string"
        },
        "folder": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ScaleIOVolumeSource": {
      "required": [
        "Gateway",
        "System",
        "SecretRef",
        "SSLEnabled",
        "ProtectionDomain",
        "StoragePool",
        "StorageMode",
        "VolumeName",
        "FSType",
        "ReadOnly"
      ],
      "properties": {
        "Gateway": {
          "type": "string"
        },
        "System": {
          "type": "string"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        },
        "SSLEnabled": {
          "type": "boolean"
        },
        "ProtectionDomain": {
          "type": "string"
        },
        "StoragePool": {
          "type": "string"
        },
        "StorageMode": {
          "type": "string"
        },
        "VolumeName": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SchedulerService": {
      "properties": {
        "image": {
          "type": "string"
        },
        "extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_args": {
          "patternProperties": {
            ".*": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "type": "object"
        },
        "win_extra_binds": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "win_extra_env": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretKeySelector": {
      "required": [
        "Name",
        "Key",
        "Optional"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Key": {
          "type": "string"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretProjection": {
      "required": [
        "Name",
        "Items",
        "Optional"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Items": {
          "items": {
            "$ref": "#/definitions/KeyToPath"
          },
          "type": "array"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretVolumeSource": {
      "required": [
        "SecretName",
        "Items",
        "DefaultMode",
        "Optional"
      ],
      "properties": {
        "SecretName": {
          "type": "string"
        },
        "Items": {
          "items": {
            "$ref": "#/definitions/KeyToPath"
          },
          "type": "array"
        },
        "DefaultMode": {
          "type": "integer"
        },
        "Optional": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretboxConfiguration": {
      "required": [
        "Keys"
      ],
      "properties": {
        "Keys": {
          "items": {
            "$ref": "#/definitions/Key"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SecretsEncryptionConfig": {
      "required": [
        "custom_config"
      ],
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Enable/disable secrets encryption provider config"
        },
        "custom_config": {
          "$ref": "#/definitions/EncryptionConfiguration",
          "description": "Custom Encryption Provider configuration object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ServiceAccountTokenProjection": {
      "required": [
        "Audience",
        "ExpirationSeconds",
        "Path"
      ],
      "properties": {
        "Audience": {
          "type": "string"
        },
        "ExpirationSeconds": {
          "type": "integer"
        },
        "Path": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ServiceOverride": {
      "required": [
        "service",
        "region",
        "url",
        "signing-region",
        "signing-method",
        "signing-name"
      ],
      "properties": {
        "service": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "signing-region": {
          "type": "string"
        },
        "signing-method": {
          "type": "string"
        },
        "signing-name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "StorageOSVolumeSource": {
      "required": [
        "VolumeName",
        "VolumeNamespace",
        "FSType",
        "ReadOnly",
        "SecretRef"
      ],
      "properties": {
        "VolumeName": {
          "type": "string"
        },
        "VolumeNamespace": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "ReadOnly": {
          "type": "boolean"
        },
        "SecretRef": {
          "$ref": "#/definitions/LocalObjectReference"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Time": {
      "properties": {},
      "additionalProperties": false,
      "type": "object"
    },
    "Toleration": {
      "required": [
        "Key",
        "Operator",
        "Value",
        "Effect",
        "TolerationSeconds"
      ],
      "properties": {
        "Key": {
          "type": "string"
        },
        "Operator": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Effect": {
          "type": "string"
        },
        "TolerationSeconds": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "TypedLocalObjectReference": {
      "required": [
        "APIGroup",
        "Kind",
        "Name"
      ],
      "properties": {
        "APIGroup": {
          "type": "string"
        },
        "Kind": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Unknown": {
      "required": [
        "Raw",
        "ContentEncoding",
        "ContentType"
      ],
      "properties": {
        "apiVersion": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "Raw": {
          "type": "string"
        },
        "ContentEncoding": {
          "type": "string"
        },
        "ContentType": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VirtualCenterConfig": {
      "properties": {
        "user": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "port": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "datacenters": {
          "type": "string"
        },
        "soap-roundtrip-count": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VolumeProjection": {
      "required": [
        "Secret",
        "DownwardAPI",
        "ConfigMap",
        "ServiceAccountToken"
      ],
      "properties": {
        "Secret": {
          "$ref": "#/definitions/SecretProjection"
        },
        "DownwardAPI": {
          "$ref": "#/definitions/DownwardAPIProjection"
        },
        "ConfigMap": {
          "$ref": "#/definitions/ConfigMapProjection"
        },
        "ServiceAccountToken": {
          "$ref": "#/definitions/ServiceAccountTokenProjection"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VsphereCloudProvider": {
      "properties": {
        "global": {
          "$ref": "#/definitions/GlobalVsphereOpts"
        },
        "virtual_center": {
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/VirtualCenterConfig"
            }
          },
          "type": "object"
        },
        "network": {
          "$ref": "#/definitions/NetworkVshpereOpts"
        },
        "disk": {
          "$ref": "#/definitions/DiskVsphereOpts"
        },
        "workspace": {
          "$ref": "#/definitions/WorkspaceVsphereOpts"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "VsphereVirtualDiskVolumeSource": {
      "required": [
        "VolumePath",
        "FSType",
        "StoragePolicyName",
        "StoragePolicyID"
      ],
      "properties": {
        "VolumePath": {
          "type": "string"
        },
        "FSType": {
          "type": "string"
        },
        "StoragePolicyName": {
          "type": "string"
        },
        "StoragePolicyID": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "WeaveNetworkProvider": {
      "properties": {
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "WorkspaceVsphereOpts": {
      "properties": {
        "server": {
          "type": "string"
        },
        "datacenter": {
          "type": "string"
        },
        "folder": {
          "type": "string"
        },
        "default-datastore": {
          "type": "string"
        },
        "resourcepool-path": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  }
}