{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/oracle/json-schema/oracle-cluster-schema.json",
  "title": "Cluster",
  "description": "An [Oracle Cloud VMware Solution](/iaas/Content/VMware/Concepts/ocvsoverview.htm) Cluster contains the resources required for a\nfunctional VMware environment. Instances in a Cluster\n(see [EsxiHost](#/en/vmware/20200501/EsxiHost/)) run in a virtual cloud network (VCN)\nand are preconfigured with VMware and storage. Use the vCenter utility to manage\nand deploy VMware virtual machines (VMs) in the Cluster.\n\nThe Cluster uses a single management subnet for provisioning the Cluster. It also uses a\nset of VLANs for various components of the VMware environment (vSphere, vMotion,\nvSAN, and so on). See the Core Services API for information about VCN subnets and VLANs.\n",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/oracle-cluster-api-openapi.yml#/components/schemas/Cluster",
  "properties": {
    "capacityReservationId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the Capacity Reservation.\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "clusterByolAllocationDetails": {
      "$ref": "#/$defs/ClusterByolAllocationDetails"
    },
    "compartmentId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment that\ncontains the Cluster.\n",
      "type": "string"
    },
    "computeAvailabilityDomain": {
      "description": "The availability domain the ESXi hosts are running in. For Multi-AD Cluster, it is `multi-AD`.\n\nExample: `Uocm:PHX-AD-1`, `multi-AD`\n",
      "type": "string"
    },
    "datastoreClusterIds": {
      "description": "A list of datastore clusters.\n",
      "items": {
        "maxLength": 255,
        "minLength": 1,
        "type": "string"
      },
      "type": "array"
    },
    "datastores": {
      "description": "Datastores used for the Cluster.\n",
      "items": {
        "$ref": "#/$defs/DatastoreDetails"
      },
      "type": "array"
    },
    "definedTags": {
      "additionalProperties": {
        "additionalProperties": {
          "description": "The value of the tag. Only the String type is supported.\n",
          "type": "object"
        },
        "description": "Key-value pair representing a defined tag key and value, scoped to a namespace.\n\nExample: `{\"CostCenter\": \"42\"}`\n",
        "type": "object"
      },
      "description": "Defined tags for this resource. Each key is predefined and scoped to a\nnamespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Operations\": {\"CostCenter\": \"42\"}}`\n",
      "type": "object"
    },
    "displayName": {
      "description": "A descriptive name for the Cluster. It must be unique, start with a letter, and contain only letters, digits,\nwhitespaces, dashes and underscores.\nAvoid entering confidential information.\n",
      "type": "string"
    },
    "esxiHostsCount": {
      "description": "The number of ESXi hosts in the Cluster.",
      "type": "integer"
    },
    "esxiSoftwareVersion": {
      "description": "In general, this is a specific version of bundled ESXi software supported by\nOracle Cloud VMware Solution (see\n[ListSupportedVmwareSoftwareVersions](#/en/vmware/20230701/SupportedVmwareSoftwareVersionSummary/ListSupportedVmwareSoftwareVersions)).\n\nThis attribute is not guaranteed to reflect the version of\nsoftware currently installed on the ESXi hosts in the SDDC. The purpose\nof this attribute is to show the version of software that the Oracle\nCloud VMware Solution will install on any new ESXi hosts that you *add to this\nSDDC in the future* with [CreateEsxiHost](#/en/vmware/20230701/EsxiHost/CreateEsxiHost) \nunless a different version is configured on the ESXi host level.\n\nTherefore, if you upgrade the existing ESXi hosts in the Cluster to use a newer\nversion of bundled ESXi software supported by the Oracle Cloud VMware Solution, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`esxiSoftwareVersion` with that new version.\n",
      "type": "string"
    },
    "freeformTags": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Free-form tags for this resource. Each tag is a simple key-value pair with no\npredefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Department\": \"Finance\"}`\n",
      "type": "object"
    },
    "id": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the Cluster.\n",
      "type": "string"
    },
    "initialCommitment": {
      "description": "The billing option selected during Cluster creation.\n[ListSupportedCommitments](#/en/vmware/20200501/SupportedCommitmentSummary/ListSupportedCommitments).\n",
      "enum": [
        "HOUR",
        "MONTH",
        "ONE_YEAR",
        "THREE_YEARS"
      ],
      "type": "string",
      "x-default-description": "Default initialCommitment is \"HOUR\".",
      "x-obmcs-top-level-enum": "#/definitions/Commitment"
    },
    "initialHostOcpuCount": {
      "description": "The initial OCPU count of the Cluster's ESXi hosts.\n",
      "format": "float",
      "minimum": 0,
      "type": "number"
    },
    "initialHostShapeName": {
      "description": "The initial compute shape of the Cluster's ESXi hosts.\n[ListSupportedHostShapes](#/en/vmware/20200501/SupportedHostShapes/ListSupportedHostShapes).\n",
      "type": "string"
    },
    "initialVcfByolAllocationId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the initial VMware BYOL Allocation used to deploy VMware Cloud Foundation.\n",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "instanceDisplayNamePrefix": {
      "description": "A prefix used in the name of each ESXi host and Compute instance in the Cluster.\nIf this isn't set, the Cluster's `displayName` is used as the prefix.\n\nFor example, if the value is `MyCluster`, the ESXi hosts are named `MyCluster-1`,\n`MyCluster-2`, and so on.\n",
      "type": "string"
    },
    "isShieldedInstanceEnabled": {
      "default": false,
      "description": "Indicates whether shielded instance is enabled at the Cluster level.\n",
      "type": "boolean"
    },
    "lifecycleState": {
      "description": "The current state of the Cluster.",
      "enum": [
        "CREATING",
        "UPDATING",
        "ACTIVE",
        "DELETING",
        "DELETED",
        "FAILED"
      ],
      "type": "string",
      "x-obmcs-top-level-enum": "#/definitions/LifecycleStates"
    },
    "networkConfiguration": {
      "$ref": "#/$defs/NetworkConfiguration"
    },
    "sddcId": {
      "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the SDDC that the\nCluster belongs to.\n",
      "type": "string"
    },
    "systemTags": {
      "additionalProperties": {
        "additionalProperties": {
          "description": "The value of the tag. Only string, integer and boolean types are supported.\n",
          "type": "object"
        },
        "description": "Key-value pair representing system tags' keys and values scoped to a namespace.\nExample: `{\"bar-key\": \"value\"}`\n",
        "type": "object"
      },
      "description": "Usage of system tag keys. These predefined keys are scoped to namespaces.\nExample: `{orcl-cloud: {free-tier-retain: true}}`\n",
      "type": "object"
    },
    "timeCreated": {
      "description": "The date and time the Cluster was created, in the format defined by\n[RFC3339](https://tools.ietf.org/html/rfc3339).\n\nExample: `2016-08-25T21:10:29.600Z`\n",
      "format": "date-time",
      "type": "string"
    },
    "timeUpdated": {
      "description": "The date and time the Cluster was updated, in the format defined by\n[RFC3339](https://tools.ietf.org/html/rfc3339).\n",
      "format": "date-time",
      "type": "string"
    },
    "upgradeLicenses": {
      "description": "The vSphere licenses to use when upgrading the Cluster.\n",
      "items": {
        "$ref": "#/$defs/VsphereLicense"
      },
      "type": "array"
    },
    "vmwareSoftwareVersion": {
      "description": "In general, this is a specific version of bundled VMware software supported by\nOracle Cloud VMware Solution (see\n[ListSupportedVmwareSoftwareVersions](#/en/vmware/20200501/SupportedVmwareSoftwareVersionSummary/ListSupportedVmwareSoftwareVersions)).\n\nThis attribute is not guaranteed to reflect the version of\nsoftware currently installed on the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the version of software that the Oracle\nCloud VMware Solution will install on any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you upgrade the existing ESXi hosts in the Cluster to use a newer\nversion of bundled VMware software supported by the Oracle Cloud VMware Solution, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`vmwareSoftwareVersion` with that new version.\n",
      "type": "string"
    },
    "vsphereType": {
      "description": "vSphere Cluster types.\n",
      "enum": [
        "MANAGEMENT",
        "WORKLOAD"
      ],
      "type": "string",
      "x-obmcs-top-level-enum": "#/definitions/VsphereTypes"
    },
    "vsphereUpgradeObjects": {
      "description": "The links to binary objects needed to upgrade vSphere.\n",
      "items": {
        "$ref": "#/$defs/VsphereUpgradeObject"
      },
      "type": "array"
    },
    "workloadNetworkCidr": {
      "description": "The CIDR block for the IP addresses that VMware VMs in the SDDC use to run application\nworkloads.\n",
      "type": "string"
    }
  },
  "required": [
    "id",
    "computeAvailabilityDomain",
    "displayName",
    "vmwareSoftwareVersion",
    "compartmentId",
    "sddcId",
    "esxiHostsCount",
    "networkConfiguration",
    "freeformTags",
    "definedTags",
    "timeCreated",
    "initialHostShapeName",
    "vsphereType"
  ],
  "type": "object",
  "$defs": {
    "ClusterByolAllocationDetails": {
      "description": "The BYOL allocations used for VMware Cluster provisioning.\n",
      "properties": {
        "firewallByolAllocationId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VMware BYOL Allocation used to deploy VMware vDefend Firewall.\n",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        "vsanByolAllocationId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VMware BYOL Allocation used to deploy VMware vSAN.\n",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatastoreDetails": {
      "description": "Datastore details for a getting an Sddc.\n",
      "properties": {
        "blockVolumeIds": {
          "description": "A list of [OCID](/Content/General/Concepts/identifiers.htm)s of Block Storage Volumes.",
          "items": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "type": "array"
        },
        "capacity": {
          "description": "Size of the Block Storage Volume in GB.",
          "format": "double",
          "type": "number"
        },
        "datastoreType": {
          "description": "Type of the datastore.",
          "enum": [
            "MANAGEMENT",
            "WORKLOAD"
          ],
          "type": "string",
          "x-obmcs-top-level-enum": "#/definitions/DatastoreTypes"
        }
      },
      "required": [
        "blockVolumeIds",
        "datastoreType",
        "capacity"
      ],
      "type": "object"
    },
    "NetworkConfiguration": {
      "description": "The network configurations used by Cluster, including\n[OCIDs](/Content/General/Concepts/identifiers.htm) of the management subnet and VLANs.\n",
      "properties": {
        "hcxVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC\nfor the HCX component of the VMware environment. This VLAN is a mandatory attribute \nfor Management Cluster when HCX is enabled.\n\nThis attribute is not guaranteed to reflect the HCX VLAN\ncurrently used by the ESXi hosts in the SDDC. The purpose\nof this attribute is to show the HCX VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nSDDC in the future* with [CreateEsxiHost](#/en/vmware/20230701/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the SDDC to use a different VLAN\nfor the HCX component of the VMware environment, you\nshould use [UpdateSddc](#/en/vmware/20230701/Sddc/UpdateSddc) to update the SDDC's\n`hcxVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "nsxEdgeUplink1VlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC\nfor the NSX Edge Uplink 1 component of the VMware environment. This VLAN is a mandatory\nattribute for Management Cluster.\n\nThis attribute is not guaranteed to reflect the NSX Edge Uplink 1 VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the NSX Edge Uplink 1 VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the NSX Edge Uplink 1 component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`nsxEdgeUplink1VlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "nsxEdgeUplink2VlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC \nfor the NSX Edge Uplink 2 component of the VMware environment. This VLAN is a mandatory\nattribute for Management Cluster.\n\nThis attribute is not guaranteed to reflect the NSX Edge Uplink 2 VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the NSX Edge Uplink 2 VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the NSX Edge Uplink 2 component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`nsxEdgeUplink2VlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "nsxEdgeVTepVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the NSX Edge VTEP component of the VMware environment.\n\nThis attribute is not guaranteed to reflect the NSX Edge VTEP VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the NSX Edge VTEP VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the NSX Edge VTEP component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`nsxEdgeVTepVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "nsxVTepVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the NSX VTEP component of the VMware environment.\n\nThis attribute is not guaranteed to reflect the NSX VTEP VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the NSX VTEP VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the NSX VTEP component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`nsxVTepVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "provisioningSubnetId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the management subnet used\nto provision the Cluster.\n",
          "type": "string"
        },
        "provisioningVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the Provisioning component of the VMware environment.\n",
          "type": "string"
        },
        "replicationVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the vSphere Replication component of the VMware environment.\n",
          "type": "string"
        },
        "vmotionVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the vMotion component of the VMware environment.\n\nThis attribute is not guaranteed to reflect the vMotion VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the vMotion VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the vMotion component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Sddc/UpdateCluster) to update the Cluster's\n`vmotionVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "vsanVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the Cluster\nfor the vSAN component of the VMware environment.\n\nThis attribute is not guaranteed to reflect the vSAN VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the vSAN VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the vSAN component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Cluster/UpdateCluster) to update the Cluster's\n`vsanVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        },
        "vsphereVlanId": {
          "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC\nfor the vSphere component of the VMware environment. This VLAN is a mandatory attribute\nfor Management Cluster.\n\nThis attribute is not guaranteed to reflect the vSphere VLAN\ncurrently used by the ESXi hosts in the Cluster. The purpose\nof this attribute is to show the vSphere VLAN that the Oracle\nCloud VMware Solution will use for any new ESXi hosts that you *add to this\nCluster in the future* with [CreateEsxiHost](#/en/vmware/20200501/EsxiHost/CreateEsxiHost).\n\nTherefore, if you change the existing ESXi hosts in the Cluster to use a different VLAN\nfor the vSphere component of the VMware environment, you\nshould use [UpdateCluster](#/en/vmware/20200501/Sddc/UpdateSddc) to update the Cluster's\n`vsphereVlanId` with that new VLAN's OCID.\n",
          "type": "string"
        }
      },
      "required": [
        "provisioningSubnetId",
        "vmotionVlanId",
        "vsanVlanId",
        "nsxVTepVlanId",
        "nsxEdgeVTepVlanId"
      ],
      "type": "object"
    },
    "VsphereLicense": {
      "description": "License for vSphere upgrade.\n",
      "properties": {
        "licenseKey": {
          "description": "vSphere license key value.",
          "type": "string"
        },
        "licenseType": {
          "description": "vSphere license type.",
          "type": "string"
        }
      },
      "required": [
        "licenseType",
        "licenseKey"
      ]
    },
    "VsphereUpgradeObject": {
      "description": "Binary object needed for vSphere upgrade\n",
      "properties": {
        "downloadLink": {
          "description": "Binary object download link.",
          "type": "string"
        },
        "linkDescription": {
          "description": "Binary object description.",
          "type": "string"
        }
      },
      "required": [
        "downloadLink",
        "linkDescription"
      ]
    }
  }
}