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
, select the folder the VM is located 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 the value, and press Enter.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can also set a different folder for any specific command using the --folder-name
or --folder-id
parameter.
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=test
Result:
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 its 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, go to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with their properties. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the changes:
terraform apply
-
Type
yes
and 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.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can also set a different folder for any specific command using the --folder-name
or --folder-id
parameter.
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_label
Result:
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 its 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, go to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with their properties. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the changes:
terraform apply
-
Type
yes
and 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
, select the folder the VM is located 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.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID>
command. You can also set a different folder for any specific command using the --folder-name
or --folder-id
parameter.
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_lable
Result:
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 its 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, go to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with their properties. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the changes:
terraform apply
-
Type
yes
and 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>