Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Virtual Private Cloud
  • Getting started
  • DDoS Protection
  • Access management
  • Pricing policy
  • Terraform reference
    • API authentication
      • Overview
        • Overview
        • Get
        • List
        • Create
        • Update
        • UpdateRules
        • UpdateRule
        • Delete
        • Move
        • ListOperations
  • Audit Trails events
  • Release notes
  • FAQ

In this article:

  • gRPC request
  • UpdateSecurityGroupRequest
  • SecurityGroupRuleSpec
  • PortRange
  • CidrBlocks
  • operation.Operation
  1. API reference
  2. gRPC
  3. SecurityGroup
  4. Update

Virtual Private Cloud API, gRPC: SecurityGroupService.Update

Written by
Yandex Cloud
Updated at June 18, 2026
  • gRPC request
  • UpdateSecurityGroupRequest
  • SecurityGroupRuleSpec
  • PortRange
  • CidrBlocks
  • operation.Operation

Updates the specified security group.
Method starts an asynchronous operation that can be cancelled while it is in progress.

gRPC requestgRPC request

rpc Update (UpdateSecurityGroupRequest) returns (operation.Operation)

UpdateSecurityGroupRequestUpdateSecurityGroupRequest

{
  "security_group_id": "string",
  "update_mask": "google.protobuf.FieldMask",
  "name": "string",
  "description": "string",
  "labels": "map<string, string>",
  "rule_specs": [
    {
      "description": "string",
      "labels": "map<string, string>",
      "direction": "Direction",
      "ports": {
        "from_port": "int64",
        "to_port": "int64"
      },
      // Includes only one of the fields `protocol_name`, `protocol_number`
      "protocol_name": "string",
      "protocol_number": "int64",
      // end of the list of possible fields
      // Includes only one of the fields `cidr_blocks`, `security_group_id`, `predefined_target`
      "cidr_blocks": {
        "v4_cidr_blocks": [
          "string"
        ],
        "v6_cidr_blocks": [
          "string"
        ]
      },
      "security_group_id": "string",
      "predefined_target": "string"
      // end of the list of possible fields
    }
  ]
}

Field

Description

security_group_id

string

ID of the security group to update.
To get the security group ID make a SecurityGroupService.List request.
The length must be less than or equal to 50.
This field is required.

update_mask

google.protobuf.FieldMask

Field mask that specifies which attributes of the Address should be updated.

name

string

New name for the security group.
The name must be unique within the folder.
The value must match the regular expression: |[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?.

description

string

New description of the security group.
The length must be less than or equal to 256.

labels

object (map<string, string>)

Security group labels as key:value pairs.
Existing set of labels is completely replaced by the provided set, so if you just want
to add or remove a label:

  1. Get the current set of labels with a SecurityGroupService.Get request.
  2. Add or remove a label in this set.
  3. Send the new set in this field.
    Each map key must match the regular expression: [a-z][-_./\\@0-9a-z]*.
    Each map value must match the regular expression: [-_./\\@0-9a-z]*.
    The length of each map key must be between 1 and 63.
    The length of each map value must be less than or equal to 63.
    The number of elements must be less than or equal to 64.

rule_specs[]

SecurityGroupRuleSpec

Updated rule list. All existing rules will be replaced with given list.

SecurityGroupRuleSpecSecurityGroupRuleSpec

Field

Description

description

string

Description of the security rule.
The length must be less than or equal to 256.

labels

object (map<string, string>)

Rule labels as key:value pairs.
Each map key must match the regular expression: [a-z][-_./\\@0-9a-z]*.
Each map value must match the regular expression: [-_./\\@0-9a-z]*.
The length of each map key must be between 1 and 63.
The length of each map value must be less than or equal to 63.
The number of elements must be less than or equal to 64.

direction

enum Direction

The direction of network traffic allowed by this rule.
This field is required.

  • INGRESS: Allows ingress traffic.
  • EGRESS: Allows egress traffic.

ports

PortRange

The range of ports that allow traffic to pass through. Null value means any port.

protocol_name

string

Protocol name.

Includes only one of the fields protocol_name, protocol_number.

Values from IANA protocol numbers.
Null value means any protocol.

protocol_number

int64

Protocol number from IANA protocol numbers.

Includes only one of the fields protocol_name, protocol_number.

Values from IANA protocol numbers.
Null value means any protocol.

cidr_blocks

CidrBlocks

CIDR blocks to allow to recieve or send traffic.

Includes only one of the fields cidr_blocks, security_group_id, predefined_target.

Only one field must be specified.

security_group_id

string

ID of the security group to add rule to.

Includes only one of the fields cidr_blocks, security_group_id, predefined_target.

Only one field must be specified.

predefined_target

string

Predefined target. See security groups rules for more information.

Includes only one of the fields cidr_blocks, security_group_id, predefined_target.

Only one field must be specified.

PortRangePortRange

Field

Description

from_port

int64

The lowest port in the range.
The value must be between 0 and 65535.

to_port

int64

The highest port in the range.
The value must be between 0 and 65535.

CidrBlocksCidrBlocks

Field

Description

v4_cidr_blocks[]

string

IPv4 CIDR blocks to allow traffic to.

v6_cidr_blocks[]

string

IPv6 CIDR blocks to allow traffic to.

operation.Operationoperation.Operation

{
  "id": "string",
  "description": "string",
  "created_at": "google.protobuf.Timestamp",
  "created_by": "string",
  "modified_at": "google.protobuf.Timestamp",
  "done": "bool",
  "metadata": "google.protobuf.Any",
  // Includes only one of the fields `error`, `response`
  "error": "google.rpc.Status",
  "response": "google.protobuf.Any"
  // 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.

created_at

google.protobuf.Timestamp

Creation timestamp.

created_by

string

ID of the user or service account who initiated the operation.

modified_at

google.protobuf.Timestamp

The time when the Operation resource was last modified.

done

bool

If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.

metadata

google.protobuf.Any

Service-specific metadata associated with the operation.
It typically contains the ID of the target resource that the operation is performed on.
Any method that returns a long-running operation should document the metadata type, if any.

error

google.rpc.Status

The error result of the operation in case of failure or cancellation.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

response

google.protobuf.Any

The normal response of the operation in case of success.
If the original method returns no data on success, such as Delete,
the response is google.protobuf.Empty.
If the original method is the standard Create/Update,
the response should be the target resource of the operation.
Any method that returns a long-running operation should document the response type, if any.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

Was the article helpful?

Previous
Create
Next
UpdateRules
© 2026 Direct Cursus Technology L.L.C.