Extend API, REST: StacklandCluster.UpdateStacklandCluster
Updates the specified Stackland cluster.
HTTP request
PATCH https://baremetal.api.cloud.yandex.net/v2/clouds/{cluster.cloud_id}/folders/{cluster.folder_id}/extend/stacklandClusters/{cluster.stackland_cluster_id}
Body parameters
{
"cluster": {
"stacklandClusterId": "string",
"cloudId": "string",
"folderId": "string",
"name": "string",
"description": "string",
"state": "string",
"createTime": "string",
"updateTime": "string",
"annotations": "object",
"hardwarePoolId": "string",
"preset": "string",
"hostRoles": {
"controlplane": [
{
"configurationId": "string",
"nodeCount": "string",
"nodes": [
{
"serverId": "string",
"configurationId": "string",
"managementIpAddress": "string",
"hostname": "string"
}
],
"serverIds": [
"string"
]
}
],
"combined": [
{
"configurationId": "string",
"nodeCount": "string",
"nodes": [
{
"serverId": "string",
"configurationId": "string",
"managementIpAddress": "string",
"hostname": "string"
}
],
"serverIds": [
"string"
]
}
],
"worker": [
{
"configurationId": "string",
"nodeCount": "string",
"nodes": [
{
"serverId": "string",
"configurationId": "string",
"managementIpAddress": "string",
"hostname": "string"
}
],
"serverIds": [
"string"
]
}
]
},
"bastionNode": {
"serverId": "string",
"configurationId": "string",
"managementIpAddress": "string",
"hostname": "string"
},
"subnetId": "string",
"cidr": "string",
"version": "string",
"license": "string",
"credentialsLockboxSecretId": "string",
"configurationUrl": "string",
"virtualIp": "string",
"clusterDomain": "string",
"subdomains": {
"console": "string",
"dashboard": "string",
"grafana": "string",
"prometheus": "string",
"alertmanager": "string"
},
"bastionSpec": {
// Includes only one of the fields `sshPublicKeyText`, `userSshId`
"sshPublicKeyText": "string",
"userSshId": "string",
// end of the list of possible fields
// Includes only one of the fields `passwordPlainText`, `passwordLockboxSecret`
"passwordPlainText": "string",
"passwordLockboxSecret": {
"secretId": "string",
"versionId": "string",
"key": "string"
}
// end of the list of possible fields
},
"settings": {
"publicNetworkAccess": "string"
}
},
"updateMask": "string"
}
|
Field |
Description |
|
cluster |
The cluster object to be updated |
|
updateMask |
string (field-mask) A comma-separated names off ALL fields to be updated. If |
StacklandCluster
|
Field |
Description |
|
stacklandClusterId |
string ID of the cluster. |
|
cloudId |
string ID of the cloud that the cluster belongs to. |
|
folderId |
string ID of the folder that the cluster belongs to. |
|
name |
string Name of the cluster. |
|
description |
string Description of the server. |
|
state |
enum (State) State of the cluster.
|
|
createTime |
string (date-time) Creation timestamp. String in RFC3339 To work with values in this field, use the APIs described in the |
|
updateTime |
string (date-time) Update timestamp. String in RFC3339 To work with values in this field, use the APIs described in the |
|
annotations |
object (map<string, string>) Resource labels as The maximum string length in characters for each value is 63. The string length in characters for each key must be 1-63. Each key must match the regular expression |
|
hardwarePoolId |
string ID of the hardware pool that the cluster belongs to. |
|
preset |
enum (StacklandPreset) Preset of the cluster.
|
|
hostRoles |
Which node types are to be used for cluster roles. |
|
bastionNode |
Bastion node. |
|
subnetId |
string ID of the subnet that the cluster belongs to. |
|
cidr |
string Optional CIDR to preselect in subnet. |
|
version |
string Version of Stackland to be used. |
|
license |
string License to activate Stackland. |
|
credentialsLockboxSecretId |
string ID of secret with cluster credentials in lockbox. |
|
configurationUrl |
string URL in S3 to the cluster configuration. |
|
virtualIp |
string IP of the cluster control plane. . |
|
clusterDomain |
string Base cluster DNS domain. |
|
subdomains |
Cluster component URLs, available once the cluster is active. |
|
bastionSpec |
Credentials for access to the bastion node. Input only field. |
|
settings |
Cluster settings. Can be set only at cluster creation. |
StacklandHostRoles
|
Field |
Description |
|
controlplane[] |
Node types used as controlplane nodes. |
|
combined[] |
Node types used as combined nodes. |
|
worker[] |
Node types used as workder nodes. |
NodeGroup
NodeGroup describes a group of nodes with a common role.
A group can be filled in one of three ways:
- New servers only:
configuration_idandnode_countare set,server_idsis empty.
node_countnew servers of the given configuration will be leased. - Mixed group with a default configuration:
configuration_idandnode_countare set,
server_idsis non-empty andnode_count >= len(server_ids). Servers listed in
server_idsmust already matchconfiguration_idor be custom servers
(assembled manually, not via a standard configuration). Ifnode_count == len(server_ids),
no new servers are leased; otherwisenode_count - len(server_ids)new servers of
configuration_idare leased in addition to the existing ones. - Custom servers only:
configuration_idis empty,server_ids
is non-empty and contains only custom servers,node_count == len(server_ids).
Servers listed in server_ids must satisfy (checked synchronously before the
create-cluster operation is created): the server's configuration matches
configuration_id or the server is custom; the server's hardware pool matches the
cluster's hardware pool; the server's status is not QUARANTINED or DELETING.
If a server's status is UPDATING or PROVISIONING, the request is still accepted
and the cluster-creation operation waits for the server's current operation to
complete before proceeding.
A server listed in server_ids can belong to only one group within a single request.
|
Field |
Description |
|
configurationId |
string ID of the configuration. Required when automatically leasing new servers for the group (scenarios 1 and 2). |
|
nodeCount |
string (int64) Total number of nodes in the group, including both newly leased and Must be greater than or equal to Required (non-zero) when automatically leasing new servers for the group; |
|
nodes[] |
Nodes in the group with detailed information. Set after group is filled. |
|
serverIds[] |
string IDs of already leased servers to include in the NodeGroup. WARNING: the OS on these servers will be reinstalled as part of cluster |
Node
|
Field |
Description |
|
serverId |
string ID of the server. |
|
configurationId |
string ID of the configuration. |
|
managementIpAddress |
string IP address of the node in the management network. |
|
hostname |
string Hostname of the node inside the cluster. |
StacklandSubdomains
|
Field |
Description |
|
console |
string Cluster URL. |
|
dashboard |
string Cluster URL. |
|
grafana |
string Grafana URL. |
|
prometheus |
string Prometheus URL. |
|
alertmanager |
string Alertmanager URL. |
BastionSpec
|
Field |
Description |
|
sshPublicKeyText |
string Public SSH key for the server. Input only field. The maximum string length in characters is 20000. Includes only one of the fields Root user SSH key. Input only field. One of elements is required. |
|
userSshId |
string ID of the user SSH key to use for the server. Input only field. To get the user SSH key ID, use a yandex.cloud.organizationmanager.v1.UserSshKeyService.List request. The maximum string length in characters is 50. Includes only one of the fields Root user SSH key. Input only field. One of elements is required. |
|
passwordPlainText |
string Raw password. Input only field. The minimum string length in characters is 6. Includes only one of the fields Password for the server. Input only field. One of elements is required. |
|
passwordLockboxSecret |
Reference to the Lockbox secret used to obtain the password. Input only field. Includes only one of the fields Password for the server. Input only field. One of elements is required. |
LockboxSecret
|
Field |
Description |
|
secretId |
string Required field. The unique identifier for the lockbox secret that contains the user password. |
|
versionId |
string The unique identifier for the lockbox version. |
|
key |
string Required field. The key used to access a specific secret entry. |
StacklandClusterSettings
Settings of the Stackland cluster.
|
Field |
Description |
|
publicNetworkAccess |
enum (PublicNetworkAccess) Access of the cluster to the public network. Disabled by default.
|
Response
HTTP Code: 200 - OK
{
"id": "string",
"description": "string",
"createdAt": "string",
"createdBy": "string",
"modifiedAt": "string",
"done": "boolean",
"metadata": "object",
// Includes only one of the fields `error`, `response`
"error": {
"code": "integer",
"message": "string",
"details": [
"object"
]
},
"response": "object"
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
|
Field |
Description |
|
id |
string ID of the operation. |
|
description |
string Description of the operation. 0-256 characters long. |
|
createdAt |
string (date-time) Creation timestamp. String in RFC3339 To work with values in this field, use the APIs described in the |
|
createdBy |
string ID of the user or service account who initiated the operation. |
|
modifiedAt |
string (date-time) The time when the Operation resource was last modified. String in RFC3339 To work with values in this field, use the APIs described in the |
|
done |
boolean If the value is |
|
metadata |
object Service-specific metadata associated with the operation. |
|
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
|
response |
object The normal response of the operation in case of success. Includes only one of the fields The operation result. |
Status
The error result of the operation in case of failure or cancellation.
|
Field |
Description |
|
code |
integer (int32) Error code. An enum value of google.rpc.Code |
|
message |
string An error message. |
|
details[] |
object A list of messages that carry the error details. |