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.
88 lines
3.8 KiB
Swift
88 lines
3.8 KiB
Swift
//
|
|
// LicensingRelease.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct LicensingRelease: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** AppID scopes the release to an app build (\"hanzo\" | \"lux\" | \"zoo\"). */
|
|
public var appId: String?
|
|
/** ArtifactRef is where the binary lives (object-store key / OCI ref / path). */
|
|
public var artifactRef: String?
|
|
/** CosignCert is the cosign/Fulcio cert (keyless) or public key ref used to verify CosignSignature. The download response hands this to the client. */
|
|
public var cosignCert: String?
|
|
/** CosignSignature is the base64 cosign signature over the artifact digest. */
|
|
public var cosignSignature: String?
|
|
public var createdAt: Int64?
|
|
/** ID is the release identifier, e.g. \"engine-rocm-0.4.2-linux-amd64\". The accelerator belongs here — one product is built several ways — and never in Product below. */
|
|
public var id: String?
|
|
/** MinFeatures, when set, are features the license must include to download. */
|
|
public var minFeatures: [String]?
|
|
/** Platform is \"<os>/<arch>\", e.g. \"linux/amd64\". */
|
|
public var platform: String?
|
|
/** Product is the licensed product this artifact belongs to (commerce SKU): \"engine\" for every one of those builds. */
|
|
public var product: String?
|
|
/** SHA256 is the hex digest of the artifact (integrity + cosign subject). */
|
|
public var sha256: String?
|
|
/** Version is the semantic version of the binary. */
|
|
public var version: String?
|
|
/** Yanked marks a pulled release (download refused; tokens may be revoked release-scoped too). */
|
|
public var yanked: Bool?
|
|
|
|
public init(appId: String? = nil, artifactRef: String? = nil, cosignCert: String? = nil, cosignSignature: String? = nil, createdAt: Int64? = nil, id: String? = nil, minFeatures: [String]? = nil, platform: String? = nil, product: String? = nil, sha256: String? = nil, version: String? = nil, yanked: Bool? = nil) {
|
|
self.appId = appId
|
|
self.artifactRef = artifactRef
|
|
self.cosignCert = cosignCert
|
|
self.cosignSignature = cosignSignature
|
|
self.createdAt = createdAt
|
|
self.id = id
|
|
self.minFeatures = minFeatures
|
|
self.platform = platform
|
|
self.product = product
|
|
self.sha256 = sha256
|
|
self.version = version
|
|
self.yanked = yanked
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case appId = "app_id"
|
|
case artifactRef = "artifact_ref"
|
|
case cosignCert = "cosign_cert"
|
|
case cosignSignature = "cosign_signature"
|
|
case createdAt = "created_at"
|
|
case id
|
|
case minFeatures = "min_features"
|
|
case platform
|
|
case product
|
|
case sha256
|
|
case version
|
|
case yanked
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(appId, forKey: .appId)
|
|
try container.encodeIfPresent(artifactRef, forKey: .artifactRef)
|
|
try container.encodeIfPresent(cosignCert, forKey: .cosignCert)
|
|
try container.encodeIfPresent(cosignSignature, forKey: .cosignSignature)
|
|
try container.encodeIfPresent(createdAt, forKey: .createdAt)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(minFeatures, forKey: .minFeatures)
|
|
try container.encodeIfPresent(platform, forKey: .platform)
|
|
try container.encodeIfPresent(product, forKey: .product)
|
|
try container.encodeIfPresent(sha256, forKey: .sha256)
|
|
try container.encodeIfPresent(version, forKey: .version)
|
|
try container.encodeIfPresent(yanked, forKey: .yanked)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension LicensingRelease: Identifiable {}
|