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
: AnytimeMaintenanceWindowAn any-time maintenance window.
weeklyMaintenanceWindow
: WeeklyMaintenanceWindowA 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.StatusThe error result of the operation in case of failure or cancellation.
response
: google.protobuf.AnyThe 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.