{
  "description": "CiliumExternalWorkload is a Kubernetes Custom Resource that\ncontains a specification for an external workload that can join the\ncluster.  The name of the CRD is the FQDN of the external workload,\nand it needs to match the name in the workload registration. The\nlabels on the CRD object are the labels that will be used to\nallocate a Cilium Identity for the external workload. If\n'io.kubernetes.pod.namespace' or 'io.kubernetes.pod.name' labels\nare not explicitly specified, they will be defaulted to 'default'\nand \u003cworkload name\u003e, respectively. 'io.cilium.k8s.policy.cluster'\nwill always be defined as the name of the current cluster, which\ndefaults to \"default\".",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "additionalProperties": false,
      "description": "Spec is the desired configuration of the external Cilium workload.",
      "properties": {
        "ipv4-alloc-cidr": {
          "description": "IPv4AllocCIDR is the range of IPv4 addresses in the CIDR format that the external workload can\nuse to allocate IP addresses for the tunnel device and the health endpoint.",
          "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\/([0-9]|[1-2][0-9]|3[0-2])$",
          "type": [
            "string",
            "null"
          ]
        },
        "ipv6-alloc-cidr": {
          "description": "IPv6AllocCIDR is the range of IPv6 addresses in the CIDR format that the external workload can\nuse to allocate IP addresses for the tunnel device and the health endpoint.",
          "pattern": "^s*((([0-9A-Fa-f]{1,4}:){7}(:|([0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){6}:([0-9A-Fa-f]{1,4})?)|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){0,1}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){0,2}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){0,3}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){0,4}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){0,5}):([0-9A-Fa-f]{1,4})?))|(:(:|((:[0-9A-Fa-f]{1,4}){1,7}))))(%.+)?s*/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8])$",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "Status is the most recent status of the external Cilium workload.\nIt is a read-only field.",
      "properties": {
        "id": {
          "description": "ID is the numeric identity allocated for the external workload.",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "ip": {
          "description": "IP is the IP address of the workload. Empty if the workload has not registered.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "metadata"
  ],
  "type": "object"
}