Skip to main content

Create

Creates a Redis cluster in the specified folder.

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);
}
})();

CreateClusterRequest​

folderId : string​

ID of the folder to create the Redis cluster in.

name : string​

Name of the Redis cluster. The name must be unique within the folder.

description : string​

Description of the Redis cluster.

labels : string​

Custom labels for the Redis cluster as key:value pairs. Maximum 64 per cluster. For example, "project": "mvp" or "source": "dictionary".

environment : Cluster.Environment​

Deployment environment of the Redis cluster.

configSpec : ConfigSpec​

Configuration and resources for hosts that should be created for the Redis cluster.

hostSpecs : HostSpec​

Individual configurations for hosts that should be created for the Redis cluster.

networkId : string​

ID of the network to create the cluster in.

sharded : bool​

Redis cluster mode on/off.

securityGroupIds : string​

User security groups

tlsEnabled : google.protobuf.BoolValue​

TLS port and functionality on\off

deletionProtection : bool​

Deletion Protection inhibits deletion of the cluster

persistenceMode : Cluster.PersistenceMode​

Persistence mode

announceHostnames : bool​

Enable FQDN instead of ip

maintenanceWindow : MaintenanceWindow​

Window of maintenance operations.

ConfigSpec​

version : string​

Version of Redis used in the cluster.

One of redisSpec​

Configuration of a Redis cluster.

  • redisConfig_5_0 : config.RedisConfig5_0​
  • redisConfig_6_0 : config.RedisConfig6_0​
  • redisConfig_6_2 : config.RedisConfig6_2​
  • redisConfig_7_0 : config.RedisConfig7_0​
resources : Resources​

Resources allocated to Redis hosts.

backupWindowStart : google.type.TimeOfDay​

Time to start the daily backup, in the UTC timezone.

access : Access​

Access policy to DB

redis : config.RedisConfig​

Unified configuration of a Redis cluster

diskSizeAutoscaling : DiskSizeAutoscaling​

Disk size autoscaling settings

HostSpec​

zoneId : string​

ID of the availability zone where the host resides. To get a list of available zones, use the yandex.cloud.compute.v1.ZoneService.List request.

subnetId : string​

ID of the subnet that the host should belong to. This subnet should be a part of the network that the cluster belongs to. The ID of the network is set in the field Cluster.network_id.

shardName : string​

ID of the Redis shard the host belongs to. To get the shard ID use a ClusterService.ListShards request.

replicaPriority : google.protobuf.Int64Value​

A replica with a low priority number is considered better for promotion. A replica with priority of 0 will never be selected by Redis Sentinel for promotion. Works only for non-sharded clusters. Default value is 100.

assignPublicIp : bool​

Whether the host should get a public IP address on creation.

Possible values:

  • false - don't assign a public IP to the host.
  • true - the host should have a public IP address.

MaintenanceWindow​

A maintenance window settings.

One of policy​

The maintenance policy in effect.

  • anytime : AnytimeMaintenanceWindow​

    Maintenance operation can be scheduled anytime.

  • weeklyMaintenanceWindow : WeeklyMaintenanceWindow​

    Maintenance operation can be scheduled on a weekly basis.

RedisConfig5_0​

Fields and structure of RedisConfig reflects Redis configuration file parameters.

MaxmemoryPolicy​
  • MAXMEMORY_POLICY_UNSPECIFIED

  • VOLATILE_LRU

    Try to remove less recently used (LRU) keys with expire set.

  • ALLKEYS_LRU

    Remove less recently used (LRU) keys.

  • VOLATILE_LFU

    Try to remove least frequently used (LFU) keys with expire set.

  • ALLKEYS_LFU

    Remove least frequently used (LFU) keys.

  • VOLATILE_RANDOM

    Try to remove keys with expire set randomly.

  • ALLKEYS_RANDOM

    Remove keys randomly.

  • VOLATILE_TTL

    Try to remove less recently used (LRU) keys with expire set and shorter TTL first.

  • NOEVICTION

    Return errors when memory limit was reached and commands could require more memory to be used.

