import _m0 from 'protobufjs/minimal'; import { DiskSpec } from '../../../../yandex/cloud/clouddesktop/v1/disk'; import { Subject } from '../../../../yandex/cloud/access/access'; export declare const protobufPackage = "yandex.cloud.clouddesktop.v1.api"; /** A desktop group resource. */ export interface DesktopGroup { /** Desktop group ID. */ id: string; /** ID of the folder that the desktop group belongs to. */ folderId: string; /** Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: Date; /** Status of the desktop group. */ status: DesktopGroup_Status; /** Name of the desktop group. */ name: string; /** Description of the desktop group. */ description: string; /** Resource specification of the desktop group. */ resourcesSpec?: ResourcesSpec; /** Network interface specification of the desktop group. */ networkInterfaceSpec?: NetworkInterfaceSpec; /** Labels of the desktop group. */ labels: { [key: string]: string; }; /** Boot disk specification of the desktop group. */ bootDiskSpec?: DiskSpec; /** Data disk specification of the desktop group. */ dataDiskSpec?: DiskSpec; /** Desktop group configuration. */ groupConfig?: DesktopGroupConfiguration; } export declare enum DesktopGroup_Status { STATUS_UNSPECIFIED = 0, /** CREATING - Desktop group is being created. */ CREATING = 1, /** ACTIVE - Desktop group is ready to use. */ ACTIVE = 2, /** DELETING - Desktop group is being deleted. */ DELETING = 3, UNRECOGNIZED = -1 } export declare function desktopGroup_StatusFromJSON(object: any): DesktopGroup_Status; export declare function desktopGroup_StatusToJSON(object: DesktopGroup_Status): string; export interface DesktopGroup_LabelsEntry { key: string; value: string; } export interface DesktopGroupConfiguration { /** Minimum number of ready desktops. */ minReadyDesktops: number; /** Maximum number of desktops. */ maxDesktopsAmount: number; /** Type of the desktop. */ desktopType: DesktopGroupConfiguration_DesktopType; /** List of members of the desktop group. */ members: Subject[]; } export declare enum DesktopGroupConfiguration_DesktopType { DESKTOP_TYPE_UNSPECIFIED = 0, PERSISTENT = 1, NON_PERSISTENT = 2, UNRECOGNIZED = -1 } export declare function desktopGroupConfiguration_DesktopTypeFromJSON(object: any): DesktopGroupConfiguration_DesktopType; export declare function desktopGroupConfiguration_DesktopTypeToJSON(object: DesktopGroupConfiguration_DesktopType): string; export interface ResourcesSpec { /** RAM volume, in bytes. */ memory: number; /** Number of CPU cores. */ cores: number; /** * Baseline level of CPU performance with the ability to burst performance above that baseline level. * This field sets baseline performance for each core. */ coreFraction: number; } export interface NetworkInterfaceSpec { /** ID of the network interface specification. */ networkId: string; /** List of subnet IDs. */ subnetIds: string[]; } export declare const DesktopGroup: { encode(message: DesktopGroup, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DesktopGroup; fromJSON(object: any): DesktopGroup; toJSON(message: DesktopGroup): unknown; fromPartial, never>) | undefined; networkInterfaceSpec?: ({ networkId?: string | undefined; subnetIds?: string[] | undefined; } & { networkId?: string | undefined; subnetIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; bootDiskSpec?: ({ type?: import("../../../../yandex/cloud/clouddesktop/v1/disk").DiskSpec_Type | undefined; size?: number | undefined; } & { type?: import("../../../../yandex/cloud/clouddesktop/v1/disk").DiskSpec_Type | undefined; size?: number | undefined; } & Record, never>) | undefined; dataDiskSpec?: ({ type?: import("../../../../yandex/cloud/clouddesktop/v1/disk").DiskSpec_Type | undefined; size?: number | undefined; } & { type?: import("../../../../yandex/cloud/clouddesktop/v1/disk").DiskSpec_Type | undefined; size?: number | undefined; } & Record, never>) | undefined; groupConfig?: ({ minReadyDesktops?: number | undefined; maxDesktopsAmount?: number | undefined; desktopType?: DesktopGroupConfiguration_DesktopType | undefined; members?: { id?: string | undefined; type?: string | undefined; }[] | undefined; } & { minReadyDesktops?: number | undefined; maxDesktopsAmount?: number | undefined; desktopType?: DesktopGroupConfiguration_DesktopType | undefined; members?: ({ id?: string | undefined; type?: string | undefined; }[] & ({ id?: string | undefined; type?: string | undefined; } & { id?: string | undefined; type?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): DesktopGroup; }; export declare const DesktopGroup_LabelsEntry: { encode(message: DesktopGroup_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DesktopGroup_LabelsEntry; fromJSON(object: any): DesktopGroup_LabelsEntry; toJSON(message: DesktopGroup_LabelsEntry): unknown; fromPartial, never>>(object: I): DesktopGroup_LabelsEntry; }; export declare const DesktopGroupConfiguration: { encode(message: DesktopGroupConfiguration, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DesktopGroupConfiguration; fromJSON(object: any): DesktopGroupConfiguration; toJSON(message: DesktopGroupConfiguration): unknown; fromPartial, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): DesktopGroupConfiguration; }; export declare const ResourcesSpec: { encode(message: ResourcesSpec, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ResourcesSpec; fromJSON(object: any): ResourcesSpec; toJSON(message: ResourcesSpec): unknown; fromPartial, never>>(object: I): ResourcesSpec; }; export declare const NetworkInterfaceSpec: { encode(message: NetworkInterfaceSpec, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NetworkInterfaceSpec; fromJSON(object: any): NetworkInterfaceSpec; toJSON(message: NetworkInterfaceSpec): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): NetworkInterfaceSpec; }; 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 {};