{
  "description": "EKSConfig is the schema for the Amazon EKS Machine Bootstrap Configuration API.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "EKSConfigSpec defines the desired state of Amazon EKS Bootstrap Configuration.",
      "properties": {
        "apiRetryAttempts": {
          "description": "APIRetryAttempts is the number of retry attempts for AWS API call.",
          "type": "integer"
        },
        "containerRuntime": {
          "description": "ContainerRuntime specify the container runtime to use when bootstrapping EKS.",
          "type": "string"
        },
        "dnsClusterIP": {
          "description": " DNSClusterIP overrides the IP address to use for DNS queries within the cluster.",
          "type": "string"
        },
        "dockerConfigJson": {
          "description": "DockerConfigJson is used for the contents of the /etc/docker/daemon.json file. Useful if you want a custom config differing from the default one in the AMI.\nThis is expected to be a json string.",
          "type": "string"
        },
        "kubeletExtraArgs": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "KubeletExtraArgs passes the specified kubelet args into the Amazon EKS machine bootstrap script",
          "type": "object"
        },
        "pauseContainer": {
          "description": "PauseContainer allows customization of the pause container to use.",
          "properties": {
            "accountNumber": {
              "description": " AccountNumber is the AWS account number to pull the pause container from.",
              "type": "string"
            },
            "version": {
              "description": "Version is the tag of the pause container to use.",
              "type": "string"
            }
          },
          "required": [
            "accountNumber",
            "version"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "serviceIPV6Cidr": {
          "description": "ServiceIPV6Cidr is the ipv6 cidr range of the cluster. If this is specified then\nthe ip family will be set to ipv6.",
          "type": "string"
        },
        "useMaxPods": {
          "description": "UseMaxPods  sets --max-pods for the kubelet when true.",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "EKSConfigStatus defines the observed state of the Amazon EKS Bootstrap Configuration.",
      "properties": {
        "conditions": {
          "description": "Conditions defines current service state of the EKSConfig.",
          "items": {
            "description": "Condition defines an observation of a Cluster API resource operational state.",
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when\nthe API field changed is acceptable.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A human readable message indicating details about the transition.\nThis field may be empty.",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition in CamelCase.\nThe specific API may choose whether or not this field is considered a guaranteed API.\nThis field may not be empty.",
                "type": "string"
              },
              "severity": {
                "description": "Severity provides an explicit classification of Reason code, so the users or machines can immediately\nunderstand the current situation and act accordingly.\nThe Severity field MUST be set only when Status=False.",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of condition in CamelCase or in foo.example.com/CamelCase.\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions\ncan be useful (see .node.status.conditions), the ability to deconflict is important.",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dataSecretName": {
          "description": "DataSecretName is the name of the secret that stores the bootstrap data script.",
          "type": "string"
        },
        "failureMessage": {
          "description": "FailureMessage will be set on non-retryable errors",
          "type": "string"
        },
        "failureReason": {
          "description": "FailureReason will be set on non-retryable errors",
          "type": "string"
        },
        "observedGeneration": {
          "description": "ObservedGeneration is the latest generation observed by the controller.",
          "format": "int64",
          "type": "integer"
        },
        "ready": {
          "description": "Ready indicates the BootstrapData secret is ready to be consumed",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