ClientOutputBufferLimit​
hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

maxmemoryPolicy : MaxmemoryPolicy​

Redis key eviction policy for a dataset that reaches maximum memory, available to the host. Redis maxmemory setting depends on Managed Service for Redis host class.

All policies are described in detail in Redis documentation.

timeout : google.protobuf.Int64Value​

Time that Redis keeps the connection open while the client is idle. If no new command is sent during that time, the connection is closed.

password : string​

Authentication password.

databases : google.protobuf.Int64Value​

Number of database buckets on a single redis-server process.

slowlogLogSlowerThan : google.protobuf.Int64Value​

Threshold for logging slow requests to server in microseconds (log only slower than it).

slowlogMaxLen : google.protobuf.Int64Value​

Max slow requests number to log.

notifyKeyspaceEvents : string​

String setting for pub\sub functionality.

clientOutputBufferLimitPubsub : ClientOutputBufferLimit​

Redis connection output buffers limits for pubsub operations.

clientOutputBufferLimitNormal : ClientOutputBufferLimit​

Redis connection output buffers limits for clients.

RedisConfig6_0​

Fields and structure of RedisConfig reflects Redis configuration file parameters.

MaxmemoryPolicy​
  • MAXMEMORY_POLICY_UNSPECIFIED

  • VOLATILE_LRU

    Try to remove less recently used (LRU) keys with expire set.

  • ALLKEYS_LRU

    Remove less recently used (LRU) keys.

  • VOLATILE_LFU

    Try to remove least frequently used (LFU) keys with expire set.

  • ALLKEYS_LFU

    Remove least frequently used (LFU) keys.

  • VOLATILE_RANDOM

    Try to remove keys with expire set randomly.

  • ALLKEYS_RANDOM

    Remove keys randomly.

  • VOLATILE_TTL

    Try to remove less recently used (LRU) keys with expire set and shorter TTL first.

  • NOEVICTION

    Return errors when memory limit was reached and commands could require more memory to be used.

ClientOutputBufferLimit​
hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

maxmemoryPolicy : MaxmemoryPolicy​

Redis key eviction policy for a dataset that reaches maximum memory, available to the host. Redis maxmemory setting depends on Managed Service for Redis host class.

All policies are described in detail in Redis documentation.

timeout : google.protobuf.Int64Value​

Time that Redis keeps the connection open while the client is idle. If no new command is sent during that time, the connection is closed.

password : string​

Authentication password.

databases : google.protobuf.Int64Value​

Number of database buckets on a single redis-server process.

slowlogLogSlowerThan : google.protobuf.Int64Value​

Threshold for logging slow requests to server in microseconds (log only slower than it).

slowlogMaxLen : google.protobuf.Int64Value​

Max slow requests number to log.

notifyKeyspaceEvents : string​

String setting for pub\sub functionality.

clientOutputBufferLimitPubsub : ClientOutputBufferLimit​

Redis connection output buffers limits for pubsub operations.

clientOutputBufferLimitNormal : ClientOutputBufferLimit​

Redis connection output buffers limits for clients.

RedisConfig6_2​

Fields and structure of RedisConfig reflects Redis configuration file parameters.

MaxmemoryPolicy​
  • MAXMEMORY_POLICY_UNSPECIFIED

  • VOLATILE_LRU

    Try to remove less recently used (LRU) keys with expire set.

  • ALLKEYS_LRU

    Remove less recently used (LRU) keys.

  • VOLATILE_LFU

    Try to remove least frequently used (LFU) keys with expire set.

  • ALLKEYS_LFU

    Remove least frequently used (LFU) keys.

  • VOLATILE_RANDOM

    Try to remove keys with expire set randomly.

  • ALLKEYS_RANDOM

    Remove keys randomly.

  • VOLATILE_TTL

    Try to remove less recently used (LRU) keys with expire set and shorter TTL first.

  • NOEVICTION

    Return errors when memory limit was reached and commands could require more memory to be used.

