{
  "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
  "properties": {
    "exec": {
      "description": "ExecAction describes a \"run in container\" action.",
      "properties": {
        "command": {
          "description": "Command is the command line to execute inside the container, the working directory for the command  is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
          "items": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": [
            "array",
            "null"
          ],
          "x-kubernetes-list-type": "atomic"
        }
      },
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    },
    "httpGet": {
      "description": "HTTPGetAction describes an action based on HTTP Get requests.",
      "properties": {
        "host": {
          "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
          "type": [
            "string",
            "null"
          ]
        },
        "httpHeaders": {
          "description": "Custom headers to set in the request. HTTP allows repeated headers.",
          "items": {
            "description": "HTTPHeader describes a custom header to be used in HTTP probes",
            "properties": {
              "name": {
                "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
                "type": "string"
              },
              "value": {
                "description": "The header field value",
                "type": "string"
              }
            },
            "required": [
              "name",
              "value"
            ],
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": false
          },
          "type": [
            "array",
            "null"
          ],
          "x-kubernetes-list-type": "atomic"
        },
        "path": {
          "description": "Path to access on the HTTP server.",
          "type": [
            "string",
            "null"
          ]
        },
        "port": {
          "oneOf": [
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "type": [
                "integer",
                "null"
              ]
            }
          ]
        },
        "scheme": {
          "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "port"
      ],
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    },
    "sleep": {
      "description": "SleepAction describes a \"sleep\" action.",
      "properties": {
        "seconds": {
          "description": "Seconds is the number of seconds to sleep.",
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "seconds"
      ],
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    },
    "tcpSocket": {
      "description": "TCPSocketAction describes an action based on opening a socket",
      "properties": {
        "host": {
          "description": "Optional: Host name to connect to, defaults to the pod IP.",
          "type": [
            "string",
            "null"
          ]
        },
        "port": {
          "oneOf": [
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "type": [
                "integer",
                "null"
              ]
            }
          ]
        }
      },
      "required": [
        "port"
      ],
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    }
  },
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}