{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-create-bds-instance-details-schema.json",
  "title": "CreateBdsInstanceDetails",
  "description": "The information about the new cluster.",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/oracle-bds-api-openapi.yml#/components/schemas/CreateBdsInstanceDetails",
  "properties": {
    "bdsClusterVersionSummary": {
      "$ref": "#/$defs/BdsClusterVersionSummary"
    },
    "bootstrapScriptUrl": {
      "description": "Pre-authenticated URL of the script in Object Store that is downloaded and executed.",
      "maxLength": 1024,
      "minLength": 1,
      "type": "string"
    },
    "clusterAdminPassword": {
      "description": "Base-64 encoded password for the cluster (and Cloudera Manager) admin user. Not required if the secretId is specified.",
      "format": "password",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "clusterProfile": {
      "default": "HADOOP_EXTENDED",
      "description": "Profile of the Big Data Service cluster.",
      "type": "string",
      "x-obmcs-enumref": "#/definitions/BdsInstance/clusterProfile"
    },
    "clusterPublicKey": {
      "description": "The SSH public key used to authenticate the cluster connection.",
      "maxLength": 1024,
      "minLength": 1,
      "type": "string"
    },
    "clusterVersion": {
      "description": "Version of the Hadoop distribution.",
      "type": "string",
      "x-obmcs-enumref": "#/definitions/BdsInstance/clusterVersion"
    },
    "compartmentId": {
      "description": "The OCID of the compartment.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "definedTags": {
      "additionalProperties": {
        "additionalProperties": {
          "description": "The value of the tag. Only string, integer and boolean types are supported.\n",
          "type": "object"
        },
        "description": "Key-value pair representing predefined tags' keys and values scoped to a namespace.\nFor example, `{\"bar-key\": \"value\"}`\n",
        "type": "object"
      },
      "description": "Defined tags for this resource. Each key is predefined and scoped to a namespace.\nFor example, `{\"foo-namespace\": {\"bar-key\": \"value\"}}`\n",
      "type": "object"
    },
    "displayName": {
      "description": "Name of the Big Data Service cluster.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "freeformTags": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Simple key-value pair that is applied without any predefined name, type, or scope.\nExists for cross-compatibility only. For example, `{\"bar-key\": \"value\"}`\n",
      "type": "object"
    },
    "isHighAvailability": {
      "default": false,
      "description": "Boolean flag specifying whether or not the cluster is highly available (HA).",
      "type": "boolean"
    },
    "isSecretReused": {
      "default": false,
      "description": "Boolean flag specifying whether or not to persist the provided secret OCID and reuse it for future operations.",
      "type": "boolean"
    },
    "isSecure": {
      "default": true,
      "description": "Boolean flag specifying whether or not the cluster should be set up as secure.",
      "type": "boolean"
    },
    "kmsKeyId": {
      "description": "The OCID of the Key Management master encryption key.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "networkConfig": {
      "$ref": "#/$defs/NetworkConfig"
    },
    "nodes": {
      "description": "The list of nodes in the Big Data Service cluster.",
      "items": {
        "$ref": "#/$defs/CreateNodeDetails"
      },
      "type": "array"
    },
    "secretId": {
      "description": "The secretId for the clusterAdminPassword.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "compartmentId",
    "displayName",
    "clusterVersion",
    "clusterPublicKey",
    "isHighAvailability",
    "isSecure",
    "nodes"
  ],
  "type": "object",
  "$defs": {
    "BdsClusterVersionSummary": {
      "description": "Cluster version details including bds and odh version information.",
      "properties": {
        "bdsVersion": {
          "description": "BDS version to be used for cluster creation",
          "type": "string"
        },
        "odhVersion": {
          "description": "ODH version to be used for cluster creation",
          "type": "string"
        }
      },
      "required": [
        "bdsVersion"
      ],
      "type": "object"
    },
    "CreateNodeDetails": {
      "description": "The information about the new node.",
      "properties": {
        "blockVolumeSizeInGBs": {
          "description": "The size of block volume in GB to be attached to a given node. All the\ndetails needed for attaching the block volume are managed by service itself.\n",
          "format": "int64",
          "minimum": 150,
          "type": "integer"
        },
        "nodeType": {
          "description": "The Big Data Service cluster node type.",
          "type": "string",
          "x-obmcs-enumref": "#/definitions/Node/nodeType"
        },
        "shape": {
          "description": "Shape of the node.",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        "shapeConfig": {
          "$ref": "#/$defs/ShapeConfigDetails"
        },
        "subnetId": {
          "description": "The OCID of the subnet in which the node will be created.",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "nodeType",
        "shape",
        "blockVolumeSizeInGBs",
        "subnetId"
      ],
      "type": "object"
    },
    "NetworkConfig": {
      "description": "Additional configuration of the user's network.",
      "properties": {
        "cidrBlock": {
          "description": "The CIDR IP address block of the VCN.",
          "maxLength": 32,
          "minLength": 1,
          "type": "string"
        },
        "isNatGatewayRequired": {
          "description": "A boolean flag whether to configure a NAT gateway.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ShapeConfigDetails": {
      "description": "The shape configuration requested for the node.",
      "properties": {
        "memoryInGBs": {
          "description": "The total amount of memory available to the node, in gigabytes.",
          "minimum": 15,
          "type": "integer"
        },
        "nvmes": {
          "description": "The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.",
          "maximum": 4,
          "minimum": 1,
          "type": "integer"
        },
        "ocpus": {
          "description": "The total number of OCPUs available to the node.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "type": "object"
    }
  }
}