ClientOutputBufferLimit​
hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

maxmemoryPolicy : MaxmemoryPolicy​

Redis key eviction policy for a dataset that reaches maximum memory, available to the host. Redis maxmemory setting depends on Managed Service for Redis host class.

All policies are described in detail in Redis documentation.

timeout : google.protobuf.Int64Value​

Time that Redis keeps the connection open while the client is idle. If no new command is sent during that time, the connection is closed.

password : string​

Authentication password.

databases : google.protobuf.Int64Value​

Number of database buckets on a single redis-server process.

slowlogLogSlowerThan : google.protobuf.Int64Value​

Threshold for logging slow requests to server in microseconds (log only slower than it).

slowlogMaxLen : google.protobuf.Int64Value​

Max slow requests number to log.

notifyKeyspaceEvents : string​

String setting for pub\sub functionality.

clientOutputBufferLimitPubsub : ClientOutputBufferLimit​

Redis connection output buffers limits for pubsub operations.

clientOutputBufferLimitNormal : ClientOutputBufferLimit​

Redis connection output buffers limits for clients.

maxmemoryPercent : google.protobuf.Int64Value​

Redis maxmemory percent

RedisConfig7_0​

Fields and structure of RedisConfig reflects Redis configuration file parameters.

MaxmemoryPolicy​
  • MAXMEMORY_POLICY_UNSPECIFIED

  • VOLATILE_LRU

    Try to remove less recently used (LRU) keys with expire set.

  • ALLKEYS_LRU

    Remove less recently used (LRU) keys.

  • VOLATILE_LFU

    Try to remove least frequently used (LFU) keys with expire set.

  • ALLKEYS_LFU

    Remove least frequently used (LFU) keys.

  • VOLATILE_RANDOM

    Try to remove keys with expire set randomly.

  • ALLKEYS_RANDOM

    Remove keys randomly.

  • VOLATILE_TTL

    Try to remove less recently used (LRU) keys with expire set and shorter TTL first.

  • NOEVICTION

    Return errors when memory limit was reached and commands could require more memory to be used.

ClientOutputBufferLimit​
hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

maxmemoryPolicy : MaxmemoryPolicy​

Redis key eviction policy for a dataset that reaches maximum memory, available to the host. Redis maxmemory setting depends on Managed Service for Redis host class.

All policies are described in detail in Redis documentation.

timeout : google.protobuf.Int64Value​

Time that Redis keeps the connection open while the client is idle. If no new command is sent during that time, the connection is closed.

password : string​

Authentication password.

databases : google.protobuf.Int64Value​

Number of database buckets on a single redis-server process.

slowlogLogSlowerThan : google.protobuf.Int64Value​

Threshold for logging slow requests to server in microseconds (log only slower than it).

slowlogMaxLen : google.protobuf.Int64Value​

Max slow requests number to log.

notifyKeyspaceEvents : string​

String setting for pub\sub functionality.

clientOutputBufferLimitPubsub : ClientOutputBufferLimit​

Redis connection output buffers limits for pubsub operations.

clientOutputBufferLimitNormal : ClientOutputBufferLimit​

Redis connection output buffers limits for clients.

maxmemoryPercent : google.protobuf.Int64Value​

Redis maxmemory percent

Resources​

resourcePresetId : string​

ID of the preset for computational resources available to a host (CPU, memory etc.). All available presets are listed in the documentation.

diskSize : int64​

Volume of the storage available to a host, in bytes.

diskTypeId : string​

Type of the storage environment for the host. Possible values:

  • network-ssd - network SSD drive,
  • local-ssd - local SSD storage.

Access​

dataLens : bool​

Allow access for DataLens

webSql : bool​

Allow access for Web SQL.

RedisConfig​

Fields and structure of RedisConfig reflects Redis configuration file parameters.

