// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/vpc/v1/security_group_service.proto

package vpc

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud/api"
	operation "github.com/yandex-cloud/go-genproto/yandex/cloud/operation"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GetSecurityGroupRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the Security Group resource to return.
	// To get the security group ID, use a [SecurityGroup.List] request.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GetSecurityGroupRequest) Reset() {
	*x = GetSecurityGroupRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSecurityGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSecurityGroupRequest) ProtoMessage() {}

func (x *GetSecurityGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSecurityGroupRequest.ProtoReflect.Descriptor instead.
func (*GetSecurityGroupRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{0}
}

func (x *GetSecurityGroupRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

type ListSecurityGroupsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the folder to list security groups in.
	// To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
	FolderId string `protobuf:"bytes,1,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// The maximum number of results per page to return. If the number of available
	// results is larger than [page_size],
	// the service returns a [ListSecurityGroupsResponse.next_page_token]
	// that can be used to get the next page of results in subsequent list requests. Default value: 100.
	PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Page token. To get the next page of results, set [page_token] to the
	// [ListSecurityGroupsResponse.next_page_token] returned by a previous list request.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// A filter expression that filters resources listed in the response.
	// The expression must specify:
	// 1. The field name. Currently you can use filtering only on the [SecurityGroup.name] field.
	// 2. An `=` operator.
	// 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
	Filter        string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` //filter by network_id is here
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSecurityGroupsRequest) Reset() {
	*x = ListSecurityGroupsRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSecurityGroupsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSecurityGroupsRequest) ProtoMessage() {}

func (x *ListSecurityGroupsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSecurityGroupsRequest.ProtoReflect.Descriptor instead.
func (*ListSecurityGroupsRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{1}
}

func (x *ListSecurityGroupsRequest) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *ListSecurityGroupsRequest) GetPageSize() int64 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListSecurityGroupsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *ListSecurityGroupsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type ListSecurityGroupsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of SecurityGroup resources.
	SecurityGroups []*SecurityGroup `protobuf:"bytes,1,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// This token allows you to get the next page of results for list requests. If the number of results
	// is larger than [ListNetworksRequest.page_size], use
	// the [next_page_token] as the value
	// for the [ListNetworksRequest.page_token] query parameter
	// in the next list request. Subsequent list requests will have their own
	// [next_page_token] to continue paging through the results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSecurityGroupsResponse) Reset() {
	*x = ListSecurityGroupsResponse{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSecurityGroupsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSecurityGroupsResponse) ProtoMessage() {}

func (x *ListSecurityGroupsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSecurityGroupsResponse.ProtoReflect.Descriptor instead.
func (*ListSecurityGroupsResponse) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{2}
}

func (x *ListSecurityGroupsResponse) GetSecurityGroups() []*SecurityGroup {
	if x != nil {
		return x.SecurityGroups
	}
	return nil
}

func (x *ListSecurityGroupsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

type CreateSecurityGroupRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the folder for this request to create a security group in.
	// To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
	FolderId string `protobuf:"bytes,1,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Name of the security group.
	// The name must be unique within the folder.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the security group.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Resource labels as “ key:value “ pairs.
	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// ID of the Network to create security group for.
	NetworkId string `protobuf:"bytes,5,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
	// Security rules specifications.
	RuleSpecs     []*SecurityGroupRuleSpec `protobuf:"bytes,6,rep,name=rule_specs,json=ruleSpecs,proto3" json:"rule_specs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateSecurityGroupRequest) Reset() {
	*x = CreateSecurityGroupRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSecurityGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSecurityGroupRequest) ProtoMessage() {}

func (x *CreateSecurityGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSecurityGroupRequest.ProtoReflect.Descriptor instead.
func (*CreateSecurityGroupRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{3}
}

func (x *CreateSecurityGroupRequest) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *CreateSecurityGroupRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateSecurityGroupRequest) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *CreateSecurityGroupRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *CreateSecurityGroupRequest) GetNetworkId() string {
	if x != nil {
		return x.NetworkId
	}
	return ""
}

func (x *CreateSecurityGroupRequest) GetRuleSpecs() []*SecurityGroupRuleSpec {
	if x != nil {
		return x.RuleSpecs
	}
	return nil
}

type SecurityGroupRuleSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Description of the security rule.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// Rule labels as “ key:value “ pairs.
	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// The direction of network traffic allowed by this rule.
	Direction SecurityGroupRule_Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=yandex.cloud.vpc.v1.SecurityGroupRule_Direction" json:"direction,omitempty"`
	// The range of ports that allow traffic to pass through. Null value means any port.
	Ports *PortRange `protobuf:"bytes,4,opt,name=ports,proto3" json:"ports,omitempty"` // null value means any port
	// Values from [IANA protocol numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
	// Null value means any protocol.
	//
	// Types that are valid to be assigned to Protocol:
	//
	//	*SecurityGroupRuleSpec_ProtocolName
	//	*SecurityGroupRuleSpec_ProtocolNumber
	Protocol isSecurityGroupRuleSpec_Protocol `protobuf_oneof:"protocol"`
	// Types that are valid to be assigned to Target:
	//
	//	*SecurityGroupRuleSpec_CidrBlocks
	//	*SecurityGroupRuleSpec_SecurityGroupId
	//	*SecurityGroupRuleSpec_PredefinedTarget
	Target        isSecurityGroupRuleSpec_Target `protobuf_oneof:"target"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SecurityGroupRuleSpec) Reset() {
	*x = SecurityGroupRuleSpec{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SecurityGroupRuleSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SecurityGroupRuleSpec) ProtoMessage() {}

func (x *SecurityGroupRuleSpec) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SecurityGroupRuleSpec.ProtoReflect.Descriptor instead.
func (*SecurityGroupRuleSpec) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{4}
}

func (x *SecurityGroupRuleSpec) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *SecurityGroupRuleSpec) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *SecurityGroupRuleSpec) GetDirection() SecurityGroupRule_Direction {
	if x != nil {
		return x.Direction
	}
	return SecurityGroupRule_DIRECTION_UNSPECIFIED
}

func (x *SecurityGroupRuleSpec) GetPorts() *PortRange {
	if x != nil {
		return x.Ports
	}
	return nil
}

func (x *SecurityGroupRuleSpec) GetProtocol() isSecurityGroupRuleSpec_Protocol {
	if x != nil {
		return x.Protocol
	}
	return nil
}

func (x *SecurityGroupRuleSpec) GetProtocolName() string {
	if x != nil {
		if x, ok := x.Protocol.(*SecurityGroupRuleSpec_ProtocolName); ok {
			return x.ProtocolName
		}
	}
	return ""
}

func (x *SecurityGroupRuleSpec) GetProtocolNumber() int64 {
	if x != nil {
		if x, ok := x.Protocol.(*SecurityGroupRuleSpec_ProtocolNumber); ok {
			return x.ProtocolNumber
		}
	}
	return 0
}

func (x *SecurityGroupRuleSpec) GetTarget() isSecurityGroupRuleSpec_Target {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *SecurityGroupRuleSpec) GetCidrBlocks() *CidrBlocks {
	if x != nil {
		if x, ok := x.Target.(*SecurityGroupRuleSpec_CidrBlocks); ok {
			return x.CidrBlocks
		}
	}
	return nil
}

func (x *SecurityGroupRuleSpec) GetSecurityGroupId() string {
	if x != nil {
		if x, ok := x.Target.(*SecurityGroupRuleSpec_SecurityGroupId); ok {
			return x.SecurityGroupId
		}
	}
	return ""
}

func (x *SecurityGroupRuleSpec) GetPredefinedTarget() string {
	if x != nil {
		if x, ok := x.Target.(*SecurityGroupRuleSpec_PredefinedTarget); ok {
			return x.PredefinedTarget
		}
	}
	return ""
}

type isSecurityGroupRuleSpec_Protocol interface {
	isSecurityGroupRuleSpec_Protocol()
}

type SecurityGroupRuleSpec_ProtocolName struct {
	// Protocol name.
	ProtocolName string `protobuf:"bytes,5,opt,name=protocol_name,json=protocolName,proto3,oneof"`
}

type SecurityGroupRuleSpec_ProtocolNumber struct {
	// Protocol number from [IANA protocol numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
	ProtocolNumber int64 `protobuf:"varint,6,opt,name=protocol_number,json=protocolNumber,proto3,oneof"`
}

func (*SecurityGroupRuleSpec_ProtocolName) isSecurityGroupRuleSpec_Protocol() {}

func (*SecurityGroupRuleSpec_ProtocolNumber) isSecurityGroupRuleSpec_Protocol() {}

type isSecurityGroupRuleSpec_Target interface {
	isSecurityGroupRuleSpec_Target()
}

type SecurityGroupRuleSpec_CidrBlocks struct {
	// CIDR blocks to allow to recieve or send traffic.
	CidrBlocks *CidrBlocks `protobuf:"bytes,7,opt,name=cidr_blocks,json=cidrBlocks,proto3,oneof"`
}

type SecurityGroupRuleSpec_SecurityGroupId struct {
	// ID of the security group to add rule to.
	SecurityGroupId string `protobuf:"bytes,8,opt,name=security_group_id,json=securityGroupId,proto3,oneof"`
}

type SecurityGroupRuleSpec_PredefinedTarget struct {
	// Predefined target. See [security groups rules](/docs/vpc/concepts/security-groups#security-groups-rules) for more information.
	PredefinedTarget string `protobuf:"bytes,9,opt,name=predefined_target,json=predefinedTarget,proto3,oneof"` // string subnet_id = .. ;
}

func (*SecurityGroupRuleSpec_CidrBlocks) isSecurityGroupRuleSpec_Target() {}

func (*SecurityGroupRuleSpec_SecurityGroupId) isSecurityGroupRuleSpec_Target() {}

func (*SecurityGroupRuleSpec_PredefinedTarget) isSecurityGroupRuleSpec_Target() {}

type CreateSecurityGroupMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the security group that is being created.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CreateSecurityGroupMetadata) Reset() {
	*x = CreateSecurityGroupMetadata{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSecurityGroupMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSecurityGroupMetadata) ProtoMessage() {}

func (x *CreateSecurityGroupMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSecurityGroupMetadata.ProtoReflect.Descriptor instead.
func (*CreateSecurityGroupMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{5}
}

func (x *CreateSecurityGroupMetadata) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

type UpdateSecurityGroupRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the security group to update.
	//
	// To get the security group ID make a [SecurityGroupService.List] request.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// Field mask that specifies which attributes of the Address should be updated.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// New name for the security group.
	// The name must be unique within the folder.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// New description of the security group.
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// 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.
	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Updated rule list. All existing rules will be replaced with given list.
	RuleSpecs     []*SecurityGroupRuleSpec `protobuf:"bytes,6,rep,name=rule_specs,json=ruleSpecs,proto3" json:"rule_specs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateSecurityGroupRequest) Reset() {
	*x = UpdateSecurityGroupRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateSecurityGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateSecurityGroupRequest) ProtoMessage() {}

