/// import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js'; import _m0 from 'protobufjs/minimal'; import { SecurityGroupRule_Direction, PortRange, SecurityGroup, CidrBlocks } from '../../../../yandex/cloud/vpc/v1/security_group'; import { FieldMask } from '../../../../google/protobuf/field_mask'; import { Operation } from '../../../../yandex/cloud/operation/operation'; export declare const protobufPackage = "yandex.cloud.vpc.v1"; export interface GetSecurityGroupRequest { /** * ID of the Security Group resource to return. * To get the security group ID, use a [SecurityGroup.List] request. */ securityGroupId: string; } export interface ListSecurityGroupsRequest { /** * 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; /** * 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: number; /** * 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; /** * 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; } export interface ListSecurityGroupsResponse { /** List of SecurityGroup resources. */ securityGroups: SecurityGroup[]; /** * 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; } export interface CreateSecurityGroupRequest { /** * 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; /** * Name of the security group. * The name must be unique within the folder. */ name: string; /** Description of the security group. */ description: string; /** Resource labels as `` key:value `` pairs. */ labels: { [key: string]: string; }; /** ID of the Network to create security group for. */ networkId: string; /** Security rules specifications. */ ruleSpecs: SecurityGroupRuleSpec[]; } export interface CreateSecurityGroupRequest_LabelsEntry { key: string; value: string; } export interface SecurityGroupRuleSpec { /** Description of the security rule. */ description: string; /** Rule labels as `` key:value `` pairs. */ labels: { [key: string]: string; }; /** The direction of network traffic allowed by this rule. */ direction: SecurityGroupRule_Direction; /** The range of ports that allow traffic to pass through. Null value means any port. */ ports?: PortRange; /** Protocol name. */ protocolName: string | undefined; /** Protocol number from [IANA protocol numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). */ protocolNumber: number | undefined; /** CIDR blocks to allow to recieve or send traffic. */ cidrBlocks?: CidrBlocks | undefined; /** ID of the security group to add rule to. */ securityGroupId: string | undefined; /** Predefined target. See [security groups rules](/docs/vpc/concepts/security-groups#security-groups-rules) for more information. */ predefinedTarget: string | undefined; } export interface SecurityGroupRuleSpec_LabelsEntry { key: string; value: string; } export interface CreateSecurityGroupMetadata { /** ID of the security group that is being created. */ securityGroupId: string; } export interface UpdateSecurityGroupRequest { /** * ID of the security group to update. * * To get the security group ID make a [SecurityGroupService.List] request. */ securityGroupId: string; /** Field mask that specifies which attributes of the Address should be updated. */ updateMask?: FieldMask; /** * New name for the security group. * The name must be unique within the folder. */ name: string; /** New description of the security group. */ description: 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. */ labels: { [key: string]: string; }; /** Updated rule list. All existing rules will be replaced with given list. */ ruleSpecs: SecurityGroupRuleSpec[]; } export interface UpdateSecurityGroupRequest_LabelsEntry { key: string; value: string; } export interface UpdateSecurityGroupMetadata { /** ID of the SecurityGroup that is being updated. */ securityGroupId: string; /** List of added security rules IDs. */ addedRuleIds: string[]; } export interface UpdateSecurityGroupRulesRequest { /** ID of the SecurityGroup that is being updated with new rules. */ securityGroupId: string; /** List of rules IDs to delete. */ deletionRuleIds: string[]; /** Security rules specifications. */ additionRuleSpecs: SecurityGroupRuleSpec[]; } export interface UpdateSecurityGroupRuleRequest { /** ID of the SecurityGroup to update rule in. */ securityGroupId: string; /** ID of the rule to update. */ ruleId: string; /** Field mask that specifies which attributes of the Address should be updated. */ updateMask?: FieldMask; /** New description of the rule. */ description: string; /** * 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: { [key: string]: string; }; } export interface UpdateSecurityGroupRuleRequest_LabelsEntry { key: string; value: string; } export interface UpdateSecurityGroupRuleMetadata { /** ID of the SecurityGroup that is being updated with new rules. */ securityGroupId: string; /** ID of the rule that is being updated. */ ruleId: string; } export interface DeleteSecurityGroupRequest { /** * ID of the security group to delete. * * To get a address ID make a [SecurityGroup.List] request. */ securityGroupId: string; } export interface DeleteSecurityGroupMetadata { /** ID of the SecurityGroup that is being deleted. */ securityGroupId: string; } export interface ListSecurityGroupOperationsRequest { /** * ID of the address to list operations for. * * To get a address ID make a [SecurityGroup.List] request. */ securityGroupId: string; /** * 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: number; /** * 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; } export interface ListSecurityGroupOperationsResponse { /** List of operations for the specified security group. */ operations: Operation[]; /** * 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; } export interface MoveSecurityGroupRequest { /** ID of the security group to move. */ securityGroupId: string; /** ID of the folder to move security group to. */ destinationFolderId: string; } export interface MoveSecurityGroupMetadata { /** ID of the security group that is being moved. */ securityGroupId: string; } export declare const GetSecurityGroupRequest: { encode(message: GetSecurityGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetSecurityGroupRequest; fromJSON(object: any): GetSecurityGroupRequest; toJSON(message: GetSecurityGroupRequest): unknown; fromPartial, never>>(object: I): GetSecurityGroupRequest; }; export declare const ListSecurityGroupsRequest: { encode(message: ListSecurityGroupsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSecurityGroupsRequest; fromJSON(object: any): ListSecurityGroupsRequest; toJSON(message: ListSecurityGroupsRequest): unknown; fromPartial, never>>(object: I): ListSecurityGroupsRequest; }; export declare const ListSecurityGroupsResponse: { encode(message: ListSecurityGroupsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSecurityGroupsResponse; fromJSON(object: any): ListSecurityGroupsResponse; toJSON(message: ListSecurityGroupsResponse): unknown; fromPartial, never>) | undefined; networkId?: string | undefined; status?: import("../../../../yandex/cloud/vpc/v1/security_group").SecurityGroup_Status | undefined; rules?: ({ id?: string | undefined; description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; }[] & ({ id?: string | undefined; description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & { id?: string | undefined; description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: ({ fromPort?: number | undefined; toPort?: number | undefined; } & { fromPort?: number | undefined; toPort?: number | undefined; } & Record, never>) | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: ({ v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } & { v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; defaultForNetwork?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListSecurityGroupsResponse; }; export declare const CreateSecurityGroupRequest: { encode(message: CreateSecurityGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSecurityGroupRequest; fromJSON(object: any): CreateSecurityGroupRequest; toJSON(message: CreateSecurityGroupRequest): unknown; fromPartial, never>) | undefined; networkId?: string | undefined; ruleSpecs?: ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; }[] & ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & { description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: ({ fromPort?: number | undefined; toPort?: number | undefined; } & { fromPort?: number | undefined; toPort?: number | undefined; } & Record, never>) | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: ({ v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } & { v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): CreateSecurityGroupRequest; }; export declare const CreateSecurityGroupRequest_LabelsEntry: { encode(message: CreateSecurityGroupRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSecurityGroupRequest_LabelsEntry; fromJSON(object: any): CreateSecurityGroupRequest_LabelsEntry; toJSON(message: CreateSecurityGroupRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): CreateSecurityGroupRequest_LabelsEntry; }; export declare const SecurityGroupRuleSpec: { encode(message: SecurityGroupRuleSpec, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SecurityGroupRuleSpec; fromJSON(object: any): SecurityGroupRuleSpec; toJSON(message: SecurityGroupRuleSpec): unknown; fromPartial, never>) | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: ({ fromPort?: number | undefined; toPort?: number | undefined; } & { fromPort?: number | undefined; toPort?: number | undefined; } & Record, never>) | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: ({ v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } & { v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & Record, never>>(object: I): SecurityGroupRuleSpec; }; export declare const SecurityGroupRuleSpec_LabelsEntry: { encode(message: SecurityGroupRuleSpec_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SecurityGroupRuleSpec_LabelsEntry; fromJSON(object: any): SecurityGroupRuleSpec_LabelsEntry; toJSON(message: SecurityGroupRuleSpec_LabelsEntry): unknown; fromPartial, never>>(object: I): SecurityGroupRuleSpec_LabelsEntry; }; export declare const CreateSecurityGroupMetadata: { encode(message: CreateSecurityGroupMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateSecurityGroupMetadata; fromJSON(object: any): CreateSecurityGroupMetadata; toJSON(message: CreateSecurityGroupMetadata): unknown; fromPartial, never>>(object: I): CreateSecurityGroupMetadata; }; export declare const UpdateSecurityGroupRequest: { encode(message: UpdateSecurityGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRequest; fromJSON(object: any): UpdateSecurityGroupRequest; toJSON(message: UpdateSecurityGroupRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; name?: string | undefined; description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; ruleSpecs?: ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; }[] & ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & { description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: ({ fromPort?: number | undefined; toPort?: number | undefined; } & { fromPort?: number | undefined; toPort?: number | undefined; } & Record, never>) | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: ({ v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } & { v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): UpdateSecurityGroupRequest; }; export declare const UpdateSecurityGroupRequest_LabelsEntry: { encode(message: UpdateSecurityGroupRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRequest_LabelsEntry; fromJSON(object: any): UpdateSecurityGroupRequest_LabelsEntry; toJSON(message: UpdateSecurityGroupRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateSecurityGroupRequest_LabelsEntry; }; export declare const UpdateSecurityGroupMetadata: { encode(message: UpdateSecurityGroupMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupMetadata; fromJSON(object: any): UpdateSecurityGroupMetadata; toJSON(message: UpdateSecurityGroupMetadata): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): UpdateSecurityGroupMetadata; }; export declare const UpdateSecurityGroupRulesRequest: { encode(message: UpdateSecurityGroupRulesRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRulesRequest; fromJSON(object: any): UpdateSecurityGroupRulesRequest; toJSON(message: UpdateSecurityGroupRulesRequest): unknown; fromPartial, never>) | undefined; additionRuleSpecs?: ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; }[] & ({ description?: string | undefined; labels?: { [x: string]: string | undefined; } | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: { fromPort?: number | undefined; toPort?: number | undefined; } | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: { v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & { description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; direction?: SecurityGroupRule_Direction | undefined; ports?: ({ fromPort?: number | undefined; toPort?: number | undefined; } & { fromPort?: number | undefined; toPort?: number | undefined; } & Record, never>) | undefined; protocolName?: string | undefined; protocolNumber?: number | undefined; cidrBlocks?: ({ v4CidrBlocks?: string[] | undefined; v6CidrBlocks?: string[] | undefined; } & { v4CidrBlocks?: (string[] & string[] & Record, never>) | undefined; v6CidrBlocks?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupId?: string | undefined; predefinedTarget?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): UpdateSecurityGroupRulesRequest; }; export declare const UpdateSecurityGroupRuleRequest: { encode(message: UpdateSecurityGroupRuleRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRuleRequest; fromJSON(object: any): UpdateSecurityGroupRuleRequest; toJSON(message: UpdateSecurityGroupRuleRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; description?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): UpdateSecurityGroupRuleRequest; }; export declare const UpdateSecurityGroupRuleRequest_LabelsEntry: { encode(message: UpdateSecurityGroupRuleRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRuleRequest_LabelsEntry; fromJSON(object: any): UpdateSecurityGroupRuleRequest_LabelsEntry; toJSON(message: UpdateSecurityGroupRuleRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateSecurityGroupRuleRequest_LabelsEntry; }; export declare const UpdateSecurityGroupRuleMetadata: { encode(message: UpdateSecurityGroupRuleMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSecurityGroupRuleMetadata; fromJSON(object: any): UpdateSecurityGroupRuleMetadata; toJSON(message: UpdateSecurityGroupRuleMetadata): unknown; fromPartial, never>>(object: I): UpdateSecurityGroupRuleMetadata; }; export declare const DeleteSecurityGroupRequest: { encode(message: DeleteSecurityGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSecurityGroupRequest; fromJSON(object: any): DeleteSecurityGroupRequest; toJSON(message: DeleteSecurityGroupRequest): unknown; fromPartial, never>>(object: I): DeleteSecurityGroupRequest; }; export declare const DeleteSecurityGroupMetadata: { encode(message: DeleteSecurityGroupMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSecurityGroupMetadata; fromJSON(object: any): DeleteSecurityGroupMetadata; toJSON(message: DeleteSecurityGroupMetadata): unknown; fromPartial, never>>(object: I): DeleteSecurityGroupMetadata; }; export declare const ListSecurityGroupOperationsRequest: { encode(message: ListSecurityGroupOperationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSecurityGroupOperationsRequest; fromJSON(object: any): ListSecurityGroupOperationsRequest; toJSON(message: ListSecurityGroupOperationsRequest): unknown; fromPartial, never>>(object: I): ListSecurityGroupOperationsRequest; }; export declare const ListSecurityGroupOperationsResponse: { encode(message: ListSecurityGroupOperationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListSecurityGroupOperationsResponse; fromJSON(object: any): ListSecurityGroupOperationsResponse; toJSON(message: ListSecurityGroupOperationsResponse): unknown; fromPartial, never>) | undefined; error?: ({ code?: number | undefined; message?: string | undefined; details?: { typeUrl?: string | undefined; value?: Buffer | undefined; }[] | undefined; } & { code?: number | undefined; message?: string | undefined; details?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; }[] & ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; response?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListSecurityGroupOperationsResponse; }; export declare const MoveSecurityGroupRequest: { encode(message: MoveSecurityGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MoveSecurityGroupRequest; fromJSON(object: any): MoveSecurityGroupRequest; toJSON(message: MoveSecurityGroupRequest): unknown; fromPartial, never>>(object: I): MoveSecurityGroupRequest; }; export declare const MoveSecurityGroupMetadata: { encode(message: MoveSecurityGroupMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MoveSecurityGroupMetadata; fromJSON(object: any): MoveSecurityGroupMetadata; toJSON(message: MoveSecurityGroupMetadata): unknown; fromPartial, never>>(object: I): MoveSecurityGroupMetadata; }; /** A set of methods for managing SecurityGroup resources. */ export declare const SecurityGroupServiceService: { /** * Returns the specified SecurityGroup resource. * * To get the list of all available SecurityGroup resources, make a [List] request. */ readonly get: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetSecurityGroupRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetSecurityGroupRequest; readonly responseSerialize: (value: SecurityGroup) => Buffer; readonly responseDeserialize: (value: Buffer) => SecurityGroup; }; /** Retrieves the list of SecurityGroup resources in the specified folder. */ readonly list: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSecurityGroupsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListSecurityGroupsRequest; readonly responseSerialize: (value: ListSecurityGroupsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSecurityGroupsResponse; }; /** Creates a security group in the specified folder and network. */ readonly create: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateSecurityGroupRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CreateSecurityGroupRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Updates the specified security group. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ readonly update: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSecurityGroupRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateSecurityGroupRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates the rules of the specified security group. */ readonly updateRules: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/UpdateRules"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSecurityGroupRulesRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateSecurityGroupRulesRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates the specified rule. */ readonly updateRule: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/UpdateRule"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateSecurityGroupRuleRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateSecurityGroupRuleRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Deletes the specified security group. */ readonly delete: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteSecurityGroupRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => DeleteSecurityGroupRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Moves security groups to another folder. */ readonly move: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/Move"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: MoveSecurityGroupRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => MoveSecurityGroupRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Lists operations for the specified security groups. */ readonly listOperations: { readonly path: "/yandex.cloud.vpc.v1.SecurityGroupService/ListOperations"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListSecurityGroupOperationsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListSecurityGroupOperationsRequest; readonly responseSerialize: (value: ListSecurityGroupOperationsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListSecurityGroupOperationsResponse; }; }; export interface SecurityGroupServiceServer extends UntypedServiceImplementation { /** * Returns the specified SecurityGroup resource. * * To get the list of all available SecurityGroup resources, make a [List] request. */ get: handleUnaryCall; /** Retrieves the list of SecurityGroup resources in the specified folder. */ list: handleUnaryCall; /** Creates a security group in the specified folder and network. */ create: handleUnaryCall; /** * Updates the specified security group. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ update: handleUnaryCall; /** Updates the rules of the specified security group. */ updateRules: handleUnaryCall; /** Updates the specified rule. */ updateRule: handleUnaryCall; /** Deletes the specified security group. */ delete: handleUnaryCall; /** Moves security groups to another folder. */ move: handleUnaryCall; /** Lists operations for the specified security groups. */ listOperations: handleUnaryCall; } export interface SecurityGroupServiceClient extends Client { /** * Returns the specified SecurityGroup resource. * * To get the list of all available SecurityGroup resources, make a [List] request. */ get(request: GetSecurityGroupRequest, callback: (error: ServiceError | null, response: SecurityGroup) => void): ClientUnaryCall; get(request: GetSecurityGroupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: SecurityGroup) => void): ClientUnaryCall; get(request: GetSecurityGroupRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: SecurityGroup) => void): ClientUnaryCall; /** Retrieves the list of SecurityGroup resources in the specified folder. */ list(request: ListSecurityGroupsRequest, callback: (error: ServiceError | null, response: ListSecurityGroupsResponse) => void): ClientUnaryCall; list(request: ListSecurityGroupsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSecurityGroupsResponse) => void): ClientUnaryCall; list(request: ListSecurityGroupsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListSecurityGroupsResponse) => void): ClientUnaryCall; /** Creates a security group in the specified folder and network. */ create(request: CreateSecurityGroupRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateSecurityGroupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateSecurityGroupRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Updates the specified security group. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ update(request: UpdateSecurityGroupRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateSecurityGroupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateSecurityGroupRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates the rules of the specified security group. */ updateRules(request: UpdateSecurityGroupRulesRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateRules(request: UpdateSecurityGroupRulesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateRules(request: UpdateSecurityGroupRulesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates the specified rule. */ updateRule(request: UpdateSecurityGroupRuleRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateRule(request: UpdateSecurityGroupRuleRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateRule(request: UpdateSecurityGroupRuleRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Deletes the specified security group. */ delete(request: DeleteSecurityGroupRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteSecurityGroupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteSecurityGroupRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Moves security groups to another folder. */ move(request: MoveSecurityGroupRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; move(request: MoveSecurityGroupRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; move(request: MoveSecurityGroupRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Lists operations for the specified security groups. */ listOperations(request: ListSecurityGroupOperationsRequest, callback: (error: ServiceError | null, response: ListSecurityGroupOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListSecurityGroupOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSecurityGroupOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListSecurityGroupOperationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListSecurityGroupOperationsResponse) => void): ClientUnaryCall; } export declare const SecurityGroupServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial): SecurityGroupServiceClient; service: typeof SecurityGroupServiceService; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};