import _m0 from 'protobufjs/minimal'; import { TransceiverType } from '../../../../yandex/cloud/cic/v1/common/transceiver_type'; import { LagAllocationSettings } from '../../../../yandex/cloud/cic/v1/common/lag_allocation_settings'; export declare const protobufPackage = "yandex.cloud.cic.v1"; /** A TrunkConnection resource. */ export interface TrunkConnection { /** ID of the trunkConnection. */ id: string; /** * Name of the trunkConnection. * The name must be unique within the folder. * Value must match the regular expression ``\|[a-zA-Z]([-_a-zA-Z0-9]{0,61}[a-zA-Z0-9])?``. */ name: string; /** Optional description of the trunkConnection. 0-256 characters long. */ description: string; /** ID of the folder that the trunkConnection belongs to. */ folderId: string; /** ID of the region that the trunkConnection belongs to. */ regionId: string; /** Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: Date; singlePortDirectJoint?: TrunkConnection_SinglePortDirectJoint | undefined; lagDirectJoint?: TrunkConnection_LagDirectJoint | undefined; partnerJointInfo?: TrunkConnection_PartnerJointInfo | undefined; /** * ID of pointOfPresence that the trunkConnection is deployed on. * Optional. * If is not set scheduler selects it by himself. */ pointOfPresenceId?: string; /** Capacity of the trunkConnection */ capacity: TrunkConnection_Capacity; /** * Resource labels, `key:value` pairs. * No more than 64 per resource. * The maximum string length in characters for each value is 63. * Each value must match the regular expression `[-_0-9a-z]*`. * The string length in characters for each key must be 1-63. * Each key must match the regular expression `[a-z][-_0-9a-z]*`. */ labels: { [key: string]: string; }; /** Status of the trunkConnection. */ status: TrunkConnection_Status; /** * Optional deletion protection flag. * If set prohibits deletion of the trunkConnection. */ deletionProtection: boolean; } export declare enum TrunkConnection_Capacity { CAPACITY_UNSPECIFIED = 0, CAPACITY_50_MBPS = 1, CAPACITY_100_MBPS = 2, CAPACITY_200_MBPS = 3, CAPACITY_300_MBPS = 4, CAPACITY_400_MBPS = 5, CAPACITY_500_MBPS = 6, CAPACITY_1_GBPS = 7, CAPACITY_2_GBPS = 8, CAPACITY_3_GBPS = 9, CAPACITY_4_GBPS = 10, CAPACITY_5_GBPS = 11, CAPACITY_10_GBPS = 12, CAPACITY_20_GBPS = 13, CAPACITY_30_GBPS = 14, CAPACITY_40_GBPS = 15, CAPACITY_50_GBPS = 16, CAPACITY_100_GBPS = 17, CAPACITY_200_GBPS = 18, UNRECOGNIZED = -1 } export declare function trunkConnection_CapacityFromJSON(object: any): TrunkConnection_Capacity; export declare function trunkConnection_CapacityToJSON(object: TrunkConnection_Capacity): string; export declare enum TrunkConnection_Status { STATUS_UNSPECIFIED = 0, CREATING = 1, UPDATING = 2, DELETING = 3, ACTIVE = 4, UNRECOGNIZED = -1 } export declare function trunkConnection_StatusFromJSON(object: any): TrunkConnection_Status; export declare function trunkConnection_StatusToJSON(object: TrunkConnection_Status): string; export interface TrunkConnection_LabelsEntry { key: string; value: string; } /** Config of trunkConnection that is deployed on partner joint. */ export interface TrunkConnection_PartnerJointInfo { /** Reserved for future using; */ serviceKey: string; /** * ID of partner that the trunkConnection is deployed on. * Optional. * If is not set scheduler selects it by himself. */ partnerId?: string; } /** Config of trunkConnection that is deployed on single port. */ export interface TrunkConnection_SinglePortDirectJoint { /** Type of transceiver that the trunkConnection is deployed on. */ transceiverType: TransceiverType; /** Name of port that the trunkConnection is deployed on. */ portName?: string; /** Device name which is set in LLDP message. */ accessDeviceName: string; } /** Config of trunkConnection that is deployed on lag. */ export interface TrunkConnection_LagDirectJoint { /** Type of transceiver that the trunkConnection is deployed on. */ transceiverType: TransceiverType; /** LAG allocation settings that the trunkConnection is deployed on. */ lagAllocationSettings?: LagAllocationSettings; /** Device name which is set in LLDP message. */ accessDeviceName: string; } export declare const TrunkConnection: { encode(message: TrunkConnection, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TrunkConnection; fromJSON(object: any): TrunkConnection; toJSON(message: TrunkConnection): unknown; fromPartial, never>) | undefined; lagDirectJoint?: ({ transceiverType?: TransceiverType | undefined; lagAllocationSettings?: { lagInfo?: { lagId?: number | undefined; portNames?: string[] | undefined; } | undefined; } | undefined; accessDeviceName?: string | undefined; } & { transceiverType?: TransceiverType | undefined; lagAllocationSettings?: ({ lagInfo?: { lagId?: number | undefined; portNames?: string[] | undefined; } | undefined; } & { lagInfo?: ({ lagId?: number | undefined; portNames?: string[] | undefined; } & { lagId?: number | undefined; portNames?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; accessDeviceName?: string | undefined; } & Record, never>) | undefined; partnerJointInfo?: ({ serviceKey?: string | undefined; partnerId?: string | undefined; } & { serviceKey?: string | undefined; partnerId?: string | undefined; } & Record, never>) | undefined; pointOfPresenceId?: string | undefined; capacity?: TrunkConnection_Capacity | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; status?: TrunkConnection_Status | undefined; deletionProtection?: boolean | undefined; } & Record, never>>(object: I): TrunkConnection; }; export declare const TrunkConnection_LabelsEntry: { encode(message: TrunkConnection_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TrunkConnection_LabelsEntry; fromJSON(object: any): TrunkConnection_LabelsEntry; toJSON(message: TrunkConnection_LabelsEntry): unknown; fromPartial, never>>(object: I): TrunkConnection_LabelsEntry; }; export declare const TrunkConnection_PartnerJointInfo: { encode(message: TrunkConnection_PartnerJointInfo, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TrunkConnection_PartnerJointInfo; fromJSON(object: any): TrunkConnection_PartnerJointInfo; toJSON(message: TrunkConnection_PartnerJointInfo): unknown; fromPartial, never>>(object: I): TrunkConnection_PartnerJointInfo; }; export declare const TrunkConnection_SinglePortDirectJoint: { encode(message: TrunkConnection_SinglePortDirectJoint, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TrunkConnection_SinglePortDirectJoint; fromJSON(object: any): TrunkConnection_SinglePortDirectJoint; toJSON(message: TrunkConnection_SinglePortDirectJoint): unknown; fromPartial, never>>(object: I): TrunkConnection_SinglePortDirectJoint; }; export declare const TrunkConnection_LagDirectJoint: { encode(message: TrunkConnection_LagDirectJoint, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TrunkConnection_LagDirectJoint; fromJSON(object: any): TrunkConnection_LagDirectJoint; toJSON(message: TrunkConnection_LagDirectJoint): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; accessDeviceName?: string | undefined; } & Record, never>>(object: I): TrunkConnection_LagDirectJoint; }; 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 {};