func (x *UpdateSecurityGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSecurityGroupRequest.ProtoReflect.Descriptor instead.
func (*UpdateSecurityGroupRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{6}
}

func (x *UpdateSecurityGroupRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *UpdateSecurityGroupRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

func (x *UpdateSecurityGroupRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *UpdateSecurityGroupRequest) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *UpdateSecurityGroupRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *UpdateSecurityGroupRequest) GetRuleSpecs() []*SecurityGroupRuleSpec {
	if x != nil {
		return x.RuleSpecs
	}
	return nil
}

type UpdateSecurityGroupMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the SecurityGroup that is being updated.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// List of added security rules IDs.
	AddedRuleIds  []string `protobuf:"bytes,2,rep,name=added_rule_ids,json=addedRuleIds,proto3" json:"added_rule_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateSecurityGroupMetadata) Reset() {
	*x = UpdateSecurityGroupMetadata{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateSecurityGroupMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateSecurityGroupMetadata) ProtoMessage() {}

func (x *UpdateSecurityGroupMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSecurityGroupMetadata.ProtoReflect.Descriptor instead.
func (*UpdateSecurityGroupMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{7}
}

func (x *UpdateSecurityGroupMetadata) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *UpdateSecurityGroupMetadata) GetAddedRuleIds() []string {
	if x != nil {
		return x.AddedRuleIds
	}
	return nil
}

type UpdateSecurityGroupRulesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the SecurityGroup that is being updated with new rules.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// List of rules IDs to delete.
	DeletionRuleIds []string `protobuf:"bytes,2,rep,name=deletion_rule_ids,json=deletionRuleIds,proto3" json:"deletion_rule_ids,omitempty"`
	// Security rules specifications.
	AdditionRuleSpecs []*SecurityGroupRuleSpec `protobuf:"bytes,3,rep,name=addition_rule_specs,json=additionRuleSpecs,proto3" json:"addition_rule_specs,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *UpdateSecurityGroupRulesRequest) Reset() {
	*x = UpdateSecurityGroupRulesRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateSecurityGroupRulesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateSecurityGroupRulesRequest) ProtoMessage() {}

func (x *UpdateSecurityGroupRulesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSecurityGroupRulesRequest.ProtoReflect.Descriptor instead.
func (*UpdateSecurityGroupRulesRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{8}
}

func (x *UpdateSecurityGroupRulesRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *UpdateSecurityGroupRulesRequest) GetDeletionRuleIds() []string {
	if x != nil {
		return x.DeletionRuleIds
	}
	return nil
}

func (x *UpdateSecurityGroupRulesRequest) GetAdditionRuleSpecs() []*SecurityGroupRuleSpec {
	if x != nil {
		return x.AdditionRuleSpecs
	}
	return nil
}

type UpdateSecurityGroupRuleRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the SecurityGroup to update rule in.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// ID of the rule to update.
	RuleId string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
	// Field mask that specifies which attributes of the Address should be updated.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// New description of the rule.
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// Rule 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 [AddressService.Get] request.
	// 2. Add or remove a label in this set.
	// 3. Send the new set in this field.
	Labels        map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateSecurityGroupRuleRequest) Reset() {
	*x = UpdateSecurityGroupRuleRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateSecurityGroupRuleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateSecurityGroupRuleRequest) ProtoMessage() {}

func (x *UpdateSecurityGroupRuleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSecurityGroupRuleRequest.ProtoReflect.Descriptor instead.
func (*UpdateSecurityGroupRuleRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{9}
}

func (x *UpdateSecurityGroupRuleRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *UpdateSecurityGroupRuleRequest) GetRuleId() string {
	if x != nil {
		return x.RuleId
	}
	return ""
}

func (x *UpdateSecurityGroupRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

func (x *UpdateSecurityGroupRuleRequest) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *UpdateSecurityGroupRuleRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

type UpdateSecurityGroupRuleMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the SecurityGroup that is being updated with new rules.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// ID of the rule that is being updated.
	RuleId        string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateSecurityGroupRuleMetadata) Reset() {
	*x = UpdateSecurityGroupRuleMetadata{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateSecurityGroupRuleMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateSecurityGroupRuleMetadata) ProtoMessage() {}

func (x *UpdateSecurityGroupRuleMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateSecurityGroupRuleMetadata.ProtoReflect.Descriptor instead.
func (*UpdateSecurityGroupRuleMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{10}
}

func (x *UpdateSecurityGroupRuleMetadata) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *UpdateSecurityGroupRuleMetadata) GetRuleId() string {
	if x != nil {
		return x.RuleId
	}
	return ""
}

type DeleteSecurityGroupRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the security group to delete.
	//
	// To get a address ID make a [SecurityGroup.List] request.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DeleteSecurityGroupRequest) Reset() {
	*x = DeleteSecurityGroupRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteSecurityGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteSecurityGroupRequest) ProtoMessage() {}

func (x *DeleteSecurityGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteSecurityGroupRequest.ProtoReflect.Descriptor instead.
func (*DeleteSecurityGroupRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{11}
}

func (x *DeleteSecurityGroupRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

type DeleteSecurityGroupMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the SecurityGroup that is being deleted.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *DeleteSecurityGroupMetadata) Reset() {
	*x = DeleteSecurityGroupMetadata{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteSecurityGroupMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteSecurityGroupMetadata) ProtoMessage() {}

func (x *DeleteSecurityGroupMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteSecurityGroupMetadata.ProtoReflect.Descriptor instead.
func (*DeleteSecurityGroupMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{12}
}

func (x *DeleteSecurityGroupMetadata) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

type ListSecurityGroupOperationsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the address to list operations for.
	//
	// To get a address ID make a [SecurityGroup.List] request.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// The maximum number of results per page to return. If the number of available
	// results is larger than [page_size], the service returns a [ListSecurityGroupOperationsResponse.next_page_token]
	// that can be used to get the next page of results in subsequent list requests.
	// Default value: 100.
	PageSize int64 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Page token. To get the next page of results, set [page_token] to the
	// [ListSecurityGroupOperationsResponse.next_page_token] returned by a previous list request.
	PageToken     string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSecurityGroupOperationsRequest) Reset() {
	*x = ListSecurityGroupOperationsRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSecurityGroupOperationsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSecurityGroupOperationsRequest) ProtoMessage() {}

func (x *ListSecurityGroupOperationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSecurityGroupOperationsRequest.ProtoReflect.Descriptor instead.
func (*ListSecurityGroupOperationsRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{13}
}

func (x *ListSecurityGroupOperationsRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *ListSecurityGroupOperationsRequest) GetPageSize() int64 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListSecurityGroupOperationsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

type ListSecurityGroupOperationsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of operations for the specified security group.
	Operations []*operation.Operation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"`
	// Token for getting the next page of the list. If the number of results is greater than
	// the specified [ListSecurityGroupOperationsRequest.page_size], use `next_page_token` as the value
	// for the [ListSecurityGroupOperationsRequest.page_token] parameter in the next list request.
	//
	// Each subsequent page will have its own `next_page_token` to continue paging through the results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSecurityGroupOperationsResponse) Reset() {
	*x = ListSecurityGroupOperationsResponse{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSecurityGroupOperationsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSecurityGroupOperationsResponse) ProtoMessage() {}

func (x *ListSecurityGroupOperationsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSecurityGroupOperationsResponse.ProtoReflect.Descriptor instead.
func (*ListSecurityGroupOperationsResponse) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{14}
}

func (x *ListSecurityGroupOperationsResponse) GetOperations() []*operation.Operation {
	if x != nil {
		return x.Operations
	}
	return nil
}

func (x *ListSecurityGroupOperationsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

type MoveSecurityGroupRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the security group to move.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	// ID of the folder to move security group to.
	DestinationFolderId string `protobuf:"bytes,2,opt,name=destination_folder_id,json=destinationFolderId,proto3" json:"destination_folder_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MoveSecurityGroupRequest) Reset() {
	*x = MoveSecurityGroupRequest{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MoveSecurityGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveSecurityGroupRequest) ProtoMessage() {}

func (x *MoveSecurityGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveSecurityGroupRequest.ProtoReflect.Descriptor instead.
func (*MoveSecurityGroupRequest) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{15}
}

func (x *MoveSecurityGroupRequest) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

func (x *MoveSecurityGroupRequest) GetDestinationFolderId() string {
	if x != nil {
		return x.DestinationFolderId
	}
	return ""
}

type MoveSecurityGroupMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the security group that is being moved.
	SecurityGroupId string `protobuf:"bytes,1,opt,name=security_group_id,json=securityGroupId,proto3" json:"security_group_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MoveSecurityGroupMetadata) Reset() {
	*x = MoveSecurityGroupMetadata{}
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MoveSecurityGroupMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveSecurityGroupMetadata) ProtoMessage() {}

func (x *MoveSecurityGroupMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveSecurityGroupMetadata.ProtoReflect.Descriptor instead.
func (*MoveSecurityGroupMetadata) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP(), []int{16}
}

func (x *MoveSecurityGroupMetadata) GetSecurityGroupId() string {
	if x != nil {
		return x.SecurityGroupId
	}
	return ""
}

var File_yandex_cloud_vpc_v1_security_group_service_proto protoreflect.FileDescriptor

const file_yandex_cloud_vpc_v1_security_group_service_proto_rawDesc = "" +
	"\n" +
	"0yandex/cloud/vpc/v1/security_group_service.proto\x12\x13yandex.cloud.vpc.v1\x1a\x1cgoogle/api/annotations.proto\x1a google/protobuf/field_mask.proto\x1a yandex/cloud/api/operation.proto\x1a(yandex/cloud/vpc/v1/security_group.proto\x1a&yandex/cloud/operation/operation.proto\x1a\x1dyandex/cloud/validation.proto\"K\n" +
	"\x17GetSecurityGroupRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\"\x92\x01\n" +
	"\x19ListSecurityGroupsRequest\x12!\n" +
	"\tfolder_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\bfolderId\x12\x1b\n" +
	"\tpage_size\x18\x02 \x01(\x03R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\x03 \x01(\tR\tpageToken\x12\x16\n" +
	"\x06filter\x18\x04 \x01(\tR\x06filter\"\x91\x01\n" +
	"\x1aListSecurityGroupsResponse\x12K\n" +
	"\x0fsecurity_groups\x18\x01 \x03(\v2\".yandex.cloud.vpc.v1.SecurityGroupR\x0esecurityGroups\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xfe\x03\n" +
	"\x1aCreateSecurityGroupRequest\x12)\n" +
	"\tfolder_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bfolderId\x12B\n" +
	"\x04name\x18\x02 \x01(\tB.\xf2\xc71*|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?R\x04name\x12+\n" +
	"\vdescription\x18\x03 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x98\x01\n" +
	"\x06labels\x18\x04 \x03(\v2;.yandex.cloud.vpc.v1.CreateSecurityGroupRequest.LabelsEntryBC\xf2\xc71\x0f[-_./\\@0-9a-z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x1c\x12\x14[a-z][-_./\\@0-9a-z]*\x1a\x041-63R\x06labels\x12#\n" +
	"\n" +
	"network_id\x18\x05 \x01(\tB\x04\xe8\xc71\x01R\tnetworkId\x12I\n" +
	"\n" +
	"rule_specs\x18\x06 \x03(\v2*.yandex.cloud.vpc.v1.SecurityGroupRuleSpecR\truleSpecs\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb0\x05\n" +
	"\x15SecurityGroupRuleSpec\x12+\n" +
	"\vdescription\x18\x01 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x93\x01\n" +
	"\x06labels\x18\x02 \x03(\v26.yandex.cloud.vpc.v1.SecurityGroupRuleSpec.LabelsEntryBC\xf2\xc71\x0f[-_./\\@0-9a-z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x1c\x12\x14[a-z][-_./\\@0-9a-z]*\x1a\x041-63R\x06labels\x12T\n" +
	"\tdirection\x18\x03 \x01(\x0e20.yandex.cloud.vpc.v1.SecurityGroupRule.DirectionB\x04\xe8\xc71\x01R\tdirection\x124\n" +
	"\x05ports\x18\x04 \x01(\v2\x1e.yandex.cloud.vpc.v1.PortRangeR\x05ports\x12%\n" +
	"\rprotocol_name\x18\x05 \x01(\tH\x00R\fprotocolName\x12)\n" +
	"\x0fprotocol_number\x18\x06 \x01(\x03H\x00R\x0eprotocolNumber\x12B\n" +
	"\vcidr_blocks\x18\a \x01(\v2\x1f.yandex.cloud.vpc.v1.CidrBlocksH\x01R\n" +
	"cidrBlocks\x12,\n" +
	"\x11security_group_id\x18\b \x01(\tH\x01R\x0fsecurityGroupId\x12-\n" +
	"\x11predefined_target\x18\t \x01(\tH\x01R\x10predefinedTarget\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\n" +
	"\n" +
	"\bprotocolB\x0e\n" +
	"\x06target\x12\x04\xc0\xc11\x01\"I\n" +
	"\x1bCreateSecurityGroupMetadata\x12*\n" +
	"\x11security_group_id\x18\x01 \x01(\tR\x0fsecurityGroupId\"\xa5\x04\n" +
	"\x1aUpdateSecurityGroupRequest\x128\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\x0fsecurityGroupId\x12;\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" +
	"updateMask\x12B\n" +
	"\x04name\x18\x03 \x01(\tB.\xf2\xc71*|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?R\x04name\x12+\n" +
	"\vdescription\x18\x04 \x01(\tB\t\x8a\xc81\x05<=256R\vdescription\x12\x98\x01\n" +
	"\x06labels\x18\x05 \x03(\v2;.yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.LabelsEntryBC\xf2\xc71\x0f[-_./\\@0-9a-z]*\x82\xc81\x04<=64\x8a\xc81\x04<=63\xb2\xc81\x1c\x12\x14[a-z][-_./\\@0-9a-z]*\x1a\x041-63R\x06labels\x12I\n" +
	"\n" +
	"rule_specs\x18\x06 \x03(\v2*.yandex.cloud.vpc.v1.SecurityGroupRuleSpecR\truleSpecs\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"o\n" +
	"\x1bUpdateSecurityGroupMetadata\x12*\n" +
	"\x11security_group_id\x18\x01 \x01(\tR\x0fsecurityGroupId\x12$\n" +
	"\x0eadded_rule_ids\x18\x02 \x03(\tR\faddedRuleIds\"\xdb\x01\n" +
	"\x1fUpdateSecurityGroupRulesRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\x12*\n" +
	"\x11deletion_rule_ids\x18\x02 \x03(\tR\x0fdeletionRuleIds\x12Z\n" +
	"\x13addition_rule_specs\x18\x03 \x03(\v2*.yandex.cloud.vpc.v1.SecurityGroupRuleSpecR\x11additionRuleSpecs\"\xe4\x02\n" +
	"\x1eUpdateSecurityGroupRuleRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\x12\x1d\n" +
	"\arule_id\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\x06ruleId\x12;\n" +
	"\vupdate_mask\x18\x03 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" +
	"updateMask\x12 \n" +
	"\vdescription\x18\x04 \x01(\tR\vdescription\x12W\n" +
	"\x06labels\x18\x05 \x03(\v2?.yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest.LabelsEntryR\x06labels\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"f\n" +
	"\x1fUpdateSecurityGroupRuleMetadata\x12*\n" +
	"\x11security_group_id\x18\x01 \x01(\tR\x0fsecurityGroupId\x12\x17\n" +
	"\arule_id\x18\x02 \x01(\tR\x06ruleId\"N\n" +
	"\x1aDeleteSecurityGroupRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\"I\n" +
	"\x1bDeleteSecurityGroupMetadata\x12*\n" +
	"\x11security_group_id\x18\x01 \x01(\tR\x0fsecurityGroupId\"\x92\x01\n" +
	"\"ListSecurityGroupOperationsRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\x12\x1b\n" +
	"\tpage_size\x18\x02 \x01(\x03R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\x03 \x01(\tR\tpageToken\"\x90\x01\n" +
	"#ListSecurityGroupOperationsResponse\x12A\n" +
	"\n" +
	"operations\x18\x01 \x03(\v2!.yandex.cloud.operation.OperationR\n" +
	"operations\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\x86\x01\n" +
	"\x18MoveSecurityGroupRequest\x120\n" +
	"\x11security_group_id\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x0fsecurityGroupId\x128\n" +
	"\x15destination_folder_id\x18\x02 \x01(\tB\x04\xe8\xc71\x01R\x13destinationFolderId\"G\n" +
	"\x19MoveSecurityGroupMetadata\x12*\n" +
	"\x11security_group_id\x18\x01 \x01(\tR\x0fsecurityGroupId2\xb7\r\n" +
	"\x14SecurityGroupService\x12\x8b\x01\n" +
	"\x03Get\x12,.yandex.cloud.vpc.v1.GetSecurityGroupRequest\x1a\".yandex.cloud.vpc.v1.SecurityGroup\"2\x82\xd3\xe4\x93\x02,\x12*/vpc/v1/securityGroups/{security_group_id}\x12\x87\x01\n" +
	"\x04List\x12..yandex.cloud.vpc.v1.ListSecurityGroupsRequest\x1a/.yandex.cloud.vpc.v1.ListSecurityGroupsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/vpc/v1/securityGroups\x12\xaf\x01\n" +
	"\x06Create\x12/.yandex.cloud.vpc.v1.CreateSecurityGroupRequest\x1a!.yandex.cloud.operation.Operation\"Q\xb2\xd2*,\n" +
	"\x1bCreateSecurityGroupMetadata\x12\rSecurityGroup\x82\xd3\xe4\x93\x02\x1b:\x01*\"\x16/vpc/v1/securityGroups\x12\xc3\x01\n" +
	"\x06Update\x12/.yandex.cloud.vpc.v1.UpdateSecurityGroupRequest\x1a!.yandex.cloud.operation.Operation\"e\xb2\xd2*,\n" +
	"\x1bUpdateSecurityGroupMetadata\x12\rSecurityGroup\x82\xd3\xe4\x93\x02/:\x01*2*/vpc/v1/securityGroups/{security_group_id}\x12\xd3\x01\n" +
	"\vUpdateRules\x124.yandex.cloud.vpc.v1.UpdateSecurityGroupRulesRequest\x1a!.yandex.cloud.operation.Operation\"k\xb2\xd2*,\n" +
	"\x1bUpdateSecurityGroupMetadata\x12\rSecurityGroup\x82\xd3\xe4\x93\x025:\x01*20/vpc/v1/securityGroups/{security_group_id}/rules\x12\xe3\x01\n" +
	"\n" +
	"UpdateRule\x123.yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest\x1a!.yandex.cloud.operation.Operation\"}\xb2\xd2*4\n" +
	"\x1fUpdateSecurityGroupRuleMetadata\x12\x11SecurityGroupRule\x82\xd3\xe4\x93\x02?:\x01*2:/vpc/v1/securityGroups/{security_group_id}/rules/{rule_id}\x12\xc8\x01\n" +
	"\x06Delete\x12/.yandex.cloud.vpc.v1.DeleteSecurityGroupRequest\x1a!.yandex.cloud.operation.Operation\"j\xb2\xd2*4\n" +
	"\x1bDeleteSecurityGroupMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02,**/vpc/v1/securityGroups/{security_group_id}\x12\xc2\x01\n" +
	"\x04Move\x12-.yandex.cloud.vpc.v1.MoveSecurityGroupRequest\x1a!.yandex.cloud.operation.Operation\"h\xb2\xd2**\n" +
	"\x19MoveSecurityGroupMetadata\x12\rSecurityGroup\x82\xd3\xe4\x93\x024:\x01*\"//vpc/v1/securityGroups/{security_group_id}:move\x12\xc2\x01\n" +
	"\x0eListOperations\x127.yandex.cloud.vpc.v1.ListSecurityGroupOperationsRequest\x1a8.yandex.cloud.vpc.v1.ListSecurityGroupOperationsResponse\"=\x82\xd3\xe4\x93\x027\x125/vpc/v1/securityGroups/{security_group_id}/operationsBV\n" +
	"\x17yandex.cloud.api.vpc.v1Z;github.com/yandex-cloud/go-genproto/yandex/cloud/vpc/v1;vpcb\x06proto3"

var (
	file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescOnce sync.Once
	file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescData []byte
)

func file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescGZIP() []byte {
	file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_vpc_v1_security_group_service_proto_rawDesc), len(file_yandex_cloud_vpc_v1_security_group_service_proto_rawDesc)))
	})
	return file_yandex_cloud_vpc_v1_security_group_service_proto_rawDescData
}

