Getting started with Yandex Cloud Quota Manager
Note
Cloud Quota Manager allows you to manage quotas of your Yandex Cloud services using different interfaces. Some services, such as SpeechKit and Yandex Cloud Video, are not available in Cloud Quota Manager.
Quotas are limits on the amount of resources you can use in cloud. These are organizational constraints that can be changed as needed.
The key concepts in quota management are:
-
Quota limit or just quota: Current limit in place for a resource for a cloud or organization.
-
Quota usage: Amount or size of the actually used resource.
Potentially, you can increase your quotas up to the limits.
Limits are technical constraints of the Yandex Cloud architecture, hardware physical characteristics, or external limitations.
You can use the following interfaces to manage quotas: the management console
To manage quotas via the CLI and API, you need the quota ID. For the list of IDs, see Yandex Cloud service quotas.
Getting started
To get started in Yandex Cloud:
-
Log in to the management console
. If not signed up yet, navigate to the management console and follow the instructions. -
In Yandex Cloud Billing
, make sure you have a billing account linked and its status isACTIVEorTRIAL_ACTIVE. If you do not have a billing account yet, create one. -
If you do not have a folder yet, create one.
-
Depending on the interface you are going to use, follow these additional steps:
Management consoleCLIREST APIgRPC APIMake sure the user has the following roles:
-
To get information about quotas: quota-manager.viewer or higher.
-
To create quota update requests:
- At the organization level, quota-manager.requestOperator or higher, and organization-manager.viewer or higher.
- At the cloud level, resource-manager.viewer or higher.
-
If you do not have the Yandex Cloud CLI installed 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-nameor--folder-idparameter. -
Make sure the user or service account authenticated in the CLI profile has the following roles:
-
To get information about quotas: quota-manager.viewer or higher.
-
To create quota update requests:
- At the organization level, quota-manager.requestOperator or higher, and organization-manager.viewer or higher.
- At the cloud level, resource-manager.viewer or higher.
-
-
Install cURL
. -
Create a service account and assign it the following roles:
-
To get information about quotas: quota-manager.viewer or higher.
-
To create quota update requests:
- At the organization level, quota-manager.requestOperator or higher, and organization-manager.viewer or higher.
- At the cloud level, resource-manager.viewer or higher.
-
-
Get an IAM token for the created service account.
-
Install the gRPCurl
utility. -
Create a service account and assign it the following roles:
-
To get information about quotas: quota-manager.viewer or higher.
-
To create quota update requests:
- At the organization level, quota-manager.requestOperator or higher, and organization-manager.viewer or higher.
- At the cloud level, resource-manager.viewer or higher.
-
-
Get an IAM token for the created service account.
-
Getting quota info
To view quotas, you need the quota-manager.viewer role.
-
In the management console
, select the cloud to view quotas for. -
Select the Quotas tab.
The page will display a list of services used in your cloud.
-
Expand a service section and view the values in the Usage column.
-
Two numbers mean
quota usage / quota value. For example,2 / 20or1.203 / 5,120 GB. -
A single number is a non-adjustable
limit.
-
-
To estimate resource consumption, at the top right, select:
- Actively used: Resources consuming over a half of the quota.
- Almost exhausted: Resources that are almost exhausted.
-
See the list of services with quotas.
yc quota-manager quota-limit list-services \ --resource-type <resource_type>Where
--resource-typeis the resource type:resource-manager.cloud: Cloud.organization-manager.organization: Organization.billing.account: Billing account.
Example command
yc quota-manager quota-limit list-services \ --resource-type resource-manager.cloudIn the output, you will get a list of cloud-level services with quotas available.
-
View the values and usage of all quotas in a service.
yc quota-manager quota-limit list \ --service <service_name> \ --resource-type <resource_type> \ --resource-id <resource_ID>Where:
--service: Service name you obtained at the previous step.--resource-id: Resource ID, i.e., organization, cloud, or billing account ID.--resource-type: Resource type,resource-manager.cloud,organization-manager.organization, orbilling.account.
Example command
yc quota-manager quota-limit list \ --service iam \ --resource-type resource-manager.cloud \ --resource-id <cloud_ID>In the output, you will get the IDs of the quotas in place in IAM within the cloud, their values and usage figures:
resource: id: b1gia87mbaom******** type: resource-manager.cloud quota_limits: - quota_id: iam.accessKeys.count limit: 1001 usage: 33 - quota_id: iam.apiKeys.count limit: 1000 usage: 14 - quota_id: iam.authorizedKeys.count limit: 1000 usage: 44 ... -
View value and usage info for a particular quota.
yc quota-manager quota-limit get \ --quota-id <quota_ID> \ --resource-id <resource_ID> \ --resource-type <resource_type>Where:
--quota-id: Quota ID. You can look up the ID in Yandex Cloud service quotas.--resource-id: ID of the resource (organization, cloud, or billing account).--resource-type: Resource type,resource-manager.cloud,organization-manager.organization, orbilling.account.
Example command
yc quota-manager quota-limit get \ --quota-id iam.accessKeys.count \ --resource-id <cloud_ID> \ --resource-type resource-manager.cloudIn the output, you will get the quota value and usage info for the number of static access keys in the cloud:
quota_id: iam.accessKeys.count limit: 1000 usage: 27Where:
limit: Quota value.usage: Quota usage.
-
View the list of services with quotas.
Use the ListServices REST API method for the QuotaLimit resource:
curl \ --request GET \ --header "Authorization: Bearer <IAM_token>" \ "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/services?resourceType=<resource_type>"Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
curl \ --request GET \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/services?resourceType=resource-manager.cloud'Response example
{ "services": [ { "id": "alb", "name": "Application Load Balancer" }, { "id": "audit-trails", "name": "Audit Trails" }, ... { "id": "ylb", "name": "Network Load Balancer" }, { "id": "yq", "name": "Yandex Query" } ] } -
View the values and usage of all quotas in a service.
Use the List REST API method for the QuotaLimit resource:
curl \ --request GET \ --header "Authorization: Bearer <IAM_token>" \ "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits?service=<service_ID>&resource.id=<resource_ID>&resource.type=<resource_type>"Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<service_ID>: Service ID obtained in the previous step.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
curl \ --request GET \ --header "X-Request-Id: $(uuidgen -t)" \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits?service=iam&resource.id=<cloud_ID>&resource.type=resource-manager.cloud'Response example
{ "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "limit": 1000, "usage": 34 }, { "quotaId": "iam.apiKeys.count", "limit": 1000, "usage": 13 }, { "quotaId": "iam.authorizedKeys.count", "limit": 1000, "usage": 43 }, ... ] } -
View value and usage info for a particular quota.
Use the Get REST API method for the QuotaLimit resource:
curl \ --request GET \ --header "Authorization: Bearer <IAM_token>" \ "https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/<quota_ID>?resource.id=<resource_ID>&resource.type=<resource_type>"Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<quota_ID>: Quota ID. You can look up the ID in Yandex Cloud service quotas.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
curl \ --request GET \ --header "X-Request-Id: $(uuidgen -t)" \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaLimits/iam.accessKeys.count?resource.id=<cloud_ID>&resource.type=resource-manager.cloud'Response example
{ "quotaId": "iam.accessKeys.count", "limit": 1000, "usage": 34 }
-
View the list of services with quotas.
Use the QuotaLimitService/ListServices gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{\"resource_type\": \"<resource_type>\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListServicesWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
grpcurl \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{\"resource_type\": \"resource-manager.cloud\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListServicesResponse example
{ "services": [ { "id": "alb", "name": "Application Load Balancer" }, { "id": "audit-trails", "name": "Audit Trails" }, ... { "id": "ylb", "name": "Network Load Balancer" }, { "id": "yq", "name": "Yandex Query" } ] } -
View the values and usage of all quotas in a service.
Use the QuotaLimitService/List gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{ \"resource\": { \"id\": \"<resource_ID>\", \"type\": \"<resource_type>\" }, \"service\": \"<service_ID>\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.<service_ID>: Service ID obtained in the previous step.
Request example
grpcurl \ -H "X-Request-Id: $(uuidgen -t)" \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{ \"resource\": { \"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\" }, \"service\": \"iam\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/ListResponse example
{ "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "limit": 1000, "usage": 34 }, { "quotaId": "iam.apiKeys.count", "limit": 1000, "usage": 13 }, { "quotaId": "iam.authorizedKeys.count", "limit": 1000, "usage": 43 }, ... ] } -
View value and usage info for a particular quota.
Use the QuotaLimitService/Get gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{ \"resource\": { \"id\": \"<resource_ID>\", \"type\": \"<resource_type>\" }, \"quota_id\": \"<quota_ID>\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/GetWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.<quota_ID>: Quota ID. You can look up the ID in Yandex Cloud service quotas.
Request example
grpcurl \ -H "X-Request-Id: $(uuidgen -t)" \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{ \"resource\": { \"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\" }, \"quota_id\": \"iam.accessKeys.count\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaLimitService/GetResponse example
{ "quotaId": "iam.accessKeys.count", "limit": 1000, "usage": 34 }
Requesting quota changes
Request a quota update using one of the following methods:
- Select the resources on the quota page
and click Increase. - Contact support
and describe which quotas you want increased and by how much.
-
Create a quota update request.
View the quota ID and create an update request:
yc quota-manager quota-request create \ --resource-type <resource_type> \ --resource-id <resource_ID> \ --desired-limit quota-id=<quota_ID>,value=<new_quota_value>Where:
--resource-type: Resource type,resource-manager.cloud,organization-manager.organization, orbilling.account.--resource-id: ID of the resource (organization, cloud, or billing account).--desired-limit: Data for the quota update:quota-id: Quota ID.value: New quota value.
You can specify multiple quotas in a single request. To do this, add several
--desired-limitparameters.Example command
yc quota-manager quota-request create \ --resource-id <cloud_ID> \ --resource-type resource-manager.cloud \ --desired-limit quota-id=compute.placementGroups.count,value=5 \ --desired-limit quota-id=storage.buckets.count,value=30This will create a quota increase request:
- In Compute Cloud: Number of VM placement groups (
compute.placementGroups.count), the new value is5. - In Object Storage: Number of buckets (
storage.buckets.count), the new value is30.
Response example
id: atdogfioseaq******** resource: id: b1gia87mbaom******** type: resource-manager.cloud created_at: "2025-09-11T08:24:24.142277Z" status: PENDING quota_limits: - quota_id: compute.placementGroups.count desired_limit: 5 status: PROCESSING - quota_id: storage.buckets.count desired_limit: 30 status: REJECTED message: quota value you are requesting is equal to that already in use created_by: ajegtlf2q28a******** -
View the list of quota update requests.
yc quota-manager quota-request list \ --resource-type <resource_type> \ --resource-id <resource_ID> \ --limit <number_of_requests>Where:
--resource-type: Resource type,resource-manager.cloud,organization-manager.organization, orbilling.account.--resource-id: ID of the resource (organization, cloud, or billing account).--limit: Number of requests per page.
Example command
yc quota-manager quota-request list \ --resource-id <cloud_ID> \ --resource-type resource-manager.cloud \ --limit 1Response example
quota_requests: - id: atdogfioseaq******** resource: id: b1gia87mbaom******** type: resource-manager.cloud created_at: "2025-09-11T08:24:24.142277Z" status: PENDING quota_limits: - quota_id: storage.buckets.count desired_limit: 30 status: REJECTED message: quota value you are requesting is equal to that already in use - quota_id: compute.placementGroups.count desired_limit: 5 status: PROCESSING created_by: ajegtlf2q28a******** -
View the status of your quota update request.
yc quota-manager quota-request get \ --id <request_ID>Where
--idis the quota update request ID.Response example
id: atdogfioseaq******** resource: id: b1gia87mbaom******** type: resource-manager.cloud created_at: "2025-09-11T08:24:24.142277Z" status: PENDING quota_limits: - quota_id: compute.placementGroups.count desired_limit: 5 status: PROCESSING - quota_id: storage.buckets.count desired_limit: 30 status: REJECTED message: quota value you are requesting is equal to that already in use created_by: ajegtlf2q28a********
-
Create a quota update request.
View the quota ID and use the Create REST API method for the QuotaRequest resource:
curl \ --request POST \ --header "Authorization: Bearer <IAM_token>" \ --data '{"resource": {"id": "<resource_ID>", "type": "<resource_type>"}, "desired_quota_limits": [{"quota_id": "<quota_ID>", "desired_limit": "<new_quota_value>"}]}' \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests'Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.<quota_ID>: ID of the quota to update.<new_quota_value>: New value to assign to the selected quota.
Request example
curl \ --request POST \ --header "X-Request-Id: $(uuidgen -t)" \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ --data '{"resource": {"id": "<cloud_ID>", "type": "resource-manager.cloud"}, "desired_quota_limits": [{"quota_id": "iam.accessKeys.count", "desired_limit": "1001"}]}' \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests'Response example
{ "done": false, "metadata": { "@type": "type.googleapis.com/yandex.cloud.quotamanager.v1.CreateQuotaRequestMetadata", "quotaRequestId": "atdogfioseaq********" }, "id": "atdlsk0hjt6r********", "description": "Create quota request", "createdAt": "2025-09-01T08:39:37.195600077Z", "createdBy": "ajegtlf2q28a********", "modifiedAt": "2025-09-01T08:39:37.195600077Z" }The
falseoperation status means your request is under review. -
View the list of quota update requests.
Use the List REST API method for the QuotaRequest resource:
curl \ --request GET \ --header "Authorization: Bearer <IAM_token>" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests?page_size=<page_size>&resource.id=<resource_ID>&resource.type=<resource_type>'Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<page_size>: Number of items per page.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
curl \ --request GET \ --header "X-Request-Id: $(uuidgen -t)" \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests?page_size=100&resource.id=<cloud_ID>&resource.type=resource-manager.cloud'Response example
{ "quotaRequests": [ { "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "desiredLimit": 1001, "status": "PROCESSING" } ], "id": "atdp0kd3799e********", "createdAt": "2025-09-01T08:46:28.091109Z", "status": "PROCESSING", "createdBy": "ajegtlf2q28a********" }, ... ] } -
View the status of your quota update request.
Use the Get REST API method for the QuotaRequest resource:
curl \ --request GET \ --header "Authorization: Bearer <IAM_token>" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests/<request_ID>'Where:
<IAM_token>: Service account IAM token or the environment variable containing the token.<request_ID>: Quota update request ID you got in the previous step.
Request example
curl \ --request GET \ --header "X-Request-Id: $(uuidgen -t)" \ --header "Authorization: Bearer ${IAM_TOKEN?}" \ 'https://quota-manager.api.cloud.yandex.net/quota-manager/v1/quotaRequests/<request_ID>'Response example
{ "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "desiredLimit": 1001, "status": "PROCESSING" } ], "id": "atdp0kd3799e********", "createdAt": "2025-09-01T08:46:28.091109Z", "status": "PENDING", "createdBy": "ajegtlf2q28a********" }
-
Create a quota update request.
View the quota ID and create a request using the QuotaRequestService/Create gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{\"resource\": {\"id\": \"<resource_ID>\", \"type\": \"<resource_type>\"}, \"desired_quota_limits\": [{\"quota_id\": \"<quota_ID>\", \"desired_limit\": \"<new_quota_value>\"}]}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/CreateWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.<quota_ID>: ID of the quota to update.<new_quota_value>: New value to assign to the selected quota.
Request example
grpcurl \ -H "X-Request-Id: $(uuidgen -t)" \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{\"resource\": {\"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\"}, \"desired_quota_limits\": [{\"quota_id\": \"iam.accessKeys.count\", \"desired_limit\": \"1001\"}]}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/CreateResponse example
{ "id": "atdhrm4k26ar********", "description": "Create quota request", "createdAt": "2025-09-01T08:46:28.116514197Z", "createdBy": "ajegtlf2q28a********", "modifiedAt": "2025-09-01T08:46:28.116514197Z", "metadata": { "@type": "type.googleapis.com/yandex.cloud.quotamanager.v1.CreateQuotaRequestMetadata", "quotaRequestId": "atdp0kd3799e********" } } -
View the list of quota update requests.
Use the QuotaRequestService/List gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{\"resource\": {\"id\": \"<resource_ID>\", \"type\": \"<resource_type>\"}}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/ListWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<resource_ID>: ID of the resource (organization, cloud, or billing account).<resource_type>: Resource type, eitherresource-manager.cloud,organization-manager.organization, orbilling.account.
Request example
grpcurl \ -H "X-Request-Id: $(uuidgen -t)" \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{\"resource\": {\"id\": \"<cloud_ID>\", \"type\": \"resource-manager.cloud\"}}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/ListResponse example
{ "quotaRequests": [ { "id": "atdp0kd3799e********", "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "createdAt": "2025-09-01T08:46:28.091109Z", "status": "PROCESSING", "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "desiredLimit": 1001, "status": "PROCESSING" } ], "createdBy": "ajegtlf2q28a********" }, ... ] } -
View the status of your quota update request.
Use the QuotaRequestService/Get gRPC API call:
grpcurl \ -H "Authorization: Bearer <IAM_token>" \ -d "{\"quota_request_id\": \"<request_ID>\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/GetWhere:
<IAM_token>: Service account IAM token or the environment variable containing the token.<request_ID>: Quota update request ID you got in the previous step.
Request example
grpcurl \ -H "X-Request-Id: $(uuidgen -t)" \ -H "Authorization: Bearer ${IAM_TOKEN?}" \ -d "{\"quota_request_id\": \"<request_ID>\"}" \ quota-manager.api.cloud.yandex.net:443 yandex.cloud.quotamanager.v1.QuotaRequestService/GetResponse example
{ "id": "atdp0kd3799e********", "resource": { "id": "b1gia87mbaom********", "type": "resource-manager.cloud" }, "createdAt": "2025-09-01T08:46:28.091109Z", "status": "PENDING", "quotaLimits": [ { "quotaId": "iam.accessKeys.count", "desiredLimit": 1001, "status": "PROCESSING" } ], "createdBy": "ajegtlf2q28a********" }