{
  "description": "ServiceStatus represents the current status of a service.",
  "properties": {
    "conditions": {
      "description": "Current service state",
      "items": {
        "description": "Condition contains details for one aspect of the current state of this API Resource.",
        "properties": {
          "lastTransitionTime": {
            "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
            "format": "date-time",
            "type": "string"
          },
          "message": {
            "description": "message is a human readable message indicating details about the transition. This may be an empty string.",
            "type": "string"
          },
          "observedGeneration": {
            "description": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "reason": {
            "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.",
            "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.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "status",
          "lastTransitionTime",
          "reason",
          "message"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-list-map-keys": [
        "type"
      ],
      "x-kubernetes-list-type": "map",
      "x-kubernetes-patch-merge-key": "type",
      "x-kubernetes-patch-strategy": "merge"
    },
    "loadBalancer": {
      "description": "LoadBalancerStatus represents the status of a load-balancer.",
      "properties": {
        "ingress": {
          "description": "Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points.",
          "items": {
            "description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.",
            "properties": {
              "hostname": {
                "description": "Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers)",
                "type": [
                  "string",
                  "null"
                ]
              },
              "ip": {
                "description": "IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers)",
                "type": [
                  "string",
                  "null"
                ]
              },
              "ipMode": {
                "description": "IPMode specifies how the load-balancer IP behaves, and may only be specified when the ip field is specified. Setting this to \"VIP\" indicates that traffic is delivered to the node with the destination set to the load-balancer's IP and port. Setting this to \"Proxy\" indicates that traffic is delivered to the node or pod with the destination set to the node's IP and node port or the pod's IP and port. Service implementations may use this information to adjust traffic routing.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "ports": {
                "description": "Ports is a list of records of service ports If used, every port defined in the service should have an entry in it",
                "items": {
                  "description": "PortStatus represents the error condition of a service port",
                  "properties": {
                    "error": {
                      "description": "Error is to record the problem with the service port The format of the error shall comply with the following rules: - built-in error values shall be specified in this file and those shall use\n  CamelCase names\n- cloud provider specific error values must have names that comply with the\n  format foo.example.com/CamelCase.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "port": {
                      "description": "Port is the port number of the service port of which status is recorded here",
                      "format": "int32",
                      "type": "integer"
                    },
                    "protocol": {
                      "description": "Protocol is the protocol of the service port of which status is recorded here The supported values are: \"TCP\", \"UDP\", \"SCTP\"",
                      "type": "string"
                    }
                  },
                  "required": [
                    "port",
                    "protocol"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "type": [
                  "array",
                  "null"
                ],
                "x-kubernetes-list-type": "atomic"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "type": [
            "array",
            "null"
          ],
          "x-kubernetes-list-type": "atomic"
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object",
  "$schema": "http://json-schema.org/schema#"
}