Create
Creates an OpenSearch cluster in the specified folder.
- TypeScript
- Python
import {
  cloudApi,
  decodeMessage,
  serviceClients,
  Session,
  waitForOperation,
} from "@yandex-cloud/nodejs-sdk";
const Cluster = cloudApi.dataproc.cluster.Cluster;
const CreateClusterRequest =
  cloudApi.dataproc.cluster_service.CreateClusterRequest;
const HadoopConfig_Service = cloudApi.dataproc.cluster.HadoopConfig_Service;
const Role = cloudApi.dataproc.subcluster.Role;
(async () => {
  const authToken = process.env["YC_OAUTH_TOKEN"];
  const session = new Session({ oauthToken: authToken });
  const client = session.client(serviceClients.ClusterServiceClient);
  const operation = await client.create(
    CreateClusterRequest.fromPartial({
      folderId: "folderId",
      // name: "name",
      // description: "description",
      // labels: {"key": "labels"},
      configSpec: {
        // versionId: "versionId",
        // hadoop: {
        // services: [HadoopConfig_Service.HDFS],
        // properties: {"key": "properties"},
        // sshPublicKeys: ["sshPublicKeys"],
        // initializationActions: [{
        // uri: "uri",
        // args: ["args"],
        // timeout: 0
        // }]
        // },
        // subclustersSpec: [{
        // name: "name",
        // role: Role.MASTERNODE,
        // resources: {
        // resourcePresetId: "resourcePresetId",
        // diskTypeId: "diskTypeId",
        // diskSize: 0
        // },
        // subnetId: "subnetId",
        // hostsCount: 0,
        // assignPublicIp: true,
        // autoscalingConfig: {
        // maxHostsCount: 0,
        // preemptible: true,
        // measurementDuration: {
        // seconds: 0,
        // nanos: 0
        // },
        // warmupDuration: {
        // seconds: 0,
        // nanos: 0
        // },
        // stabilizationDuration: {
        // seconds: 0,
        // nanos: 0
        // },
        // cpuUtilizationTarget: 0,
        // decommissionTimeout: 0
        // }
        // }]
      },
      zoneId: "zoneId",
      serviceAccountId: "serviceAccountId",
      // bucket: "bucket",
      // uiProxy: true,
      // securityGroupIds: ["securityGroupIds"],
      // hostGroupIds: ["hostGroupIds"],
      // deletionProtection: true,
      // logGroupId: "logGroupId"
    })
  );
  const finishedOp = await waitForOperation(operation, session);
  if (finishedOp.response) {
    const result = decodeMessage<typeof Cluster>(finishedOp.response);
    console.log(result);
  }
})();
import os
import grpc
import yandexcloud
from yandex.cloud.dataproc.v1.subcluster_pb2 import AutoscalingConfig
from yandex.cloud.dataproc.v1.cluster_pb2 import Cluster
from yandex.cloud.dataproc.v1.cluster_service_pb2_grpc import ClusterServiceStub
from yandex.cloud.dataproc.v1.cluster_service_pb2 import CreateClusterConfigSpec
from yandex.cloud.dataproc.v1.cluster_service_pb2 import CreateClusterMetadata
from yandex.cloud.dataproc.v1.cluster_service_pb2 import CreateClusterRequest
from yandex.cloud.dataproc.v1.cluster_service_pb2 import CreateSubclusterConfigSpec
from yandex.cloud.dataproc.v1.cluster_pb2 import HadoopConfig
from yandex.cloud.dataproc.v1.cluster_pb2 import InitializationAction
from yandex.cloud.dataproc.v1.common_pb2 import Resources
from yandex.cloud.dataproc.v1.subcluster_pb2 import Role
token = os.getenv("YC_OAUTH_TOKEN")
sdk = yandexcloud.SDK(token=token)
service = sdk.client(ClusterServiceStub)
operation = service.Create(
    CreateClusterRequest(
        folder_id="folderId",
        # name = "name",
        # description = "description",
        # labels = {"key": "labels"},
        config_spec=CreateClusterConfigSpec(
            # version_id = "versionId",
            # hadoop = HadoopConfig(
            # services = [HadoopConfig.Service.HDFS],
            # properties = {"key": "properties"},
            # ssh_public_keys = ["sshPublicKeys"],
            # initialization_actions = [InitializationAction(
            # uri = "uri",
            # args = ["args"],
            # timeout = 0
            # )]
            # ),
            # subclusters_spec = [CreateSubclusterConfigSpec(
            # name = "name",
            # role = Role.MASTERNODE,
            # resources = Resources(
            # resource_preset_id = "resourcePresetId",
            # disk_type_id = "diskTypeId",
            # disk_size = 0
            # ),
            # subnet_id = "subnetId",
            # hosts_count = 0,
            # assign_public_ip = true,
            # autoscaling_config = AutoscalingConfig(
            # max_hosts_count = 0,
            # preemptible = true,
            # measurement_duration = Duration(
            # seconds = 0,
            # nanos = 0
            # ),
            # warmup_duration = Duration(
            # seconds = 0,
            # nanos = 0
            # ),
            # stabilization_duration = Duration(
            # seconds = 0,
            # nanos = 0
            # ),
            # cpu_utilization_target = 0,
            # decommission_timeout = 0
            # )
            # )]
        ),
        zone_id="zoneId",
        service_account_id="serviceAccountId",
        # bucket = "bucket",
        # ui_proxy = true,
        # security_group_ids = ["securityGroupIds"],
        # host_group_ids = ["hostGroupIds"],
        # deletion_protection = true,
        # log_group_id = "logGroupId"
    )
)
operation_result = sdk.wait_operation_and_get_result(
    operation,
    response_type=Cluster,
    meta_type=CreateClusterMetadata,
)
print(operation_result)
CreateClusterRequest
folderId : string
ID of the folder to create the OpenSearch cluster in.
name : string
Name of the OpenSearch cluster. The name must be unique within the folder.
description : string
Description of the OpenSearch cluster.
labels : string
Custom labels for the OpenSearch cluster as key:value pairs.
For example, "project": "mvp" or "source": "dictionary".
environment : Cluster.Environment
Deployment environment of the OpenSearch cluster.
configSpec : ConfigCreateSpec
OpenSearch cluster configuration.
networkId : string
ID of the network to create the cluster in.
securityGroupIds : string
User security groups.
serviceAccountId : string
ID of the service account used to access Object Storage.
deletionProtection : bool
Determines whether the cluster is protected from being deleted.
maintenanceWindow : MaintenanceWindow
Cluster maintenance window. Should be defined by either one of the two options.
ConfigCreateSpec
version : string
OpenSearch version.
adminPassword : string
OpenSearch admin password.
opensearchSpec : OpenSearchCreateSpec
OpenSearch configuration.
dashboardsSpec : DashboardsCreateSpec
Dashboards configuration.
access : Access
Access policy for external services.
MaintenanceWindow
An OpenSearch cluster maintenance window. Should be defined by either one of the two options.
One of policy
- anytime: AnytimeMaintenanceWindow- An any-time maintenance window. 
- weeklyMaintenanceWindow: WeeklyMaintenanceWindow- A weekly maintenance window. 
OpenSearchCreateSpec
OpenSearch create-time configuration.
NodeGroup
Configuration of the host group.
name : string
Name of the group.
resources : Resources
Resources allocated to the hosts.
hostsCount : int64
Number of hosts in the group.
zoneIds : string
IDs of the availability zones the hosts belong to.
subnetIds : string
IDs of the subnets that the hosts belong to.
assignPublicIp : bool
Determines whether a public IP is assigned to the hosts in the group.
roles : OpenSearch.GroupRole
Roles of the hosts in the group.
diskSizeAutoscaling : DiskSizeAutoscaling
Disk size autoscaling settings
plugins : string
Names of the cluster plugins.
nodeGroups : NodeGroup
OpenSearch type host groups of the cluster.
One of config
- opensearchConfig_2: config.OpenSearchConfig2
keystoreSettings : KeystoreSetting
Initial cluster keystore settings.
DashboardsCreateSpec
Dashboards create-time configuration.
NodeGroup
name : string
Name of the group.
resources : Resources
Resources allocated to the hosts.
hostsCount : int64
Number of hosts in the group.
zoneIds : string
IDs of the availability zones the hosts belong to.
subnetIds : string
IDs of the subnets that the hosts belong to.
assignPublicIp : bool
Determines whether a public IP is assigned to the hosts in the group.
diskSizeAutoscaling : DiskSizeAutoscaling
Disk size autoscaling settings
nodeGroups : NodeGroup
Dashboards type host groups of the cluster.
Access
Access policy for external services.
dataTransfer : bool
Determines whether the access to Data Transfer is allowed.
serverless : bool
Determines whether the access to Serverless is allowed.
AnytimeMaintenanceWindow
An any-time maintenance window.
WeeklyMaintenanceWindow
A weekly maintenance window.
WeekDay
- WEEK_DAY_UNSPECIFIED
- MON- Monday 
- TUE- Tuesday 
- WED- Wednesday 
- THU- Thursday 
- FRI- Friday 
- SAT- Saturday 
- SUN- Sunday 
day : WeekDay
Day of the week.
hour : int64
Hour of the day in the UTC timezone.
Resources
A list of computational resources allocated to a host.
resourcePresetId : string
ID of the preset for computational resources allocated to a host.
diskSize : int64
Volume of the storage used by the host, in bytes.
diskTypeId : string
Type of the storage used by the host: network-hdd, network-ssd or local-ssd.
DiskSizeAutoscaling
plannedUsageThreshold : int64
Amount of used storage for automatic disk scaling in the maintenance window, 0 means disabled, in percent.
emergencyUsageThreshold : int64
Amount of used storage for immediately automatic disk scaling, 0 means disabled, in percent.
diskSizeLimit : int64
Limit on how large the storage for database instances can automatically grow, in bytes.
NodeGroup
Configuration of the host group.
name : string
Name of the group.
resources : Resources
Resources allocated to the hosts.
hostsCount : int64
Number of hosts in the group.
zoneIds : string
IDs of the availability zones the hosts belong to.
subnetIds : string
IDs of the subnets that the hosts belong to.
assignPublicIp : bool
Determines whether a public IP is assigned to the hosts in the group.
roles : OpenSearch.GroupRole
Roles of the hosts in the group.
diskSizeAutoscaling : DiskSizeAutoscaling
Disk size autoscaling settings
OpenSearchConfig2
maxClauseCount : google.protobuf.Int64Value
the maximum number of allowed boolean clauses in a query
fielddataCacheSize : string
the percentage or absolute value (10%, 512mb) of heap space that is allocated to fielddata
reindexRemoteWhitelist : string
KeystoreSetting
Single keystore entry.
name : string
Keystore entry name.
value : string
Keystore entry value.
Operation
An Operation resource. For more information, see Operation.
id : string
ID of the operation.
description : string
Description of the operation. 0-256 characters long.
createdAt : google.protobuf.Timestamp
Creation timestamp.
createdBy : string
ID of the user or service account who initiated the operation.
modifiedAt : google.protobuf.Timestamp
The time when the Operation resource was last modified.
done : bool
If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.
metadata : google.protobuf.Any
Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any.
One of result
The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.
- error: google.rpc.Status- The error result of the operation in case of failure or cancellation. 
- response: google.protobuf.Any- The normal response of the operation in case of success.- If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any.