Files
VerseVDI-Protocol/gen/swift/Protocol.swift
T

665 lines
24 KiB
Swift

// Code generated by tools/generate.py; DO NOT EDIT.
import Foundation
public typealias JSONObject = [String: String]
public let schemaSHA256 = "36e4c8bac2eae674c1eba551c6ca8c64bf80fcc092ca63ec89a2c71c2bec86e1"
public let currentWireVersion = "1"
public let nMinus1WireVersion = "0"
public let nMinus2WireVersion = "-1"
public struct AllocationPolicy: Codable, Equatable {
public let minimumKbps: Int64
public let targetKbps: Int64
public let maximumKbps: Int64
public let tier: String
public let audience: String
public let protocolValue: String
public let protocolVersion: Int64
public let grantTtlSeconds: Int64
public let reservationLeaseSeconds: Int64
enum CodingKeys: String, CodingKey {
case minimumKbps = "minimum_kbps"
case targetKbps = "target_kbps"
case maximumKbps = "maximum_kbps"
case tier = "tier"
case audience = "audience"
case protocolValue = "protocol"
case protocolVersion = "protocol_version"
case grantTtlSeconds = "grant_ttl_seconds"
case reservationLeaseSeconds = "reservation_lease_seconds"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
minimumKbps = try c.decode(Int64.self, forKey: .minimumKbps)
targetKbps = try c.decode(Int64.self, forKey: .targetKbps)
maximumKbps = try c.decode(Int64.self, forKey: .maximumKbps)
tier = try c.decode(String.self, forKey: .tier)
audience = try c.decode(String.self, forKey: .audience)
protocolValue = try c.decode(String.self, forKey: .protocolValue)
protocolVersion = try c.decode(Int64.self, forKey: .protocolVersion)
grantTtlSeconds = try c.decode(Int64.self, forKey: .grantTtlSeconds)
reservationLeaseSeconds = try c.decode(Int64.self, forKey: .reservationLeaseSeconds)
}
}
public struct AssignedDesktop: Codable, Equatable {
public let assignmentId: String
public let poolId: String
public let name: String
public let availability: String
enum CodingKeys: String, CodingKey {
case assignmentId = "assignment_id"
case poolId = "pool_id"
case name = "name"
case availability = "availability"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
assignmentId = try c.decode(String.self, forKey: .assignmentId)
poolId = try c.decode(String.self, forKey: .poolId)
name = try c.decode(String.self, forKey: .name)
availability = try c.decode(String.self, forKey: .availability)
}
}
public struct BrokerSession: Codable, Equatable {
public let id: String
public let principalId: String
public let poolId: String
public let assignmentId: String?
public let state: String
public let policySnapshot: AllocationPolicy
public let reconnectDeadline: String?
public let outcome: String?
public let failureCode: String?
public let cleanupState: String
public let idempotencyKey: String
public let correlationId: String
public let requestedAt: String
public let endedAt: String?
public let version: Int64
enum CodingKeys: String, CodingKey {
case id = "id"
case principalId = "principal_id"
case poolId = "pool_id"
case assignmentId = "assignment_id"
case state = "state"
case policySnapshot = "policy_snapshot"
case reconnectDeadline = "reconnect_deadline"
case outcome = "outcome"
case failureCode = "failure_code"
case cleanupState = "cleanup_state"
case idempotencyKey = "idempotency_key"
case correlationId = "correlation_id"
case requestedAt = "requested_at"
case endedAt = "ended_at"
case version = "version"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
id = try c.decode(String.self, forKey: .id)
principalId = try c.decode(String.self, forKey: .principalId)
poolId = try c.decode(String.self, forKey: .poolId)
assignmentId = try c.decodeIfPresent(String.self, forKey: .assignmentId)
state = try c.decode(String.self, forKey: .state)
policySnapshot = try c.decode(AllocationPolicy.self, forKey: .policySnapshot)
reconnectDeadline = try c.decodeIfPresent(String.self, forKey: .reconnectDeadline)
outcome = try c.decodeIfPresent(String.self, forKey: .outcome)
failureCode = try c.decodeIfPresent(String.self, forKey: .failureCode)
cleanupState = try c.decode(String.self, forKey: .cleanupState)
idempotencyKey = try c.decode(String.self, forKey: .idempotencyKey)
correlationId = try c.decode(String.self, forKey: .correlationId)
requestedAt = try c.decode(String.self, forKey: .requestedAt)
endedAt = try c.decodeIfPresent(String.self, forKey: .endedAt)
version = try c.decode(Int64.self, forKey: .version)
}
}
public struct ClipboardText: Codable, Equatable {
public let text: String
public let encoding: String
enum CodingKeys: String, CodingKey {
case text = "text"
case encoding = "encoding"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
text = try c.decode(String.self, forKey: .text)
encoding = try c.decode(String.self, forKey: .encoding)
}
}
public struct ConnectionManifest: Codable, Equatable {
public let version: String
public let purpose: String
public let sessionId: String
public let reconnectSequence: Int64
public let gateway: ManifestGateway
public let tunnel: ManifestTunnel
public let profile: ManifestProfile
public let grant: GrantReference
public let correlationId: String
enum CodingKeys: String, CodingKey {
case version = "version"
case purpose = "purpose"
case sessionId = "session_id"
case reconnectSequence = "reconnect_sequence"
case gateway = "gateway"
case tunnel = "tunnel"
case profile = "profile"
case grant = "grant"
case correlationId = "correlation_id"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
version = try c.decode(String.self, forKey: .version)
purpose = try c.decode(String.self, forKey: .purpose)
sessionId = try c.decode(String.self, forKey: .sessionId)
reconnectSequence = try c.decode(Int64.self, forKey: .reconnectSequence)
gateway = try c.decode(ManifestGateway.self, forKey: .gateway)
tunnel = try c.decode(ManifestTunnel.self, forKey: .tunnel)
profile = try c.decode(ManifestProfile.self, forKey: .profile)
grant = try c.decode(GrantReference.self, forKey: .grant)
correlationId = try c.decode(String.self, forKey: .correlationId)
}
}
public struct DeviceChallenge: Codable, Equatable {
public let deviceId: String
public let serverId: String
public let principalId: String
public let challenge: String
public let expiresAt: String
public let algorithm: String
public let signatureFormat: String
enum CodingKeys: String, CodingKey {
case deviceId = "device_id"
case serverId = "server_id"
case principalId = "principal_id"
case challenge = "challenge"
case expiresAt = "expires_at"
case algorithm = "algorithm"
case signatureFormat = "signature_format"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
deviceId = try c.decode(String.self, forKey: .deviceId)
serverId = try c.decode(String.self, forKey: .serverId)
principalId = try c.decode(String.self, forKey: .principalId)
challenge = try c.decode(String.self, forKey: .challenge)
expiresAt = try c.decode(String.self, forKey: .expiresAt)
algorithm = try c.decode(String.self, forKey: .algorithm)
signatureFormat = try c.decode(String.self, forKey: .signatureFormat)
}
}
public struct DeviceProofRequest: Codable, Equatable {
public let challenge: String
public let signature: String
enum CodingKeys: String, CodingKey {
case challenge = "challenge"
case signature = "signature"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
challenge = try c.decode(String.self, forKey: .challenge)
signature = try c.decode(String.self, forKey: .signature)
}
}
public struct DeviceRegistrationRequest: Codable, Equatable {
public let name: String
public let platform: String
public let deviceSubject: String
public let algorithm: String
public let publicKey: String
enum CodingKeys: String, CodingKey {
case name = "name"
case platform = "platform"
case deviceSubject = "device_subject"
case algorithm = "algorithm"
case publicKey = "public_key"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
name = try c.decode(String.self, forKey: .name)
platform = try c.decode(String.self, forKey: .platform)
deviceSubject = try c.decode(String.self, forKey: .deviceSubject)
algorithm = try c.decode(String.self, forKey: .algorithm)
publicKey = try c.decode(String.self, forKey: .publicKey)
}
}
public struct EntitledPool: Codable, Equatable {
public let poolId: String
public let name: String
public let assignmentState: String
enum CodingKeys: String, CodingKey {
case poolId = "pool_id"
case name = "name"
case assignmentState = "assignment_state"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
poolId = try c.decode(String.self, forKey: .poolId)
name = try c.decode(String.self, forKey: .name)
assignmentState = try c.decode(String.self, forKey: .assignmentState)
}
}
public struct ErrorEnvelope: Codable, Equatable {
public let status: Bool
public let error: String
public let code: String
public let message: String
public let resolution: String
public let requestId: String
public let violations: [FieldViolation]
enum CodingKeys: String, CodingKey {
case status = "status"
case error = "error"
case code = "code"
case message = "message"
case resolution = "resolution"
case requestId = "request_id"
case violations = "violations"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
status = try c.decode(Bool.self, forKey: .status)
error = try c.decode(String.self, forKey: .error)
code = try c.decode(String.self, forKey: .code)
message = try c.decode(String.self, forKey: .message)
resolution = try c.decode(String.self, forKey: .resolution)
requestId = try c.decode(String.self, forKey: .requestId)
violations = try c.decode([FieldViolation].self, forKey: .violations)
}
}
public struct EventEnvelope: Codable, Equatable {
public let eventId: String
public let sequence: Int64
public let type: String
public let version: Int64
public let resource: ResourceLink
public let occurredAt: String
public let correlationId: String
public let payload: JSONObject
enum CodingKeys: String, CodingKey {
case eventId = "event_id"
case sequence = "sequence"
case type = "type"
case version = "version"
case resource = "resource"
case occurredAt = "occurred_at"
case correlationId = "correlation_id"
case payload = "payload"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
eventId = try c.decode(String.self, forKey: .eventId)
sequence = try c.decode(Int64.self, forKey: .sequence)
type = try c.decode(String.self, forKey: .type)
version = try c.decode(Int64.self, forKey: .version)
resource = try c.decode(ResourceLink.self, forKey: .resource)
occurredAt = try c.decode(String.self, forKey: .occurredAt)
correlationId = try c.decode(String.self, forKey: .correlationId)
payload = try c.decode(JSONObject.self, forKey: .payload)
}
}
public struct EventResume: Codable, Equatable {
public let cursor: String
public let lastSequence: Int64
enum CodingKeys: String, CodingKey {
case cursor = "cursor"
case lastSequence = "last_sequence"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
cursor = try c.decode(String.self, forKey: .cursor)
lastSequence = try c.decode(Int64.self, forKey: .lastSequence)
}
}
public struct FieldViolation: Codable, Equatable {
public let field: String
public let code: String
enum CodingKeys: String, CodingKey {
case field = "field"
case code = "code"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
field = try c.decode(String.self, forKey: .field)
code = try c.decode(String.self, forKey: .code)
}
}
public struct GrantReference: Codable, Equatable {
public let opaqueValue: String
public let expiresAt: String
public let audience: String
enum CodingKeys: String, CodingKey {
case opaqueValue = "opaque_value"
case expiresAt = "expires_at"
case audience = "audience"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
opaqueValue = try c.decode(String.self, forKey: .opaqueValue)
expiresAt = try c.decode(String.self, forKey: .expiresAt)
audience = try c.decode(String.self, forKey: .audience)
}
}
public struct LoginRequest: Codable, Equatable {
public let provider: String?
public let username: String
public let password: String
enum CodingKeys: String, CodingKey {
case provider = "provider"
case username = "username"
case password = "password"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
provider = try c.decodeIfPresent(String.self, forKey: .provider)
username = try c.decode(String.self, forKey: .username)
password = try c.decode(String.self, forKey: .password)
}
}
public struct ManifestBounds: Codable, Equatable {
public let minimumKbps: Int64
public let targetKbps: Int64
public let maximumKbps: Int64
enum CodingKeys: String, CodingKey {
case minimumKbps = "minimum_kbps"
case targetKbps = "target_kbps"
case maximumKbps = "maximum_kbps"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
minimumKbps = try c.decode(Int64.self, forKey: .minimumKbps)
targetKbps = try c.decode(Int64.self, forKey: .targetKbps)
maximumKbps = try c.decode(Int64.self, forKey: .maximumKbps)
}
}
public struct ManifestGateway: Codable, Equatable {
public let id: String
public let addresses: [String]
public let publicIdentity: String
enum CodingKeys: String, CodingKey {
case id = "id"
case addresses = "addresses"
case publicIdentity = "public_identity"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
id = try c.decode(String.self, forKey: .id)
addresses = try c.decode([String].self, forKey: .addresses)
publicIdentity = try c.decode(String.self, forKey: .publicIdentity)
}
}
public struct ManifestProfile: Codable, Equatable {
public let id: String
public let bounds: ManifestBounds
enum CodingKeys: String, CodingKey {
case id = "id"
case bounds = "bounds"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
id = try c.decode(String.self, forKey: .id)
bounds = try c.decode(ManifestBounds.self, forKey: .bounds)
}
}
public struct ManifestTunnel: Codable, Equatable {
public let versions: [String]
public let features: [String]
enum CodingKeys: String, CodingKey {
case versions = "versions"
case features = "features"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
versions = try c.decode([String].self, forKey: .versions)
features = try c.decode([String].self, forKey: .features)
}
}
public struct NativeCredential: Codable, Equatable {
public let deviceId: String?
public let familyId: String
public let accessToken: String
public let refreshToken: String
public let expiresAt: String
public let refreshExpiresAt: String?
enum CodingKeys: String, CodingKey {
case deviceId = "device_id"
case familyId = "family_id"
case accessToken = "access_token"
case refreshToken = "refresh_token"
case expiresAt = "expires_at"
case refreshExpiresAt = "refresh_expires_at"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
deviceId = try c.decodeIfPresent(String.self, forKey: .deviceId)
familyId = try c.decode(String.self, forKey: .familyId)
accessToken = try c.decode(String.self, forKey: .accessToken)
refreshToken = try c.decode(String.self, forKey: .refreshToken)
expiresAt = try c.decode(String.self, forKey: .expiresAt)
refreshExpiresAt = try c.decodeIfPresent(String.self, forKey: .refreshExpiresAt)
}
}
public struct PageInfo: Codable, Equatable {
public let limit: Int64
public let nextCursor: String
enum CodingKeys: String, CodingKey {
case limit = "limit"
case nextCursor = "next_cursor"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
limit = try c.decode(Int64.self, forKey: .limit)
nextCursor = try c.decode(String.self, forKey: .nextCursor)
}
}
public struct ReauthGrant: Codable, Equatable {
public let token: String
public let purpose: String
public let expiresAt: String
enum CodingKeys: String, CodingKey {
case token = "token"
case purpose = "purpose"
case expiresAt = "expires_at"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
token = try c.decode(String.self, forKey: .token)
purpose = try c.decode(String.self, forKey: .purpose)
expiresAt = try c.decode(String.self, forKey: .expiresAt)
}
}
public struct ReauthRequest: Codable, Equatable {
public let password: String
public let purpose: String
enum CodingKeys: String, CodingKey {
case password = "password"
case purpose = "purpose"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
password = try c.decode(String.self, forKey: .password)
purpose = try c.decode(String.self, forKey: .purpose)
}
}
public struct ReconnectRequest: Codable, Equatable {
public let clientDeviceId: String
public let deviceKeyId: String
public let expectedVersion: Int64
enum CodingKeys: String, CodingKey {
case clientDeviceId = "client_device_id"
case deviceKeyId = "device_key_id"
case expectedVersion = "expected_version"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
clientDeviceId = try c.decode(String.self, forKey: .clientDeviceId)
deviceKeyId = try c.decode(String.self, forKey: .deviceKeyId)
expectedVersion = try c.decode(Int64.self, forKey: .expectedVersion)
}
}
public struct RefreshRequest: Codable, Equatable {
public let familyId: String
public let refreshToken: String
enum CodingKeys: String, CodingKey {
case familyId = "family_id"
case refreshToken = "refresh_token"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
familyId = try c.decode(String.self, forKey: .familyId)
refreshToken = try c.decode(String.self, forKey: .refreshToken)
}
}
public struct Resource: Codable, Equatable {
public let id: String
public let kind: String
public let name: String
public let state: String
public let assignmentState: String?
public let version: Int64
public let links: [ResourceLink]
enum CodingKeys: String, CodingKey {
case id = "id"
case kind = "kind"
case name = "name"
case state = "state"
case assignmentState = "assignment_state"
case version = "version"
case links = "links"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
id = try c.decode(String.self, forKey: .id)
kind = try c.decode(String.self, forKey: .kind)
name = try c.decode(String.self, forKey: .name)
state = try c.decode(String.self, forKey: .state)
assignmentState = try c.decodeIfPresent(String.self, forKey: .assignmentState)
version = try c.decode(Int64.self, forKey: .version)
links = try c.decode([ResourceLink].self, forKey: .links)
}
}
public struct ResourceLink: Codable, Equatable {
public let type: String
public let id: String
public let version: Int64
enum CodingKeys: String, CodingKey {
case type = "type"
case id = "id"
case version = "version"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
type = try c.decode(String.self, forKey: .type)
id = try c.decode(String.self, forKey: .id)
version = try c.decode(Int64.self, forKey: .version)
}
}
public struct ResourceList: Codable, Equatable {
public let assignedDesktops: [AssignedDesktop]
public let entitledPools: [EntitledPool]
public let page: PageInfo
enum CodingKeys: String, CodingKey {
case assignedDesktops = "assigned_desktops"
case entitledPools = "entitled_pools"
case page = "page"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
assignedDesktops = try c.decode([AssignedDesktop].self, forKey: .assignedDesktops)
entitledPools = try c.decode([EntitledPool].self, forKey: .entitledPools)
page = try c.decode(PageInfo.self, forKey: .page)
}
}
public struct SessionRequest: Codable, Equatable {
public let clientDeviceId: String
public let deviceKeyId: String
public let poolId: String
public let idempotencyKey: String
public let policySnapshot: AllocationPolicy
enum CodingKeys: String, CodingKey {
case clientDeviceId = "client_device_id"
case deviceKeyId = "device_key_id"
case poolId = "pool_id"
case idempotencyKey = "idempotency_key"
case policySnapshot = "policy_snapshot"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
clientDeviceId = try c.decode(String.self, forKey: .clientDeviceId)
deviceKeyId = try c.decode(String.self, forKey: .deviceKeyId)
poolId = try c.decode(String.self, forKey: .poolId)
idempotencyKey = try c.decode(String.self, forKey: .idempotencyKey)
policySnapshot = try c.decode(AllocationPolicy.self, forKey: .policySnapshot)
}
}
public struct VersionNegotiation: Codable, Equatable {
public let supportedVersions: [String]
public let features: [String]
enum CodingKeys: String, CodingKey {
case supportedVersions = "supported_versions"
case features = "features"
}
public init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
supportedVersions = try c.decode([String].self, forKey: .supportedVersions)
features = try c.decode([String].self, forKey: .features)
}
}