Update
Updates the specified OpenSearch cluster.
- TypeScript
- Python
import {
  cloudApi,
  decodeMessage,
  serviceClients,
  Session,
  waitForOperation,
} from "@yandex-cloud/nodejs-sdk";
const Cluster = cloudApi.dataproc.cluster.Cluster;
const HadoopConfig_Service = cloudApi.dataproc.cluster.HadoopConfig_Service;
const UpdateClusterRequest =
  cloudApi.dataproc.cluster_service.UpdateClusterRequest;
(async () => {
  const authToken = process.env["YC_OAUTH_TOKEN"];
  const session = new Session({ oauthToken: authToken });
  const client = session.client(serviceClients.ClusterServiceClient);
  const operation = await client.update(
    UpdateClusterRequest.fromPartial({
      // clusterId: "clusterId",
      // updateMask: {
      // paths: ["paths"]
      // },
      // description: "description",
      // labels: {"key": "labels"},
      // configSpec: {
      // subclustersSpec: [{
      // id: "id",
      // name: "name",
      // resources: {
      // resourcePresetId: "resourcePresetId",
      // diskTypeId: "diskTypeId",
      // diskSize: 0
      // },
      // hostsCount: 0,
      // autoscalingConfig: {
      // maxHostsCount: 0,
      // preemptible: true,
      // measurementDuration: {
      // seconds: 0,
      // nanos: 0
      // },
      // warmupDuration: {
      // seconds: 0,
      // nanos: 0
      // },
      // stabilizationDuration: {
      // seconds: 0,
      // nanos: 0
      // },
      // cpuUtilizationTarget: 0,
      // decommissionTimeout: 0
      // }
      // }],
      // hadoop: {
      // services: [HadoopConfig_Service.HDFS],
      // properties: {"key": "properties"},
      // sshPublicKeys: ["sshPublicKeys"],
      // initializationActions: [{
      // uri: "uri",
      // args: ["args"],
      // timeout: 0
      // }]
      // }
      // },
      // name: "name",
      // serviceAccountId: "serviceAccountId",
      // bucket: "bucket",
      // decommissionTimeout: 0,
      // uiProxy: true,
      // securityGroupIds: ["securityGroupIds"],
      // 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_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.cluster_service_pb2 import UpdateClusterConfigSpec
from yandex.cloud.dataproc.v1.cluster_service_pb2 import UpdateClusterMetadata
from yandex.cloud.dataproc.v1.cluster_service_pb2 import UpdateClusterRequest
from yandex.cloud.dataproc.v1.cluster_service_pb2 import UpdateSubclusterConfigSpec
token = os.getenv("YC_OAUTH_TOKEN")
sdk = yandexcloud.SDK(token=token)
service = sdk.client(ClusterServiceStub)
operation = service.Update(
    UpdateClusterRequest(
        # cluster_id = "clusterId",
        # update_mask = FieldMask.FromJsonString("field1,field2"),
        # description = "description",
        # labels = {"key": "labels"},
        # config_spec = UpdateClusterConfigSpec(
        # subclusters_spec = [UpdateSubclusterConfigSpec(
        # id = "id",
        # name = "name",
        # resources = Resources(
        # resource_preset_id = "resourcePresetId",
        # disk_type_id = "diskTypeId",
        # disk_size = 0
        # ),
        # hosts_count = 0,
        # 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
        # )
        # )],
        # hadoop = HadoopConfig(
        # services = [HadoopConfig.Service.HDFS],
        # properties = {"key": "properties"},
        # ssh_public_keys = ["sshPublicKeys"],
        # initialization_actions = [InitializationAction(
        # uri = "uri",
        # args = ["args"],
        # timeout = 0
        # )]
        # )
        # ),
        # name = "name",
        # service_account_id = "serviceAccountId",
        # bucket = "bucket",
        # decommission_timeout = 0,
        # ui_proxy = true,
        # security_group_ids = ["securityGroupIds"],
        # deletion_protection = true,
        # log_group_id = "logGroupId"
    )
)
operation_result = sdk.wait_operation_and_get_result(
    operation,
    response_type=Cluster,
    meta_type=UpdateClusterMetadata,
)
print(operation_result)
UpdateClusterRequest
clusterId : string
ID of the OpenSearch cluster resource to update. To get the OpenSearch cluster ID, use a ClusterService.List request.
updateMask : google.protobuf.FieldMask
Field mask that specifies which fields of the OpenSearch cluster resource should be updated.
description : string
New description of the OpenSearch cluster.
labels : string
Custom labels for the OpenSearch cluster as key:value pairs.
For example, "project": "mvp" or "source": "dictionary".
The new set of labels completely replaces the old one. To add a label, request the current set with the ClusterService.Get method, then send an ClusterService.Update request with the new label added to the set.
configSpec : ConfigUpdateSpec
New cluster configuration
name : string
New name for the cluster. The name must be unique within the folder.
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.
networkId : string
ID of the network to move the cluster to.
ConfigUpdateSpec
version : string
OpenSearch version.
adminPassword : string
OpenSearch admin password.
opensearchSpec : OpenSearchClusterUpdateSpec
OpenSearch configuration.
dashboardsSpec : DashboardsClusterUpdateSpec
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. 
OpenSearchClusterUpdateSpec
plugins : string
Names of the cluster plugins.
One of config
- opensearchConfig_2: config.OpenSearchConfig2
setKeystoreSettings : KeystoreSetting
Keystore settings to add/replace. Old entries not listed here will be left unchanged.
removeKeystoreSettings : string
Keystore entries names to remove.
DashboardsClusterUpdateSpec
Dashboards configuration.
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.
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.