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.
51 lines
2.4 KiB
Swift
51 lines
2.4 KiB
Swift
//
|
|
// ArgoMeta.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct ArgoMeta: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** CreationTimestamp is when the source object was created, RFC 3339 to the second. Empty for a synthesized project. */
|
|
public var creationTimestamp: String?
|
|
/** Labels are the labels this projection puts on the row, not the source object's full label set. An application projected from an App CR carries hanzo.ai/instance (its name), hanzo.ai/env (main, test or dev, from the namespace it was read from) and hanzo.ai/org when the CR declares a tenant. A Hanzo CD Application carries the CR's own labels verbatim. A project reflected from IAM carries hanzo.ai/org alone. */
|
|
public var labels: [String: String]?
|
|
/** Name is the projected object's name: the App CR's metadata.name for an application, the CD Application's name for a CD row, and the IAM project name for a project. */
|
|
public var name: String?
|
|
/** Namespace is the namespace the source object was read from — the tenant or platform namespace for an App CR, CD's controller namespace for a CD row. Empty for a project synthesized here, which lives in no namespace. */
|
|
public var namespace: String?
|
|
/** UID is the k8s metadata.uid of the source object, which is what the SPA keys a row on across refreshes. Empty for a synthesized project — there is no object to take one from. */
|
|
public var uid: String?
|
|
|
|
public init(creationTimestamp: String? = nil, labels: [String: String]? = nil, name: String? = nil, namespace: String? = nil, uid: String? = nil) {
|
|
self.creationTimestamp = creationTimestamp
|
|
self.labels = labels
|
|
self.name = name
|
|
self.namespace = namespace
|
|
self.uid = uid
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case creationTimestamp
|
|
case labels
|
|
case name
|
|
case namespace
|
|
case uid
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(creationTimestamp, forKey: .creationTimestamp)
|
|
try container.encodeIfPresent(labels, forKey: .labels)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(namespace, forKey: .namespace)
|
|
try container.encodeIfPresent(uid, forKey: .uid)
|
|
}
|
|
}
|
|
|