MaxmemoryPolicy​
  • MAXMEMORY_POLICY_UNSPECIFIED

  • VOLATILE_LRU

    Try to remove less recently used (LRU) keys with expire set.

  • ALLKEYS_LRU

    Remove less recently used (LRU) keys.

  • VOLATILE_LFU

    Try to remove least frequently used (LFU) keys with expire set.

  • ALLKEYS_LFU

    Remove least frequently used (LFU) keys.

  • VOLATILE_RANDOM

    Try to remove keys with expire set randomly.

  • ALLKEYS_RANDOM

    Remove keys randomly.

  • VOLATILE_TTL

    Try to remove less recently used (LRU) keys with expire set and shorter TTL first.

  • NOEVICTION

    Return errors when memory limit was reached and commands could require more memory to be used.

ClientOutputBufferLimit​
hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

maxmemoryPolicy : MaxmemoryPolicy​

Redis key eviction policy for a dataset that reaches maximum memory, available to the host. Redis maxmemory setting depends on Managed Service for Redis host class.

All policies are described in detail in Redis documentation.

timeout : google.protobuf.Int64Value​

Time that Redis keeps the connection open while the client is idle. If no new command is sent during that time, the connection is closed.

password : string​

Authentication password.

databases : google.protobuf.Int64Value​

Number of database buckets on a single redis-server process.

slowlogLogSlowerThan : google.protobuf.Int64Value​

Threshold for logging slow requests to server in microseconds (log only slower than it).

slowlogMaxLen : google.protobuf.Int64Value​

Max slow requests number to log.

notifyKeyspaceEvents : string​

String setting for pub\sub functionality.

clientOutputBufferLimitPubsub : ClientOutputBufferLimit​

Redis connection output buffers limits for pubsub operations.

clientOutputBufferLimitNormal : ClientOutputBufferLimit​

Redis connection output buffers limits for clients.

maxmemoryPercent : google.protobuf.Int64Value​

Redis maxmemory percent

luaTimeLimit : google.protobuf.Int64Value​

Maximum time in milliseconds for Lua scripts, 0 - disabled mechanism

replBacklogSizePercent : google.protobuf.Int64Value​

Replication backlog size as a percentage of flavor maxmemory

clusterRequireFullCoverage : google.protobuf.BoolValue​

Controls whether all hash slots must be covered by nodes

clusterAllowReadsWhenDown : google.protobuf.BoolValue​

Allows read operations when cluster is down

clusterAllowPubsubshardWhenDown : google.protobuf.BoolValue​

Permits Pub/Sub shard operations when cluster is down

lfuDecayTime : google.protobuf.Int64Value​

The time, in minutes, that must elapse in order for the key counter to be divided by two (or decremented if it has a value less <= 10)

lfuLogFactor : google.protobuf.Int64Value​

Determines how the frequency counter represents key hits.

turnBeforeSwitchover : google.protobuf.BoolValue​

Allows to turn before switchover in RDSync

allowDataLoss : google.protobuf.BoolValue​

Allows some data to be lost in favor of faster switchover/restart

DiskSizeAutoscaling​

plannedUsageThreshold : google.protobuf.Int64Value​

Amount of used storage for automatic disk scaling in the maintenance window, 0 means disabled, in percent.

emergencyUsageThreshold : google.protobuf.Int64Value​

Amount of used storage for immediately automatic disk scaling, 0 means disabled, in percent.

diskSizeLimit : google.protobuf.Int64Value​

Limit on how large the storage for database instances can automatically grow, in bytes.

AnytimeMaintenanceWindow​

WeeklyMaintenanceWindow​

Weelky maintenance window settings.

WeekDay​
  • WEEK_DAY_UNSPECIFIED

  • MON

  • TUE

  • WED

  • THU

  • FRI

  • SAT

  • SUN

day : WeekDay​

Day of the week (in DDD format).

hour : int64​

Hour of the day in UTC (in HH format).

ClientOutputBufferLimit​

hardLimit : google.protobuf.Int64Value​

Total limit in bytes.

softLimit : google.protobuf.Int64Value​

Limit in bytes during certain time period.

softSeconds : google.protobuf.Int64Value​

Seconds for soft limit.

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.