mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The projection these were generated from predated the compute migration, so they described /v1/visor — which the API serves at zero paths now. No /v1/visor path survives here.
85 lines
3.5 KiB
Swift
85 lines
3.5 KiB
Swift
//
|
|
// Declaration.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct Declaration: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Application is the CD Application name the generator mints: <org>-<name>. It is the join key against /v1/platform/cd. */
|
|
public var application: String?
|
|
/** Automated is cd.automated: false means the Application reports drift and NOTHING moves. It is off by default for a new file on purpose. */
|
|
public var automated: Bool?
|
|
/** image.digest — wins over tag */
|
|
public var digest: String?
|
|
/** Env is the declared container environment, as the chart's list of {name,value}. It is read back so a re-declare of an identical body is a no-op rather than a refusal — idempotency is what makes a retry safe. */
|
|
public var env: [DeclareEnv]?
|
|
/** ingress.hosts, both shapes flattened */
|
|
public var hosts: [String]?
|
|
/** the Helm release name — the file's basename */
|
|
public var name: String?
|
|
/** Org is the owner. It is ALSO the values directory and the destination namespace, because those are one value under one name — see the header. */
|
|
public var org: String?
|
|
/** Path is the file, relative to the repository root. */
|
|
public var path: String?
|
|
/** Project is the AppProject the sync is admitted under, derived from the directory exactly as the ApplicationSet derives it. It differs from Org for a reserved directory, which syncs under the platform fence. */
|
|
public var project: String?
|
|
public var replicas: Int64?
|
|
/** image.repository */
|
|
public var repository: String?
|
|
/** image.tag */
|
|
public var tag: String?
|
|
|
|
public init(application: String? = nil, automated: Bool? = nil, digest: String? = nil, env: [DeclareEnv]? = nil, hosts: [String]? = nil, name: String? = nil, org: String? = nil, path: String? = nil, project: String? = nil, replicas: Int64? = nil, repository: String? = nil, tag: String? = nil) {
|
|
self.application = application
|
|
self.automated = automated
|
|
self.digest = digest
|
|
self.env = env
|
|
self.hosts = hosts
|
|
self.name = name
|
|
self.org = org
|
|
self.path = path
|
|
self.project = project
|
|
self.replicas = replicas
|
|
self.repository = repository
|
|
self.tag = tag
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case application
|
|
case automated
|
|
case digest
|
|
case env
|
|
case hosts
|
|
case name
|
|
case org
|
|
case path
|
|
case project
|
|
case replicas
|
|
case repository
|
|
case tag
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(application, forKey: .application)
|
|
try container.encodeIfPresent(automated, forKey: .automated)
|
|
try container.encodeIfPresent(digest, forKey: .digest)
|
|
try container.encodeIfPresent(env, forKey: .env)
|
|
try container.encodeIfPresent(hosts, forKey: .hosts)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(org, forKey: .org)
|
|
try container.encodeIfPresent(path, forKey: .path)
|
|
try container.encodeIfPresent(project, forKey: .project)
|
|
try container.encodeIfPresent(replicas, forKey: .replicas)
|
|
try container.encodeIfPresent(repository, forKey: .repository)
|
|
try container.encodeIfPresent(tag, forKey: .tag)
|
|
}
|
|
}
|
|
|