Files
VerseVDI-Protocol/gen/rust/protocol.rs
T

358 lines
8.4 KiB
Rust

// Code generated by tools/generate.py; DO NOT EDIT.
#![allow(non_snake_case)]
pub const SCHEMA_SHA256: &str = "b8a69785112bb94d45f47c2250ca59d0bde47e3667b8ad89c9b0e2c4cfb25aec";
pub const CURRENT_WIRE_VERSION: &str = "1";
pub const N_MINUS_1_WIRE_VERSION: &str = "0";
pub const N_MINUS_2_WIRE_VERSION: &str = "-1";
pub type JsonObject = std::collections::BTreeMap<String, String>;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AllocationPolicy {
pub minimumKbps: i64,
pub targetKbps: i64,
pub maximumKbps: i64,
pub tier: String,
pub audience: String,
pub protocol: String,
pub protocolVersion: i64,
pub grantTtlSeconds: i64,
pub reservationLeaseSeconds: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AssignedDesktop {
pub assignmentId: String,
pub poolId: String,
pub name: String,
pub availability: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BrokerSession {
pub id: String,
pub principalId: String,
pub poolId: String,
pub assignmentId: Option<String>,
pub state: String,
pub policySnapshot: AllocationPolicy,
pub reconnectDeadline: Option<String>,
pub outcome: Option<String>,
pub failureCode: Option<String>,
pub cleanupState: String,
pub idempotencyKey: String,
pub correlationId: String,
pub requestedAt: String,
pub endedAt: Option<String>,
pub version: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct CapabilityProfile {
pub transport: String,
pub framing: String,
pub media: String,
pub audio: String,
pub sourceRateControl: String,
pub clientDecode: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ChannelFrame {
pub version: String,
pub flowId: String,
pub sequence: i64,
pub flags: i64,
pub fragmentIndex: i64,
pub fragmentCount: i64,
pub timestampMs: i64,
pub payload: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ClipboardText {
pub text: String,
pub encoding: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ConnectionManifest {
pub version: String,
pub purpose: String,
pub sessionId: String,
pub reconnectSequence: i64,
pub gateway: ManifestGateway,
pub tunnel: ManifestTunnel,
pub profile: ManifestProfile,
pub grant: GrantReference,
pub correlationId: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceChallenge {
pub deviceId: String,
pub serverId: String,
pub principalId: String,
pub challenge: String,
pub expiresAt: String,
pub algorithm: String,
pub signatureFormat: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceProofRequest {
pub challenge: String,
pub signature: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceRegistrationRequest {
pub name: String,
pub platform: String,
pub deviceSubject: String,
pub algorithm: String,
pub publicKey: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EntitledPool {
pub poolId: String,
pub name: String,
pub assignmentState: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ErrorEnvelope {
pub status: bool,
pub error: String,
pub code: String,
pub message: String,
pub resolution: String,
pub requestId: String,
pub violations: Vec<FieldViolation>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EventEnvelope {
pub eventId: String,
pub sequence: i64,
pub typeValue: String,
pub version: i64,
pub resource: ResourceLink,
pub occurredAt: String,
pub correlationId: String,
pub payload: JsonObject,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EventResume {
pub cursor: String,
pub lastSequence: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct FieldViolation {
pub field: String,
pub code: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct GatewayDrain {
pub version: String,
pub gatewayId: String,
pub sequence: i64,
pub reason: String,
pub deadline: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct GatewayHeartbeat {
pub version: String,
pub gatewayId: String,
pub sequence: i64,
pub observedAt: String,
pub activeConnections: i64,
pub egressKbps: i64,
pub state: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct GatewayRegistration {
pub version: String,
pub gatewayId: String,
pub instanceIdentity: String,
pub certificateIdentity: String,
pub publicIdentity: String,
pub address: String,
pub providerIdentity: String,
pub protocolMinVersion: i64,
pub protocolMaxVersion: i64,
pub connectionCapacity: i64,
pub bandwidthCapacityKbps: i64,
pub features: Vec<String>,
pub capabilities: CapabilityProfile,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct GrantReference {
pub opaqueValue: String,
pub expiresAt: String,
pub audience: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct LoginRequest {
pub provider: Option<String>,
pub username: String,
pub password: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestBounds {
pub minimumKbps: i64,
pub targetKbps: i64,
pub maximumKbps: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestGateway {
pub id: String,
pub addresses: Vec<String>,
pub publicIdentity: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestProfile {
pub id: String,
pub bounds: ManifestBounds,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestTunnel {
pub versions: Vec<String>,
pub features: Vec<String>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct NativeCredential {
pub deviceId: Option<String>,
pub familyId: String,
pub accessToken: String,
pub refreshToken: String,
pub expiresAt: String,
pub refreshExpiresAt: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PageInfo {
pub limit: i64,
pub nextCursor: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ProviderState {
pub version: String,
pub sessionId: String,
pub state: String,
pub cleanupPending: bool,
pub channels: Vec<String>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReauthGrant {
pub token: String,
pub purpose: String,
pub expiresAt: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReauthRequest {
pub password: String,
pub purpose: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReconnectRequest {
pub clientDeviceId: String,
pub deviceKeyId: String,
pub expectedVersion: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RefreshRequest {
pub familyId: String,
pub refreshToken: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Resource {
pub id: String,
pub kind: String,
pub name: String,
pub state: String,
pub assignmentState: Option<String>,
pub version: i64,
pub links: Vec<ResourceLink>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ResourceLink {
pub typeValue: String,
pub id: String,
pub version: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ResourceList {
pub assignedDesktops: Vec<AssignedDesktop>,
pub entitledPools: Vec<EntitledPool>,
pub page: PageInfo,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SessionAuthority {
pub version: String,
pub sessionId: String,
pub gatewayId: String,
pub audience: String,
pub reconnectSequence: i64,
pub expiresAt: String,
pub capabilities: CapabilityProfile,
pub providerProfile: String,
pub providerIdentity: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SessionRequest {
pub clientDeviceId: String,
pub deviceKeyId: String,
pub poolId: String,
pub idempotencyKey: String,
pub policySnapshot: AllocationPolicy,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct StableError {
pub version: String,
pub code: String,
pub message: String,
pub retryable: bool,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TunnelAdmissionRequest {
pub version: String,
pub sessionId: String,
pub gatewayId: String,
pub audience: String,
pub grant: String,
pub reconnectSequence: i64,
pub clientNonce: String,
pub capabilities: CapabilityProfile,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct VersionNegotiation {
pub supportedVersions: Vec<String>,
pub features: Vec<String>,
}