var file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_yandex_cloud_vpc_v1_security_group_service_proto_goTypes = []any{
	(*GetSecurityGroupRequest)(nil),             // 0: yandex.cloud.vpc.v1.GetSecurityGroupRequest
	(*ListSecurityGroupsRequest)(nil),           // 1: yandex.cloud.vpc.v1.ListSecurityGroupsRequest
	(*ListSecurityGroupsResponse)(nil),          // 2: yandex.cloud.vpc.v1.ListSecurityGroupsResponse
	(*CreateSecurityGroupRequest)(nil),          // 3: yandex.cloud.vpc.v1.CreateSecurityGroupRequest
	(*SecurityGroupRuleSpec)(nil),               // 4: yandex.cloud.vpc.v1.SecurityGroupRuleSpec
	(*CreateSecurityGroupMetadata)(nil),         // 5: yandex.cloud.vpc.v1.CreateSecurityGroupMetadata
	(*UpdateSecurityGroupRequest)(nil),          // 6: yandex.cloud.vpc.v1.UpdateSecurityGroupRequest
	(*UpdateSecurityGroupMetadata)(nil),         // 7: yandex.cloud.vpc.v1.UpdateSecurityGroupMetadata
	(*UpdateSecurityGroupRulesRequest)(nil),     // 8: yandex.cloud.vpc.v1.UpdateSecurityGroupRulesRequest
	(*UpdateSecurityGroupRuleRequest)(nil),      // 9: yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest
	(*UpdateSecurityGroupRuleMetadata)(nil),     // 10: yandex.cloud.vpc.v1.UpdateSecurityGroupRuleMetadata
	(*DeleteSecurityGroupRequest)(nil),          // 11: yandex.cloud.vpc.v1.DeleteSecurityGroupRequest
	(*DeleteSecurityGroupMetadata)(nil),         // 12: yandex.cloud.vpc.v1.DeleteSecurityGroupMetadata
	(*ListSecurityGroupOperationsRequest)(nil),  // 13: yandex.cloud.vpc.v1.ListSecurityGroupOperationsRequest
	(*ListSecurityGroupOperationsResponse)(nil), // 14: yandex.cloud.vpc.v1.ListSecurityGroupOperationsResponse
	(*MoveSecurityGroupRequest)(nil),            // 15: yandex.cloud.vpc.v1.MoveSecurityGroupRequest
	(*MoveSecurityGroupMetadata)(nil),           // 16: yandex.cloud.vpc.v1.MoveSecurityGroupMetadata
	nil,                                         // 17: yandex.cloud.vpc.v1.CreateSecurityGroupRequest.LabelsEntry
	nil,                                         // 18: yandex.cloud.vpc.v1.SecurityGroupRuleSpec.LabelsEntry
	nil,                                         // 19: yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.LabelsEntry
	nil,                                         // 20: yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest.LabelsEntry
	(*SecurityGroup)(nil),                       // 21: yandex.cloud.vpc.v1.SecurityGroup
	(SecurityGroupRule_Direction)(0),            // 22: yandex.cloud.vpc.v1.SecurityGroupRule.Direction
	(*PortRange)(nil),                           // 23: yandex.cloud.vpc.v1.PortRange
	(*CidrBlocks)(nil),                          // 24: yandex.cloud.vpc.v1.CidrBlocks
	(*fieldmaskpb.FieldMask)(nil),               // 25: google.protobuf.FieldMask
	(*operation.Operation)(nil),                 // 26: yandex.cloud.operation.Operation
}
var file_yandex_cloud_vpc_v1_security_group_service_proto_depIdxs = []int32{
	21, // 0: yandex.cloud.vpc.v1.ListSecurityGroupsResponse.security_groups:type_name -> yandex.cloud.vpc.v1.SecurityGroup
	17, // 1: yandex.cloud.vpc.v1.CreateSecurityGroupRequest.labels:type_name -> yandex.cloud.vpc.v1.CreateSecurityGroupRequest.LabelsEntry
	4,  // 2: yandex.cloud.vpc.v1.CreateSecurityGroupRequest.rule_specs:type_name -> yandex.cloud.vpc.v1.SecurityGroupRuleSpec
	18, // 3: yandex.cloud.vpc.v1.SecurityGroupRuleSpec.labels:type_name -> yandex.cloud.vpc.v1.SecurityGroupRuleSpec.LabelsEntry
	22, // 4: yandex.cloud.vpc.v1.SecurityGroupRuleSpec.direction:type_name -> yandex.cloud.vpc.v1.SecurityGroupRule.Direction
	23, // 5: yandex.cloud.vpc.v1.SecurityGroupRuleSpec.ports:type_name -> yandex.cloud.vpc.v1.PortRange
	24, // 6: yandex.cloud.vpc.v1.SecurityGroupRuleSpec.cidr_blocks:type_name -> yandex.cloud.vpc.v1.CidrBlocks
	25, // 7: yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.update_mask:type_name -> google.protobuf.FieldMask
	19, // 8: yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.labels:type_name -> yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.LabelsEntry
	4,  // 9: yandex.cloud.vpc.v1.UpdateSecurityGroupRequest.rule_specs:type_name -> yandex.cloud.vpc.v1.SecurityGroupRuleSpec
	4,  // 10: yandex.cloud.vpc.v1.UpdateSecurityGroupRulesRequest.addition_rule_specs:type_name -> yandex.cloud.vpc.v1.SecurityGroupRuleSpec
	25, // 11: yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest.update_mask:type_name -> google.protobuf.FieldMask
	20, // 12: yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest.labels:type_name -> yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest.LabelsEntry
	26, // 13: yandex.cloud.vpc.v1.ListSecurityGroupOperationsResponse.operations:type_name -> yandex.cloud.operation.Operation
	0,  // 14: yandex.cloud.vpc.v1.SecurityGroupService.Get:input_type -> yandex.cloud.vpc.v1.GetSecurityGroupRequest
	1,  // 15: yandex.cloud.vpc.v1.SecurityGroupService.List:input_type -> yandex.cloud.vpc.v1.ListSecurityGroupsRequest
	3,  // 16: yandex.cloud.vpc.v1.SecurityGroupService.Create:input_type -> yandex.cloud.vpc.v1.CreateSecurityGroupRequest
	6,  // 17: yandex.cloud.vpc.v1.SecurityGroupService.Update:input_type -> yandex.cloud.vpc.v1.UpdateSecurityGroupRequest
	8,  // 18: yandex.cloud.vpc.v1.SecurityGroupService.UpdateRules:input_type -> yandex.cloud.vpc.v1.UpdateSecurityGroupRulesRequest
	9,  // 19: yandex.cloud.vpc.v1.SecurityGroupService.UpdateRule:input_type -> yandex.cloud.vpc.v1.UpdateSecurityGroupRuleRequest
	11, // 20: yandex.cloud.vpc.v1.SecurityGroupService.Delete:input_type -> yandex.cloud.vpc.v1.DeleteSecurityGroupRequest
	15, // 21: yandex.cloud.vpc.v1.SecurityGroupService.Move:input_type -> yandex.cloud.vpc.v1.MoveSecurityGroupRequest
	13, // 22: yandex.cloud.vpc.v1.SecurityGroupService.ListOperations:input_type -> yandex.cloud.vpc.v1.ListSecurityGroupOperationsRequest
	21, // 23: yandex.cloud.vpc.v1.SecurityGroupService.Get:output_type -> yandex.cloud.vpc.v1.SecurityGroup
	2,  // 24: yandex.cloud.vpc.v1.SecurityGroupService.List:output_type -> yandex.cloud.vpc.v1.ListSecurityGroupsResponse
	26, // 25: yandex.cloud.vpc.v1.SecurityGroupService.Create:output_type -> yandex.cloud.operation.Operation
	26, // 26: yandex.cloud.vpc.v1.SecurityGroupService.Update:output_type -> yandex.cloud.operation.Operation
	26, // 27: yandex.cloud.vpc.v1.SecurityGroupService.UpdateRules:output_type -> yandex.cloud.operation.Operation
	26, // 28: yandex.cloud.vpc.v1.SecurityGroupService.UpdateRule:output_type -> yandex.cloud.operation.Operation
	26, // 29: yandex.cloud.vpc.v1.SecurityGroupService.Delete:output_type -> yandex.cloud.operation.Operation
	26, // 30: yandex.cloud.vpc.v1.SecurityGroupService.Move:output_type -> yandex.cloud.operation.Operation
	14, // 31: yandex.cloud.vpc.v1.SecurityGroupService.ListOperations:output_type -> yandex.cloud.vpc.v1.ListSecurityGroupOperationsResponse
	23, // [23:32] is the sub-list for method output_type
	14, // [14:23] is the sub-list for method input_type
	14, // [14:14] is the sub-list for extension type_name
	14, // [14:14] is the sub-list for extension extendee
	0,  // [0:14] is the sub-list for field type_name
}

