mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The forge tree held the package scaffolding and none of the generated sources — 2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply absent, so anything depending on this copy had a package that compiled to nothing usable. Generated from the current API document rather than reconciled with the other copy: a client is a function of the spec, so regenerating answers "which history wins" without anyone having to choose. .spec-lock records which document, so the next reader can tell.
90 lines
4.1 KiB
Swift
90 lines
4.1 KiB
Swift
//
|
|
// CDApp.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct CDApp: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Automated is whether CD applies git without being asked. It is cd.automated in the values file, rendered by the ApplicationSet's templatePatch — false means the Application reports drift and nothing moves. */
|
|
public var automated: Bool?
|
|
/** Health is the workload's verdict: Healthy, Progressing, Degraded, Missing. */
|
|
public var health: String?
|
|
/** Message is why, when Health is not Healthy. */
|
|
public var message: String?
|
|
/** Name is the Application name the generator mints: <namespace>-<app>. It is the join key against a Declaration. */
|
|
public var name: String?
|
|
/** Namespace is the DESTINATION namespace as the CR declares it — where the workload lands. For a fleet Application that is the org, but this is the OBSERVED field and not our model of it: the two can disagree, and a board whose whole job is drift must be able to show that they do. */
|
|
public var namespace: String?
|
|
public var operationMessage: String?
|
|
/** Path is the values file CD renders against, relative to the chart source. */
|
|
public var path: String?
|
|
/** Phase is the last sync operation's phase (Running, Succeeded, Failed) and OperationMessage is its message. A Failed phase with a Synced verdict is the shape a stuck Application takes. */
|
|
public var phase: String?
|
|
/** Project is the AppProject fence the sync is admitted under. */
|
|
public var project: String?
|
|
/** ReconciledAt is when CD last compared this Application. */
|
|
public var reconciledAt: String?
|
|
/** Revision is the universe commit CD last applied. Empty means it has not applied one — never assume it means main. */
|
|
public var revision: String?
|
|
/** SelfHeal is whether CD also corrects drift the cluster introduced. */
|
|
public var selfHeal: Bool?
|
|
/** Sync is CD's verdict on git-versus-cluster: Synced, OutOfSync, or Unknown. */
|
|
public var sync: String?
|
|
|
|
public init(automated: Bool? = nil, health: String? = nil, message: String? = nil, name: String? = nil, namespace: String? = nil, operationMessage: String? = nil, path: String? = nil, phase: String? = nil, project: String? = nil, reconciledAt: String? = nil, revision: String? = nil, selfHeal: Bool? = nil, sync: String? = nil) {
|
|
self.automated = automated
|
|
self.health = health
|
|
self.message = message
|
|
self.name = name
|
|
self.namespace = namespace
|
|
self.operationMessage = operationMessage
|
|
self.path = path
|
|
self.phase = phase
|
|
self.project = project
|
|
self.reconciledAt = reconciledAt
|
|
self.revision = revision
|
|
self.selfHeal = selfHeal
|
|
self.sync = sync
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case automated
|
|
case health
|
|
case message
|
|
case name
|
|
case namespace
|
|
case operationMessage
|
|
case path
|
|
case phase
|
|
case project
|
|
case reconciledAt
|
|
case revision
|
|
case selfHeal
|
|
case sync
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(automated, forKey: .automated)
|
|
try container.encodeIfPresent(health, forKey: .health)
|
|
try container.encodeIfPresent(message, forKey: .message)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(namespace, forKey: .namespace)
|
|
try container.encodeIfPresent(operationMessage, forKey: .operationMessage)
|
|
try container.encodeIfPresent(path, forKey: .path)
|
|
try container.encodeIfPresent(phase, forKey: .phase)
|
|
try container.encodeIfPresent(project, forKey: .project)
|
|
try container.encodeIfPresent(reconciledAt, forKey: .reconciledAt)
|
|
try container.encodeIfPresent(revision, forKey: .revision)
|
|
try container.encodeIfPresent(selfHeal, forKey: .selfHeal)
|
|
try container.encodeIfPresent(sync, forKey: .sync)
|
|
}
|
|
}
|
|
|