Instaclustr · Schema

OpenSearchClusterV2

Definition of a managed OpenSearch cluster that can be provisioned in Instaclustr.

CompanyApache KafkaApache CassandraPostgreSQLOpenSearchClickHouseManaged DatabaseData StreamingMCP

Properties

Name Type Description
publicEndpoint string Public endpoint to connect clients to the cluster. Not applicable to Private IP only clusters.
dataNodes array List of data node settings.
opensearchVersion string Version of OpenSearch to run on the cluster. Must be provided if `opensearchMajorVersion` is not provided. Available versions:
  • `2.19.5`
  • `2.19.6`
  • `3.5.0`
  • `3.6.0`
leaderClusterAccount string The leader cluster account ID for a Cross Cluster Replication enabled follower cluster. This requires crossClusterReplicationPlugin to be set to true.
searchableSnapshots boolean Enable searchable snapshots. Available only for OpenSearch versions 2.7.0 or higher.
asynchronousSearchPlugin boolean Enable asynchronous search plugin
description string A description of the cluster
privateEndpoint string Private endpoint to connect clients to the cluster.
knnPlugin boolean Enable the k-NN plugin
mapperSizePlugin boolean Enable Mapper Size plugin
opensearchDashboards array List of openSearch dashboards settings
vectorIndexBuilder array Remote Vector Index Builder settings. When provided, a dedicated GPU host is provisioned.
reportingPlugin boolean Enable reporting plugin
ingestNodesLoadBalancerConnectionUrl string URL of the Ingest Nodes specific Network Load Balancer if a load balancer is enabled for the cluster. Balances request loads against nodes with the ingest role. Recommended for clusters with dedicated
sqlPlugin boolean Enable sql plugin
notificationsPlugin boolean Enables notifications plugin. For OpenSearch 2.x and later, if you want to enable this plugin you must also enable the Alerting plugin.
nodeTypeAttributesEnabled boolean Enable managed node_type attributes. Requires the OPENSEARCH_NODE_TYPE_ATTRIBUTES account feature. Exactly one data-role node per rack is assigned node_type=metadata and all remaining data-role nodes
currentClusterOperationStatus object
anomalyDetectionPlugin boolean Enable anomaly detection plugin
leaderClusterId string Specifies the leader cluster ID for a Cross Cluster Replication enabled follower cluster. This requires crossClusterReplicationPlugin to be set to true. Not defining this will make the cluster a leade
loadBalancer boolean Enable Load Balancer
privateNetworkCluster boolean Creates the cluster with private network only, see [Private Network Clusters](https://www.instaclustr.com/support/documentation/useful-information/private-network-clusters/).
bundledUseOnly boolean Provision this cluster for [Bundled Use only](https://www.instaclustr.com/support/documentation/cadence/getting-started-with-cadence/bundled-use-only-cluster-deployments/).
restoreSettings array Triggers a restore operation when provided during cluster creation. Contains the settings for the restore request.
resizeSettings array Settings to determine how resize requests will be performed for the cluster.
id string ID of the cluster.
slaTier object
pciComplianceMode boolean Creates a PCI compliant cluster, see [PCI Compliance](https://www.instaclustr.com/support/documentation/useful-information/pci-compliance/).
icuPlugin boolean Enable icu plugin
anonymousAuthEnabled boolean Enable anonymous authentication. Allows unauthenticated requests with restricted permissions. Requires Private Network Cluster. Not available when PCI compliance mode is enabled.
twoFactorDelete array
opensearchMajorVersion integer Major version of OpenSearch to run on the cluster. Must be provided if `opensearchVersion` is not provided.
enableBidirectionalReplication boolean When true, provisions the new follower with bi-directional OpenSearch cross-cluster replication against the specified leader. Requires `leaderClusterId` and `crossClusterReplicationPlugin` to be set t
crossClusterReplicationPlugin boolean Enable cross cluster replication plugin
defaultUserPassword string Password of the default user created for the OpenSearch cluster.
aiSearchPlugin boolean Enable AI Search plugin
dataCentres array List of data centre settings.
ingestNodes array Ingest nodes settings.
loadBalancerConnectionUrl string URL of the Network Load Balancer if a load balancer is enabled for the cluster. Balances request loads against all nodes in the cluster except for ingest nodes.
defaultUsername string Username of the default user created for the OpenSearch cluster.
observabilityPlugin boolean Enable observability plugin
name string Name of the cluster.
clusterManagerNodes array List of cluster managers node settings
indexManagementPlugin boolean Enable index management plugin
portal26Plugin boolean Whether or not the Portal26 plugin is enabled for this cluster.
alertingPlugin boolean Enables alerting plugin. For OpenSearch 2.x and later, if you want to enable this plugin you must also enable the Notifications plugin.
status string Status of the cluster.
View JSON Schema on GitHub

JSON Schema

instaclustr-open-search-cluster-v2-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/instaclustr/main/json-schema/instaclustr-open-search-cluster-v2-schema.json",
  "title": "OpenSearchClusterV2",
  "description": "Definition of a managed OpenSearch cluster that can be provisioned in Instaclustr.",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/instaclustr-openapi.yml#/components/schemas/OpenSearchClusterV2",
  "required": [
    "clusterManagerNodes",
    "dataCentres",
    "name",
    "pciComplianceMode",
    "privateNetworkCluster",
    "slaTier"
  ],
  "type": "object",
  "properties": {
    "publicEndpoint": {
      "type": "string",
      "description": "Public endpoint to connect clients to the cluster. Not applicable to Private IP only clusters.",
      "readOnly": true
    },
    "dataNodes": {
      "maxItems": 1,
      "type": "array",
      "description": "List of data node settings.",
      "items": {
        "$ref": "#/$defs/OpenSearchDataNodeV2"
      },
      "x-terraform-ignore-order": true
    },
    "opensearchVersion": {
      "pattern": "([0-9]+\\.){2}[0-9]+",
      "type": "string",
      "description": "Version of OpenSearch to run on the cluster.  Must be provided if `opensearchMajorVersion` is not provided. Available versions: <ul> <li>`2.19.5`</li> <li>`2.19.6`</li> <li>`3.5.0`</li> <li>`3.6.0`</li> </ul>",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "leaderClusterAccount": {
      "type": "string",
      "description": "The leader cluster account ID for a Cross Cluster Replication enabled follower cluster. This requires crossClusterReplicationPlugin to be set to true.",
      "readOnly": true
    },
    "searchableSnapshots": {
      "type": "boolean",
      "description": "Enable searchable snapshots. Available only for OpenSearch versions 2.7.0 or higher.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "asynchronousSearchPlugin": {
      "type": "boolean",
      "description": "Enable asynchronous search plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "description": {
      "type": "string",
      "description": "A description of the cluster",
      "x-terraform-computed": true
    },
    "privateEndpoint": {
      "pattern": "private-search.ae9ea530db48478cbc42bdac51075179.cu.dev.instaclustr.com",
      "type": "string",
      "description": "Private endpoint to connect clients to the cluster.",
      "readOnly": true
    },
    "knnPlugin": {
      "type": "boolean",
      "description": "Enable the k-NN plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "mapperSizePlugin": {
      "type": "boolean",
      "description": "Enable Mapper Size plugin",
      "readOnly": true
    },
    "opensearchDashboards": {
      "maxItems": 1,
      "type": "array",
      "description": "List of openSearch dashboards settings",
      "items": {
        "$ref": "#/$defs/OpenSearchDashboardV2"
      }
    },
    "vectorIndexBuilder": {
      "maxItems": 1,
      "type": "array",
      "description": "Remote Vector Index Builder settings. When provided, a dedicated GPU host is provisioned.",
      "items": {
        "$ref": "#/$defs/OpenSearchVectorIndexBuilderV2"
      },
      "x-terraform-computed": true
    },
    "reportingPlugin": {
      "type": "boolean",
      "description": "Enable reporting plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "ingestNodesLoadBalancerConnectionUrl": {
      "type": "string",
      "description": "URL of the Ingest Nodes specific Network Load Balancer if a load balancer is enabled for the cluster. Balances request loads against nodes with the ingest role. Recommended for clusters with dedicated ingest nodes.",
      "readOnly": true
    },
    "sqlPlugin": {
      "type": "boolean",
      "description": "Enable sql plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "notificationsPlugin": {
      "type": "boolean",
      "description": "Enables notifications plugin. For OpenSearch 2.x and later, if you want to enable this plugin you must also enable the Alerting plugin.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "nodeTypeAttributesEnabled": {
      "type": "boolean",
      "description": "Enable managed node_type attributes. Requires the OPENSEARCH_NODE_TYPE_ATTRIBUTES account feature. Exactly one data-role node per rack is assigned node_type=metadata and all remaining data-role nodes are assigned node_type=data.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "currentClusterOperationStatus": {
      "$ref": "#/$defs/CurrentClusterOperationStatusV2"
    },
    "anomalyDetectionPlugin": {
      "type": "boolean",
      "description": "Enable anomaly detection plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "leaderClusterId": {
      "type": "string",
      "description": "Specifies the leader cluster ID for a Cross Cluster Replication enabled follower cluster. This requires crossClusterReplicationPlugin to be set to true. Not defining this will make the cluster a leader cluster if crossClusterReplicationPlugin is set to true.",
      "format": "uuid",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "loadBalancer": {
      "type": "boolean",
      "description": "Enable Load Balancer",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "privateNetworkCluster": {
      "type": "boolean",
      "description": "Creates the cluster with private network only, see [Private Network Clusters](https://www.instaclustr.com/support/documentation/useful-information/private-network-clusters/).",
      "x-terraform-force-new": true
    },
    "bundledUseOnly": {
      "type": "boolean",
      "description": "Provision this cluster for [Bundled Use only](https://www.instaclustr.com/support/documentation/cadence/getting-started-with-cadence/bundled-use-only-cluster-deployments/).",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "restoreSettings": {
      "maxItems": 1,
      "type": "array",
      "description": "Triggers a restore operation when provided during cluster creation. Contains the settings for the restore request.",
      "items": {
        "$ref": "#/$defs/OpenSearchClusterRestoreSettingsV2"
      },
      "x-terraform-write-only": true
    },
    "resizeSettings": {
      "maxItems": 1,
      "type": "array",
      "description": "Settings to determine how resize requests will be performed for the cluster.",
      "items": {
        "$ref": "#/$defs/ResizeSettingsV2"
      },
      "x-terraform-write-only": true
    },
    "id": {
      "type": "string",
      "description": "ID of the cluster.",
      "readOnly": true
    },
    "slaTier": {
      "$ref": "#/$defs/SlaTierV2"
    },
    "pciComplianceMode": {
      "type": "boolean",
      "description": "Creates a PCI compliant cluster, see [PCI Compliance](https://www.instaclustr.com/support/documentation/useful-information/pci-compliance/).",
      "x-terraform-force-new": true
    },
    "icuPlugin": {
      "type": "boolean",
      "description": "Enable icu plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "anonymousAuthEnabled": {
      "type": "boolean",
      "description": "Enable anonymous authentication. Allows unauthenticated requests with restricted  permissions. Requires Private Network Cluster. Not available when PCI compliance mode is enabled.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "twoFactorDelete": {
      "maxItems": 1,
      "type": "array",
      "description": "",
      "items": {
        "$ref": "#/$defs/TwoFactorDeleteSettingsV2"
      },
      "x-terraform-computed": true
    },
    "opensearchMajorVersion": {
      "maximum": 3,
      "minimum": 1,
      "type": "integer",
      "description": "Major version of OpenSearch to run on the cluster. Must be provided if `opensearchVersion` is not provided.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "enableBidirectionalReplication": {
      "type": "boolean",
      "description": "When true, provisions the new follower with bi-directional OpenSearch cross-cluster replication against the specified leader. Requires `leaderClusterId` and `crossClusterReplicationPlugin` to be set to true. The account must have the OpenSearch bi-directional CCR feature enabled. On GET, true when this cluster is a bi-directional follower of its leader.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "crossClusterReplicationPlugin": {
      "type": "boolean",
      "description": "Enable cross cluster replication plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "defaultUserPassword": {
      "type": "string",
      "description": "Password of the default user created for the OpenSearch cluster.",
      "readOnly": true,
      "x-terraform-sensitive": true
    },
    "aiSearchPlugin": {
      "type": "boolean",
      "description": "Enable AI Search plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "dataCentres": {
      "maxItems": 1,
      "minItems": 1,
      "type": "array",
      "description": "List of data centre settings.",
      "items": {
        "$ref": "#/$defs/OpenSearchDataCentreV2"
      },
      "x-terraform-field-name": "data_centre"
    },
    "ingestNodes": {
      "maxItems": 1,
      "type": "array",
      "description": "Ingest nodes settings.",
      "items": {
        "$ref": "#/$defs/OpenSearchIngestNodeV2"
      },
      "x-terraform-computed": true
    },
    "loadBalancerConnectionUrl": {
      "type": "string",
      "description": "URL of the Network Load Balancer if a load balancer is enabled for the cluster. Balances request loads against all nodes in the cluster except for ingest nodes.",
      "readOnly": true
    },
    "defaultUsername": {
      "type": "string",
      "description": "Username of the default user created for the OpenSearch cluster.",
      "readOnly": true,
      "x-terraform-sensitive": true
    },
    "observabilityPlugin": {
      "type": "boolean",
      "description": "Enable observability plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "name": {
      "maxLength": 48,
      "minLength": 3,
      "pattern": "[a-zA-Z0-9][a-zA-Z0-9_-]*",
      "type": "string",
      "description": "Name of the cluster.",
      "x-terraform-force-new": true
    },
    "clusterManagerNodes": {
      "maxItems": 1,
      "minItems": 1,
      "type": "array",
      "description": "List of cluster managers node settings",
      "items": {
        "$ref": "#/$defs/OpenSearchClusterManagerNodeV2"
      }
    },
    "indexManagementPlugin": {
      "type": "boolean",
      "description": "Enable index management plugin",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "portal26Plugin": {
      "type": "boolean",
      "description": "Whether or not the Portal26 plugin is enabled for this cluster.",
      "readOnly": true
    },
    "alertingPlugin": {
      "type": "boolean",
      "description": "Enables alerting plugin. For OpenSearch 2.x and later, if you want to enable this plugin you must also enable the Notifications plugin.",
      "x-terraform-computed": true,
      "x-terraform-force-new": true
    },
    "status": {
      "type": "string",
      "description": "Status of the cluster.",
      "readOnly": true
    }
  },
  "$defs": {
    "BackupCompatibleProviderAwsSettingsV2": {
      "type": "object",
      "properties": {
        "backupBucket": {
          "type": "string",
          "description": "Specify the S3 bucket to use for storing backup data for the cluster data centre. Only available for customers running in their own cloud provider accounts.",
          "x-insta-unchangeable": true,
          "x-terraform-computed": true,
          "x-terraform-force-new": true
        },
        "ebsEncryptionKey": {
          "type": "string",
          "description": "ID of a KMS encryption key to encrypt data on nodes. KMS encryption key must be set in Cluster Resources through the Instaclustr Console before provisioning an encrypted Data Centre.",
          "format": "uuid",
          "x-insta-unchangeable": true
        },
        "customVirtualNetworkId": {
          "type": "string",
          "description": "VPC ID into which the Data Centre will be provisioned. The Data Centre's network allocation must match the IPv4 CIDR block of the specified VPC.",
          "x-insta-unchangeable": true,
          "x-terraform-computed": true
        },
        "storageNetwork": {
          "type": "string",
          "description": "The private network address block to be used for the storage network. This is only used for certain node sizes, currently limited to those which use AWS FSx ONTAP: for all other node sizes, this field should not be provided. The network must have a prefix length between /16 and /28, and must be part of a private address range.",
          "x-insta-unchangeable": true
        }
      },
      "description": ""
    },
    "BackupCompatibleProviderAzureSettingsV2": {
      "type": "object",
      "properties": {
        "resourceGroup": {
          "type": "string",
          "description": "The name of the Azure Resource Group into which the Data Centre will be provisioned.",
          "x-insta-unchangeable": true
        },
        "customVirtualNetworkId": {
          "type": "string",
          "description": "VNet ID into which the Data Centre will be provisioned. The VNet must have an available address space for the Data Centre's network allocation to be appended to the VNet. Currently supported for PostgreSQL clusters only.",
          "x-insta-unchangeable": true
        },
        "storageNetwork": {
          "type": "string",
          "description": "The private network address block to be used for the storage network. This is only used for certain node sizes, currently limited to those which use Azure NetApp Files: for all other node sizes, this field should not be provided. The network must have a prefix length between /16 and /28, and must be part of a private address range.",
          "x-insta-unchangeable": true
        },
        "backupStorageAccount": {
          "type": "string",
          "description": "Specify the Storage Account to use for storing backup data for the cluster data centre. Only available for customers running in their own cloud provider accounts.",
          "x-insta-unchangeable": true,
          "x-terraform-computed": true,
          "x-terraform-force-new": true
        }
      },
      "description": ""
    },
    "BackupCompatibleProviderGcpSettingsV2": {
      "type": "object",
      "properties": {
        "disableSnapshotAutoExpiry": {
          "type": "boolean",
          "description": "This field is accepted but ignored. All GCP OpenSearch clusters now use backup buckets with no expiry policy regardless of this setting. Previously controlled whether the GCS backup bucket should automatically expire data after 7 days.",
          "x-insta-unchangeable": true,
          "x-terraform-computed": true,
          "x-terraform-force-new": true
        },
        "customVirtualNetworkId": {
          "type": "string",
          "description": "Network name or a relative Network or Subnetwork URI.\nThe Data Centre's network allocation must match the IPv4 CIDR block of the specified subnet.\n\nExamples:\n- Network URI: <code>projects/{riyoa-gcp-project-name}/global/networks/{network-name}</code>.\n- Network name: <code>{network-name}</code>, equivalent to <code>projects/{riyoa-gcp-project-name}/global/networks/{network-name}</code>.\n- Same-project subnetwork URI: <code>projects/{riyoa-gcp-project-name}/regions/{region-id}/subnetworks/{subnetwork-name}</code>.\n- Shared VPC subnetwork URI: <code>projects/{riyoa-gcp-host-project-name}/regions/{region-id}/subnetworks/{subnetwork-name}</code>.\n\n",
          "x-insta-unchangeable": true
        }
      },
      "description": ""
    },
    "CdcNetworkDetailsV2": {
      "type": "object",
      "properties": {
        "cidr": {
          "type": "string",
          "description": "Network CIDR in notation, for example 10.0.0.0/16.",
          "readOnly": true
        },
        "primary": {
          "type": "boolean",
          "description": "True when this entry is the data centre primary network.",
          "readOnly": true
        },
        "status": {
          "type": "string",
          "description": "Provisioning status of the network registration.",
          "readOnly": true
        }
      },
      "description": "A network CIDR associated with the data centre (primary or expanded secondary)."
    },
    "CloudProviderEnumV2": {
      "type": "string",
      "description": "Name of a cloud provider service.",
      "enum": [
        "AWS_VPC",
        "GCP",
        "AZURE",
        "AZURE_AZ",
        "ONPREMISES"
      ],
      "x-insta-unchangeable": true
    },
    "CommonClusterRestoreModeEnumV2": {
      "type": "string",
      "description": "Determines the target VPC for restored cluster. Accepted values are:\n<ul> \n<li>NEW_VPC - restores the cluster to a new VPC.</li> \n<li>SAME_VPC - restores the cluster to the same VPC as the original cluster, for customers running in their own account.</li>\n  <ul><li>AWS - restore to a new Cidr within the CDC's network</li> <li>GCP - For customer-managed network, if the source cluster specifies a host project, it will be restored to that project.  If the source cluster specifies a custom subnet, it will be restored to that custom subnet. If nothing is specified, it will restore to a new Cidr within the CDC network.</li> <li>Azure - currently not supported.</li></ul> <li>CUSTOM_VPC - restores the cluster to a custom VPC for customers running in their own account. Customers need to specify the customVpcSettings including network and vpcId.</li>\n  <ul><li>AWS - restores the cluster to the network Cidr and vpc specified by the customer</li> <li>GCP - For customer-managed network, if the vpcId field contains the projects/ pattern, it will be restored to that project.  If the vpcId field contains the subnetworks/ pattern, it will be restored to that custom subnet. If nothing is specified, it will restore to a new Cidr within the CDC network.</li> <li>Azure - restores the cluster to the network Cidr and VNet specified by the customer.</li></ul>\n CUSTOM_VPC and SAME_VPC options are available only for customers running in their own account.",
      "enum": [
        "NEW_VPC",
        "SAME_VPC",
        "CUSTOM_VPC"
      ],
      "x-terraform-write-only": true
    },
    "CurrentClusterOperationStatusV2": {
      "type": "string",
      "description": "Indicates if the cluster is currently performing any restructuring operation such as being created or resized",
      "enum": [
        "NO_OPERATION",
        "OPERATION_IN_PROGRESS",
        "OPERATION_FAILED"
      ],
      "x-insta-tf-import-hidden": true,
      "x-terraform-field-status": true
    },
    "NodeDetailsV2": {
      "type": "object",
      "properties": {
        "nodeRoles": {
          "type": "array",
          "description": "The roles or purposes of the node. Useful for filtering for nodes that have a specific role.",
          "readOnly": true,
          "items": {
            "$ref": "#/$defs/NodeRolesV2"
          }
        },
        "rack": {
          "type": "string",
          "description": "Rack name in which the node is located.",
          "readOnly": true
        },
        "nodeSize": {
          "type": "string",
          "description": "Size of the node.",
          "readOnly": true
        },
        "privateAddress": {
          "type": "string",
          "description": "Private IP address of the node.",
          "readOnly": true
        },
        "deletionTime": {
          "type": "string",
          "description": "Deletion time of the node as a UTC timestamp",
          "readOnly": true
        },
        "publicAddress": {
          "type": "string",
          "description": "Public IP address of the node.",
          "readOnly": true
        },
        "startTime": {
          "type": "string",
          "description": "Start time of the node as a UTC timestamp",
          "readOnly": true
        },
        "id": {
          "type": "string",
          "description": "ID of the node.",
          "readOnly": true
        },
        "status": {
          "type": "string",
          "description": "Provisioning status of the node.",
          "readOnly": true
        }
      },
      "description": ""
    },
    "NodeRolesV2": {
      "type": "string",
      "description": "",
      "enum": [
        "CASSANDRA",
        "SPARK_MASTER",
        "SPARK_JOBSERVER",
        "KAFKA_BROKER",
        "KAFKA_DEDICATED_ZOOKEEPER",
        "KAFKA_DEDICATED_KRAFT_CONTROLLER",
        "KAFKA_ZOOKEEPER",
        "KAFKA_KRAFT_CONTROLLER",
        "KAFKA_SCHEMA_REGISTRY",
        "KAFKA_REST_PROXY",
        "APACHE_ZOOKEEPER",
        "POSTGRESQL",
        "PGBOUNCER",
        "KAFKA_CONNECT",
        "KAFKA_KARAPACE_SCHEMA_REGISTRY",
        "KAFKA_KARAPACE_REST_PROXY",
        "CADENCE",
        "CLICKHOUSE_SERVER",
        "CLICKHOUSE_KEEPER",
        "CLICKHOUSE_SERVER_AND_KEEPER",
        "REDIS_MASTER",
        "REDIS_REPLICA",
        "VALKEY_MASTER",
        "VALKEY_REPLICA",
        "OPENSEARCH_DASHBOARDS",
        "OPENSEARCH_COORDINATOR",
        "OPENSEARCH_MASTER",
        "OPENSEARCH_DATA",
        "OPENSEARCH_INGEST",
        "OPENSEARCH_DATA_AND_INGEST",
        "KAFKA_SHOTOVER_PROXY",
        "MCP_GATEWAY_SERVER",
        "KAFKA_DISKLESS"
      ]
    },
    "OpenSearchClusterManagerNodeV2": {
      "required": [
        "dedicatedManager",
        "nodeSize"
      ],
      "type": "object",
      "properties": {
        "nodeSize": {
          "type": "string",
          "description": "Manager node size. Available node sizes: <details> <summary>*Amazon Web Services* [__AWS_VPC__]</summary> <br> <details> <summary>*Africa (Cape Town)* [__AF_SOUTH_1__]</summary> <br> <table> <tr> <th>Node Size</th> <th>Lifecycle State</th> </tr> <tr> <td>SRH-DEV-t4g.medium-30 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.medium-80 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.small-30 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.2xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.4xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.large-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.2xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.4xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.large-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c5d.2xlarge-200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c7g.8xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c7g.8xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3.2xlarge-1769 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3.4xlarge-3538 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3en.2xlarge-4656 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3en.xlarge-2328 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-120 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-4500 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-120 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-80 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>m5l-400-v2 </td> <td>Deprecated</td> </tr> <tr> <td>r5xl-800-v2 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DEV-t3.medium-30 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DEV-t3.small-5 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-DEV-t3.small-5 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.2xlarge </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.large </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.xlarge </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.large-250 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-1600 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-400 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-800 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-r5.xlarge-1200 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-r5.xlarge-2000 </td> <td>Deprecated</td> </tr> </table> <br> </details> <details> <summary>*Asia Pacific (Hong Kong)* [__AP_EAST_1__]</summary> <br> <table> <tr> <th>Node Size</th> <th>Lifecycle State</th> </tr> <tr> <td>SRH-DEV-t4g.medium-30 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.medium-80 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.small-30 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.2xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.4xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.large-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DI-PRD-m6g.xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-DEV-t4g.small-5 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.2xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.4xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.large-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-DM-PRD-m6g.xlarge-10 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c5d.2xlarge-200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c7g.8xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-c7g.8xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3.2xlarge-1769 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3.4xlarge-3538 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3en.2xlarge-4656 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-i3en.xlarge-2328 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-120 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-m6g.large-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.2xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-4500 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.4xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.large-800 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-120 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-250 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.medium-80 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-1200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-1600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-2400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-3200 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-400 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-600 </td> <td>General Availability</td> </tr> <tr> <td>SRH-PRD-r6g.xlarge-800 </td> <td>General Availability</td> </tr> <tr> <td>m5l-400-v2 </td> <td>Deprecated</td> </tr> <tr> <td>r5xl-800-v2 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DEV-t3.medium-30 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DEV-t3.small-5 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-DEV-t3.small-5 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.2xlarge </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.large </td> <td>Deprecated</td> </tr> <tr> <td>SRH-DM-m5d.xlarge </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.large-250 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-1600 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-400 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-m5.xlarge-800 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-r5.xlarge-1200 </td> <td>Deprecated</td> </tr> <tr> <td>SRH-PRD-r5.xlarge-2000 </td> <td>Deprecated</td> </tr> </table> <br> </details> <details> <summary>*Asia Pacific (Hyderabad)* [__AP_SOUTH_2__]</summary> <br> <table> <tr> <th>Node Size</

# --- truncated at 32 KB (944 KB total) ---
# Full source: https://artifacts.apis.io/instaclustr/json-schema/instaclustr-open-search-cluster-v2-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/instaclustr-open-search-cluster-v2"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.