func init() { file_yandex_cloud_vpc_v1_security_group_service_proto_init() }
func file_yandex_cloud_vpc_v1_security_group_service_proto_init() {
	if File_yandex_cloud_vpc_v1_security_group_service_proto != nil {
		return
	}
	file_yandex_cloud_vpc_v1_security_group_proto_init()
	file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes[4].OneofWrappers = []any{
		(*SecurityGroupRuleSpec_ProtocolName)(nil),
		(*SecurityGroupRuleSpec_ProtocolNumber)(nil),
		(*SecurityGroupRuleSpec_CidrBlocks)(nil),
		(*SecurityGroupRuleSpec_SecurityGroupId)(nil),
		(*SecurityGroupRuleSpec_PredefinedTarget)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_vpc_v1_security_group_service_proto_rawDesc), len(file_yandex_cloud_vpc_v1_security_group_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   21,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_yandex_cloud_vpc_v1_security_group_service_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_vpc_v1_security_group_service_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_vpc_v1_security_group_service_proto_msgTypes,
	}.Build()
	File_yandex_cloud_vpc_v1_security_group_service_proto = out.File
	file_yandex_cloud_vpc_v1_security_group_service_proto_goTypes = nil
	file_yandex_cloud_vpc_v1_security_group_service_proto_depIdxs = nil
}
