Managing labels
You can add, delete, or update resource labels in the management console, Yandex Cloud CLI, and Terraform.
Labels are supported in certain services. Label management in some services, such as Object Storage, may be different.
Adding a label
The example below shows how to add a label to a Compute Cloud VM instance. You can add a label to another resource in the same way.
- In the management console
, click or in the top panel and select the folder your VM is in. - In the list of services, select Compute Cloud.
- In the left-hand panel, select
Virtual machines. - Select the VM you need from the list.
- Click
and select Edit. - In the Labels field, click Add label.
- Enter the key and value, and press Enter.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
To add or update an existing service resource label, run this command:
yc <service_name> <resource_type> add-labels <resource_name_or_ID> \
--labels <label_name>=<label_value>
Example
Adding a label to a VM:
yc compute instance add-labels cl123g4dridnn5cn****-**** --labels project=testResult:
done (5s) id: fhm1pr2bu3p4******** folder_id: b1g23ga45mev******** created_at: "2020-08-07T11:29:18Z" name: cl123g4dridnn5cn****-**** labels: project: test zone_id: ru-central1-a ...
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
-
In the configuration file, add the following fragment to the resource:
labels = { <label_key> = "<label_value>" } -
Apply the changes:
-
In the terminal, navigate to the configuration file directory.
-
Make sure the configuration is correct using this command:
terraform validateIf the configuration is valid, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
-
Apply the configuration changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
-
That will add the label to the resource. You can check the new label using the management console
yc <service_name> <resource_type> get <resource_name_or_ID>
Example
Defining a label for a Yandex Lockbox secret:
resource "yandex_lockbox_secret" "my_secret" { name = lockbox-test-secret labels = { label-test-key = "label-test-value" } }
You can create a label with multiple values. For example, create a label named my-cloud with multiple values:
my-vm: For the VM.my-disk: For the disk.
Updating a label
You can only edit resource labels using the Yandex Cloud CLI and Terraform.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
Warning
The existing labels (labels) will be completely overwritten by the ones you provide in your request.
To edit a label of a service resource, use this command:
yc <service_name> <resource_type> update <resource_name_or_ID> \
--labels <label_name>=<label_value>
Example
Editing labels for Kubernetes cluster:
yc managed-kubernetes cluster update k8s-gpu --labels new_lable=test_labelResult:
done (1m36s) id: cat1hknor234******** folder_id: b1g23ga45mev******** created_at: "2020-08-07T11:15:59Z" name: cluster labels: new_lable: test_label status: RUNNING ...
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
-
In the configuration file, find the following fragment:
labels = { <label_key> = <label_value> } -
Update both the key and the value.
-
Apply the changes:
-
In the terminal, navigate to the configuration file directory.
-
Make sure the configuration is correct using this command:
terraform validateIf the configuration is valid, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
-
Apply the configuration changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
-
After that, the label for the resource will be updated. You can check the label update using the management console
yc <service_name> <resource_type> get <resource_name_or_ID>
Deleting a label
The example below shows how to delete a label from a Compute Cloud VM. You can delete a label from another resource in the same way.
- In the management console
, click or in the top panel and select the folder your VM is in. - In the list of services, select Compute Cloud.
- In the left-hand panel, select
Virtual machines. - Select the VM you need from the list.
- Click
and select Edit. - In the Labels field, select the appropriate label and click
next to its name.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
Delete a service resource label:
yc <service_name> <resource_type> remove-labels <resource_name_or_ID> \
--labels <label_name>
Example
Removing a label from a Managed Service for MySQL® cluster:
yc managed-mysql cluster remove-labels mysql123 --labels my_lableResult:
id: c1qmjaatlurm******** folder_id: b1g23ga45mev******** created_at: "2020-08-20T11:53:20.015543Z" name: mysql123 environment: PRODUCTION ...
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
-
In the configuration file, find the following fragment:
labels = { <label_key> = "<label_value>" } -
Delete the fragment.
-
Apply the changes:
-
In the terminal, navigate to the configuration file directory.
-
Make sure the configuration is correct using this command:
terraform validateIf the configuration is valid, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
-
Apply the configuration changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
-
After that, the label will be removed from the resource. You can check the deletion of the label using the management console
yc <service_name> <resource_type> get <resource_name_or_ID>