- NAME
-
- gcloud alpha cluster-director clusters update - updates a Cluster Director resource
- SYNOPSIS
-
-
gcloud alpha cluster-director clusters update
(CLUSTER
:--location
=LOCATION
) (--add-dws-flex-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[maxDuration
=MAXDURATION
],[zone
=ZONE
]--add-labels
=[ADD_LABELS
,…]--add-on-demand-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[zone
=ZONE
]--add-reserved-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[reservation
=RESERVATION
]--add-slurm-node-sets
=[computeId
=COMPUTEID
],[id
=ID
],[labels
=LABELS
],[maxDynamicNodeCount
=MAXDYNAMICNODECOUNT
],[startupScript
=STARTUPSCRIPT
],[staticNodeCount
=STATICNODECOUNT
]--add-slurm-partitions
=[exclusive
=EXCLUSIVE
],[id
=ID
],[nodesetIds
=NODESETIDS
]--add-spot-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[zone
=ZONE
]--description
=DESCRIPTION
--remove-dws-flex-instances
=[REMOVE_DWS_FLEX_INSTANCES
,…]--remove-labels
=[REMOVE_LABELS
,…]--remove-on-demand-instances
=[REMOVE_ON_DEMAND_INSTANCES
,…]--remove-reserved-instances
=[REMOVE_RESERVED_INSTANCES
,…]--remove-slurm-node-sets
=[REMOVE_SLURM_NODE_SETS
,…]--remove-slurm-partitions
=[REMOVE_SLURM_PARTITIONS
,…]--remove-spot-instances
=[REMOVE_SPOT_INSTANCES
,…]--slurm-default-partition
=SLURM_DEFAULT_PARTITION
--update-slurm-node-sets
=[id
=ID
],[maxDynamicNodeCount
=MAXDYNAMICNODECOUNT
],[staticNodeCount
=STATICNODECOUNT
]--update-slurm-partitions
=[exclusive
=EXCLUSIVE
],[id
=ID
],[nodesetIds
=NODESETIDS
] |--config
=[compute
=COMPUTE
],[description
=DESCRIPTION
],[labels
=LABELS
],[name
=NAME
],[networks
=NETWORKS
],[orchestrator
=ORCHESTRATOR
],[storages
=STORAGES
]--update-mask
=UPDATE_MASK
) [--async
] [GCLOUD_WIDE_FLAG …
]
-
- DESCRIPTION
-
(ALPHA)
gcloud alpha cluster-director clusters update
facilitates the updation of a cluster resource.There are following ways to update a cluster:
-
[Preferred] Use granular flags to update cluster specs, based on
read-modify-update pattern.
-
Read the existing cluster specs through
get
cluster request. - Modify the cluster specs through granular flags.
-
Update the cluster specs through
patch
cluster request.
-
Read the existing cluster specs through
-
Use --config with cluster specs and --update-mask flags, both in JSON format.
- Map and repeated fields update requires existing and new values.
- For e.g. if we want to update a cluster to add a new nodeset, then we will use the update_mask "orchestrator.slurm.node_sets", and the patch cluster must include all the existing nodesets as well as the new one.
-
[Preferred] Use granular flags to update cluster specs, based on
read-modify-update pattern.
- EXAMPLES
-
To update a cluster
my-cluster
in locationus-central1-a
with granular flags, run the following example:Add labels, reserved instances, slurm node sets, slurm partitions and update description and default partition:
gcloud alpha cluster-director clusters update my-cluster --location us-central1-a --description "My updated cluster description" --add-labels env=prod,client=gcloud-cli --add-on-demand-instances id=compute1,zone=us-central1-a,machineType=n2-standard-2 --add-reserved-instances id=compute2,reservation=zones/us-central1-a/reservations/{reservation},machineType={machineType} --add-spot-instances id=compute3,zone=us-central1-a,machineType=n2-standard-2 --add-dws-flex-instances id=compute4,zone=us-central1-a,machineType=a4-highgpu-8g,maxDuration=10000s --add-slurm-node-sets id=nodeset1,computeId=compute1 --add-slurm-node-sets id=nodeset2,computeId=compute2 --add-slurm-node-sets id=nodeset3,computeId=compute3 --add-slurm-node-sets id=nodeset4,computeId=compute4 --add-slurm-partitions id=partition1,nodesetIds=[nodeset1] --add-slurm-partitions id=partition2,nodesetIds=[nodeset2,nodeset3,nodeset4] --slurm-default-partition partition1
Update slurm node sets and slurm partitions:
gcloud alpha cluster-director clusters update my-cluster --location us-central1-a --update-slurm-node-sets id=nodeset1,staticNodeCount=2,maxDynamicNodeCount=10 --update-slurm-partitions id=partition1,nodesetIds=[nodeset0],exclusive=true
Remove slurm node sets, slurm partitions and reserved instances and update default partition:
gcloud alpha cluster-director clusters update my-cluster --location us-central1-a --slurm-default-partition partition0 --remove-labels env,client --remove-slurm-partitions partition1 --remove-slurm-partitions partition2 --remove-slurm-node-sets nodeset1 --remove-slurm-node-sets nodeset2 --remove-slurm-node-sets nodeset3 --remove-slurm-node-sets nodeset4 --remove-on-demand-instances compute1 --remove-reserved-instances compute2 --remove-spot-instances compute3 --remove-dws-flex-instances compute4
Or cluster
my-cluster
in locationus-central1-a
with config JSON run the following JSON example:gcloud alpha cluster-director clusters update my-cluster --location=us-central1-a --update-mask=labels --config='{"key": "value"}'
Or create a JSON file
my-cluster-config.json
with the cluster specs and run the following file example:gcloud alpha cluster-director clusters update my-cluster --location=us-central1-a --update-mask=labels --config-from-file=my-cluster-config.json
Or create a JSON file with the update mask and run the following file example:
gcloud alpha cluster-director clusters update my-cluster --location=us-central1-a --update-mask-from-file=my-update-mask.json --config-from-file=my-cluster-config.json
- POSITIONAL ARGUMENTS
-
-
Cluster resource - Name of the cluster resource. Formats: cluster |
projects/{project}/locations/{locations}/clusters/{cluster} The arguments in
this group can be used to specify the attributes of this resource. (NOTE) Some
attributes are not given arguments in this group but can be set in other ways.
To set the
project
attribute:-
provide the argument
cluster
on the command line with a fully specified name; -
provide the argument
--project
on the command line; -
set the property
core/project
.
This must be specified.
CLUSTER
-
ID of the cluster or fully qualified identifier for the cluster.
To set the
cluster
attribute:-
provide the argument
cluster
on the command line.
This positional argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--location
=LOCATION
-
The location id of the cluster resource.
To set the
location
attribute:-
provide the argument
cluster
on the command line with a fully specified name; -
provide the argument
--location
on the command line.
-
provide the argument
-
provide the argument
-
Cluster resource - Name of the cluster resource. Formats: cluster |
projects/{project}/locations/{locations}/clusters/{cluster} The arguments in
this group can be used to specify the attributes of this resource. (NOTE) Some
attributes are not given arguments in this group but can be set in other ways.
- REQUIRED FLAGS
-
-
Cluster configuration for provisioning with updates.
Exactly one of these must be specified:
-
Flag Configurations to define cluster updates.
--add-dws-flex-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[maxDuration
=MAXDURATION
],[zone
=ZONE
]-
Parameters to define cluster DWS Flex instances.
For e.g. --add-dws-flex-instances id={computeId},zone={zone},machineType={machineType},maxDuration=10000s.
Sets
add_dws_flex_instances
value.id
-
Required, sets
id
value. machineType
-
Required, sets
machineType
value. maxDuration
-
Required, sets
maxDuration
value. zone
-
Required, sets
zone
value.
Shorthand Example:
--add-dws-flex-instances=id=string,machineType=string,maxDuration=string,zone=string --add-dws-flex-instances=id=string,machineType=string,maxDuration=string,zone=string
JSON Example:
--add-dws-flex-instances='[{"id": "string", "machineType": "string", "maxDuration": "string", "zone": "string"}]'
File Example:
--add-dws-flex-instances=path_to_file.(yaml|json)
--add-labels
=[ADD_LABELS
,…]-
Cluster labels as key value pairs.
For e.g. --add-labels key1=value1,key2=value2.
Sets
add_labels
value.KEY
-
Sets
KEY
value. VALUE
-
Sets
VALUE
value.
Shorthand Example:
--add-labels={string=string}
JSON Example:
--add-labels='{"string": "string"}'
File Example:
--add-labels=path_to_file.(yaml|json)
--add-on-demand-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[zone
=ZONE
]-
Parameters to define cluster on demand instances.
For e.g. --add-on-demand-instances id={computeId},zone={zone},machineType={machineType}.
Sets
add_on_demand_instances
value.id
-
Required, sets
id
value. machineType
-
Required, sets
machineType
value. zone
-
Required, sets
zone
value.
Shorthand Example:
--add-on-demand-instances=id=string,machineType=string,zone=string --add-on-demand-instances=id=string,machineType=string,zone=string
JSON Example:
--add-on-demand-instances='[{"id": "string", "machineType": "string", "zone": "string"}]'
File Example:
--add-on-demand-instances=path_to_file.(yaml|json)
--add-reserved-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[reservation
=RESERVATION
]-
Parameters to define cluster reserved instances.
For e.g. --add-reserved-instances id={computeId},reservation=zones/{zone}/reservations/{reservation},machineType={machineType}.
Sets
add_reserved_instances
value.id
-
Required, sets
id
value. machineType
-
Required, sets
machineType
value. reservation
-
Required, sets
reservation
value.
Shorthand Example:
--add-reserved-instances=id=string,machineType=string,reservation=string --add-reserved-instances=id=string,machineType=string,reservation=string
JSON Example:
--add-reserved-instances='[{"id": "string", "machineType": "string", "reservation": "string"}]'
File Example:
--add-reserved-instances=path_to_file.(yaml|json)
--add-slurm-node-sets
=[computeId
=COMPUTEID
],[id
=ID
],[labels
=LABELS
],[maxDynamicNodeCount
=MAXDYNAMICNODECOUNT
],[startupScript
=STARTUPSCRIPT
],[staticNodeCount
=STATICNODECOUNT
]-
Parameters to define slurm cluster nodeset config.
For e.g. --add-slurm-node-sets id={nodesetId},computeId={computeId},staticNodeCount={staticNodeCount},maxDynamicNodeCount={maxDynamicNodeCount},startupScript="echo hello",labels="{key1=value1,key2=value2}"
Defaults:
- staticNodeCount: 1
Note:
-
startupScript:
- Either str or file_path
- For file_path, only bash file format (.sh or .bash) is supported.
- For file_path, only absolute path is supported.
Sets
add_slurm_node_sets
value.
computeId
-
Required, sets
computeId
value. id
-
Required, sets
id
value. labels
-
Sets
labels
value.KEY
-
Sets
KEY
value. VALUE
-
Sets
VALUE
value.
maxDynamicNodeCount
-
Sets
maxDynamicNodeCount
value. startupScript
-
Sets
startupScript
value. staticNodeCount
-
Sets
staticNodeCount
value.
Shorthand Example:
--add-slurm-node-sets=computeId=string,id=string,labels={string=string},maxDynamicNodeCount=int,startupScript=string,staticNodeCount=int --add-slurm-node-sets=computeId=string,id=string,labels={string=string},maxDynamicNodeCount=int,startupScript=string,staticNodeCount=int
JSON Example:
--add-slurm-node-sets='[{"computeId": "string", "id": "string", "labels": {"string": "string"}, "maxDynamicNodeCount": int, "startupScript": "string", "staticNodeCount": int}]'
File Example:
--add-slurm-node-sets=path_to_file.(yaml|json)
--add-slurm-partitions
=[exclusive
=EXCLUSIVE
],[id
=ID
],[nodesetIds
=NODESETIDS
]-
Parameters to define slurm cluster partitions.
For e.g. --add-slurm-partitions id={partitionId},nodesetIds=[{nodesetId1},{nodesetId2}],exclusive=false.
Sets
add_slurm_partitions
value.exclusive
-
Sets
exclusive
value. id
-
Required, sets
id
value. nodesetIds
-
Required, sets
nodesetIds
value.
Shorthand Example:
--add-slurm-partitions=exclusive=boolean,id=string,nodesetIds=[string] --add-slurm-partitions=exclusive=boolean,id=string,nodesetIds=[string]
JSON Example:
--add-slurm-partitions='[{"exclusive": boolean, "id": "string", "nodesetIds": ["string"]}]'
File Example:
--add-slurm-partitions=path_to_file.(yaml|json)
--add-spot-instances
=[id
=ID
],[machineType
=MACHINETYPE
],[zone
=ZONE
]-
Parameters to define cluster spot instances.
For e.g. --add-spot-instances id={computeId},zone={zone},machineType={machineType}.
Sets
add_spot_instances
value.id
-
Required, sets
id
value. machineType
-
Required, sets
machineType
value. zone
-
Required, sets
zone
value.
Shorthand Example:
--add-spot-instances=id=string,machineType=string,zone=string --add-spot-instances=id=string,machineType=string,zone=string
JSON Example:
--add-spot-instances='[{"id": "string", "machineType": "string", "zone": "string"}]'
File Example:
--add-spot-instances=path_to_file.(yaml|json)
--description
=DESCRIPTION
-
Description of the cluster.
For e.g. --description
(ALPHA)
Updates a Cluster Director resource. --remove-dws-flex-instances
=[REMOVE_DWS_FLEX_INSTANCES
,…]-
Parameters to remove DWS Flex instance config by compute id.
For e.g. --remove-dws-flex-instances {computeId1},{computeId2},…
--remove-labels
=[REMOVE_LABELS
,…]-
Parameters to remove cluster label by key.
For e.g. --remove-labels {key1},{key2},…
--remove-on-demand-instances
=[REMOVE_ON_DEMAND_INSTANCES
,…]-
Parameters to remove on demand instances config by compute id.
For e.g. --remove-on-demand-instances {computeId1},{computeId2},…
--remove-reserved-instances
=[REMOVE_RESERVED_INSTANCES
,…]-
Parameters to remove reserved instance config by compute id.
For e.g. --remove-reserved-instances {computeId1},{computeId2},…
--remove-slurm-node-sets
=[REMOVE_SLURM_NODE_SETS
,…]-
Parameters to remove slurm nodeset config by nodeset id.
For e.g. --remove-slurm-node-sets {nodesetId1},{nodesetId2},…
--remove-slurm-partitions
=[REMOVE_SLURM_PARTITIONS
,…]-
Parameters to remove slurm partition config by partition id.
For e.g. --remove-slurm-partitions {partitionId1},{partitionId2},…
--remove-spot-instances
=[REMOVE_SPOT_INSTANCES
,…]-
Parameters to remove spot instance config by compute id.
For e.g. --remove-spot-instances {computeId1},{computeId2},…
--slurm-default-partition
=SLURM_DEFAULT_PARTITION
-
Parameters to define slurm cluster default partition.
For e.g. --slurm-default-partition {partitionId}
--update-slurm-node-sets
=[id
=ID
],[maxDynamicNodeCount
=MAXDYNAMICNODECOUNT
],[staticNodeCount
=STATICNODECOUNT
]-
Parameters to define and update slurm cluster nodeset config.
For e.g. --update-slurm-node-sets id={nodesetId},staticNodeCount={staticNodeCount},maxDynamicNodeCount={maxDynamicNodeCount}.
Sets
update_slurm_node_sets
value.id
-
Required, sets
id
value. maxDynamicNodeCount
-
Sets
maxDynamicNodeCount
value. staticNodeCount
-
Sets
staticNodeCount
value.
Shorthand Example:
--update-slurm-node-sets=id=string,maxDynamicNodeCount=int,staticNodeCount=int --update-slurm-node-sets=id=string,maxDynamicNodeCount=int,staticNodeCount=int
JSON Example:
--update-slurm-node-sets='[{"id": "string", "maxDynamicNodeCount": int, "staticNodeCount": int}]'
File Example:
--update-slurm-node-sets=path_to_file.(yaml|json)
--update-slurm-partitions
=[exclusive
=EXCLUSIVE
],[id
=ID
],[nodesetIds
=NODESETIDS
]-
Parameters to define and update slurm cluster partition config.
For e.g. --update-slurm-partitions id={partitionId},nodesetIds=[{nodesetId1},{nodesetId2}],exclusive=false.
Sets
update_slurm_partitions
value.exclusive
-
Sets
exclusive
value. id
-
Required, sets
id
value. nodesetIds
-
Sets
nodesetIds
value.
Shorthand Example:
--update-slurm-partitions=exclusive=boolean,id=string,nodesetIds=[string] --update-slurm-partitions=exclusive=boolean,id=string,nodesetIds=[string]
JSON Example:
--update-slurm-partitions='[{"exclusive": boolean, "id": "string", "nodesetIds": ["string"]}]'
File Example:
--update-slurm-partitions=path_to_file.(yaml|json)
-
Cluster configuration for updates.
--config
=[compute
=COMPUTE
],[description
=DESCRIPTION
],[labels
=LABELS
],[name
=NAME
],[networks
=NETWORKS
],[orchestrator
=ORCHESTRATOR
],[storages
=STORAGES
]-
Configuration of the cluster specs in the form of a JSON object. Required, sets
config
value.compute
-
Sets
compute
value.resourceRequests
-
Sets
resourceRequests
value.disks
-
Sets
disks
value.boot
-
Sets
boot
value. sizeGb
-
Required, sets
sizeGb
value. sourceImage
-
Sets
sourceImage
value. type
-
Required, sets
type
value.
guestAccelerators
-
Sets
guestAccelerators
value.acceleratorType
-
Sets
acceleratorType
value. count
-
Sets
count
value.
id
-
Sets
id
value. machineType
-
Sets
machineType
value. maxRunDuration
-
Sets
maxRunDuration
value. provisioningModel
-
Sets
provisioningModel
value. reservationAffinity
-
Sets
reservationAffinity
value.key
-
Sets
key
value. type
-
Sets
type
value. values
-
Sets
values
value.
terminationAction
-
Sets
terminationAction
value. zone
-
Sets
zone
value.
description
-
Sets
description
value. labels
-
Sets
labels
value.KEY
-
Sets
KEY
value. VALUE
-
Sets
VALUE
value.
name
-
Sets
name
value. networks
-
Sets
networks
value.initializeParams
-
Sets
initializeParams
value.description
-
Sets
description
value. network
-
Sets
network
value.
networkSource
-
Sets
networkSource
value.network
-
Sets
network
value. subnetwork
-
Sets
subnetwork
value.
orchestrator
-
Sets
orchestrator
value.slurm
-
Sets
slurm
value.config
-
Sets
config
value.prologEpilogTimeout
-
Sets
prologEpilogTimeout
value. prologFlags
-
Sets
prologFlags
value. requeueExitCodes
-
Sets
requeueExitCodes
value. requeueHoldExitCodes
-
Sets
requeueHoldExitCodes
value.
defaultPartition
-
Sets
defaultPartition
value. epilogBashScripts
-
Sets
epilogBashScripts
value. loginNodes
-
Sets
loginNodes
value.count
-
Sets
count
value. disks
-
Sets
disks
value.boot
-
Sets
boot
value. sizeGb
-
Required, sets
sizeGb
value. sourceImage
-
Sets
sourceImage
value. type
-
Required, sets
type
value.
enableOsLogin
-
Sets
enableOsLogin
value. enablePublicIps
-
Sets
enablePublicIps
value. labels
-
Sets
labels
value.KEY
-
Sets
KEY
value. VALUE
-
Sets
VALUE
value.
machineType
-
Sets
machineType
value. serviceAccount
-
Sets
serviceAccount
value.email
-
Sets
email
value. scopes
-
Sets
scopes
value.
startupScript
-
Sets
startupScript
value. storageConfigs
-
Sets
storageConfigs
value.id
-
Sets
id
value. localMount
-
Sets
localMount
value.
zone
-
Sets
zone
value.
nodeSets
-
Sets
nodeSets
value.canIpForward
-
Sets
canIpForward
value. enableOsLogin
-
Sets
enableOsLogin
value. enablePublicIps
-
Sets
enablePublicIps
value. id
-
Sets
id
value. labels
-
Sets
labels
value.KEY
-
Sets
KEY
value. VALUE
-
Sets
VALUE
value.
maxDynamicNodeCount
-
Sets
maxDynamicNodeCount
value. resourceRequestId
-
Sets
resourceRequestId
value. serviceAccount
-
Sets
serviceAccount
value.email
-
Sets
email
value. scopes
-
Sets
scopes
value.
startupScript
-
Sets
startupScript
value. staticNodeCount
-
Sets
staticNodeCount
value. storageConfigs
-
Sets
storageConfigs
value.id
-
Sets
id
value. localMount
-
Sets
localMount
value.
partitions
-
Sets
partitions
value.exclusive
-
Sets
exclusive
value. id
-
Sets
id
value. nodeSetIds
-
Sets
nodeSetIds
value.
prologBashScripts
-
Sets
prologBashScripts
value. taskEpilogBashScripts
-
Sets
taskEpilogBashScripts
value. taskPrologBashScripts
-
Sets
taskPrologBashScripts
value.
storages
-
Sets
storages
value.id
-
Sets
id
value. initializeParams
-
Sets
initializeParams
value.filestore
-
Sets
filestore
value.description
-
Sets
description
value. -
Sets
fileShares
value.capacityGb
-
Sets
capacityGb
value. -
Sets
fileShare
value.
filestore
-
Sets
filestore
value. protocol
-
Sets
protocol
value. tier
-
Sets
tier
value.
gcs
-
Sets
gcs
value.autoclass
-
Sets
autoclass
value.enabled
-
Sets
enabled
value. terminalStorageClass
-
Sets
terminalStorageClass
value.
bucket
-
Sets
bucket
value. hierarchicalNamespace
-
Sets
hierarchicalNamespace
value.enabled
-
Sets
enabled
value.
storageClass
-
Sets
storageClass
value.
lustre
-
Sets
lustre
value.capacityGb
-
Sets
capacityGb
value. description
-
Sets
description
value. filesystem
-
Sets
filesystem
value. lustre
-
Sets
lustre
value.
storageSource
-
Sets
storageSource
value.bucket
-
Sets
bucket
value. filestore
-
Sets
filestore
value. lustre
-
Sets
lustre
value.
Shorthand Example:
--config=compute={resourceRequests=[{disks=[{boot=boolean,sizeGb=int,sourceImage=string,type=string}],guestAccelerators=[{acceleratorType=string,count=int}],id=string,machineType=string,maxRunDuration=int,provisioningModel=string,reservationAffinity={key=string,type=string,values},terminationAction=string,zone=string}]},description=string,labels={string=string},name=string,networks=[{initializeParams={description=string,network=string},networkSource={network=string,subnetwork=string}}],orchestrator={slurm={config={prologEpilogTimeout=string,prologFlags,requeueExitCodes,requeueHoldExitCodes},defaultPartition=string,epilogBashScripts,loginNodes={count=int,disks=[{boot=boolean,sizeGb=int,sourceImage=string,type=string}],enableOsLogin=boolean,enablePublicIps=boolean,labels={string=string},machineType=string,serviceAccount={email=string,scopes},startupScript=string,storageConfigs=[{id=string,localMount=string}],zone=string},nodeSets=[{canIpForward=boolean,enableOsLogin=boolean,enablePublicIps=boolean,id=string,labels={string=string},maxDynamicNodeCount=int,resourceRequestId=string,serviceAccount={email=string,scopes},startupScript=string,staticNodeCount=int,storageConfigs=[{id=string,localMount=string}]}],partitions=[{exclusive=boolean,id=string,nodeSetIds=[string]}],prologBashScripts,taskEpilogBashScripts,taskPrologBashScripts}},storages=[{id=string,initializeParams={filestore={description=string,fileShares=[{capacityGb=int,fileShare=string}],filestore=string,protocol=string,tier=string},gcs={autoclass={enabled=boolean,terminalStorageClass=string},bucket=string,hierarchicalNamespace={enabled=boolean},storageClass=string},lustre={capacityGb=int,description=string,filesystem=string,lustre=string}},storageSource={bucket=string,filestore=string,lustre=string}}]
JSON Example:
--config='{"compute": {"resourceRequests": [{"disks": [{"boot": boolean, "sizeGb": int, "sourceImage": "string", "type": "string"}], "guestAccelerators": [{"acceleratorType": "string", "count": int}], "id": "string", "machineType": "string", "maxRunDuration": int, "provisioningModel": "string", "reservationAffinity": {"key": "string", "type": "string", "values"}, "terminationAction": "string", "zone": "string"}]}, "description": "string", "labels": {"string": "string"}, "name": "string", "networks": [{"initializeParams": {"description": "string", "network": "string"}, "networkSource": {"network": "string", "subnetwork": "string"}}], "orchestrator": {"slurm": {"config": {"prologEpilogTimeout": "string", "prologFlags", "requeueExitCodes", "requeueHoldExitCodes"}, "defaultPartition": "string", "epilogBashScripts", "loginNodes": {"count": int, "disks": [{"boot": boolean, "sizeGb": int, "sourceImage": "string", "type": "string"}], "enableOsLogin": boolean, "enablePublicIps": boolean, "labels": {"string": "string"}, "machineType": "string", "serviceAccount": {"email": "string", "scopes"}, "startupScript": "string", "storageConfigs": [{"id": "string", "localMount": "string"}], "zone": "string"}, "nodeSets": [{"canIpForward": boolean, "enableOsLogin": boolean, "enablePublicIps": boolean, "id": "string", "labels": {"string": "string"}, "maxDynamicNodeCount": int, "resourceRequestId": "string", "serviceAccount": {"email": "string", "scopes"}, "startupScript": "string", "staticNodeCount": int, "storageConfigs": [{"id": "string", "localMount": "string"}]}], "partitions": [{"exclusive": boolean, "id": "string", "nodeSetIds": ["string"]}], "prologBashScripts", "taskEpilogBashScripts", "taskPrologBashScripts"}}, "storages": [{"id": "string", "initializeParams": {"filestore": {"description": "string", "fileShares": [{"capacityGb": int, "fileShare": "string"}], "filestore": "string", "protocol": "string", "tier": "string"}, "gcs": {"autoclass": {"enabled": boolean, "terminalStorageClass": "string"}, "bucket": "string", "hierarchicalNamespace": {"enabled": boolean}, "storageClass": "string"}, "lustre": {"capacityGb": int, "description": "string", "filesystem": "string", "lustre": "string"}}, "storageSource": {"bucket": "string", "filestore": "string", "lustre": "string"}}]}'
File Example:
--config=path_to_file.(yaml|json)
This flag argument must be specified if any of the other arguments in this group are specified.
--update-mask
=UPDATE_MASK
-
Update mask to specify the fields to update.
For e.g. --update-mask "description,labels".
Required, sets
update_mask
value.Input Example:
--update-mask=string
File Example:
--update-mask=path_to_file.(yaml|json)
This flag argument must be specified if any of the other arguments in this group are specified.
-
Flag Configurations to define cluster updates.
-
Cluster configuration for provisioning with updates.
- OPTIONAL FLAGS
-
--async
- Return immediately, without waiting for the operation in progress to complete.
- GCLOUD WIDE FLAGS
-
These flags are available to all commands:
--access-token-file
,--account
,--billing-project
,--configuration
,--flags-file
,--flatten
,--format
,--help
,--impersonate-service-account
,--log-http
,--project
,--quiet
,--trace-token
,--user-output-enabled
,--verbosity
.Run
$ gcloud help
for details. - NOTES
- This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist.
gcloud alpha cluster-director clusters update
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-16 UTC.