Skip to content

Commit ed03e02

Browse files
committed
Update model to v0.19.0 and Kubernetes 1.34.6
1 parent e30bd03 commit ed03e02

6 files changed

Lines changed: 77 additions & 27 deletions

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ let package = Package(
2424
.package(url: "https://github.com/apple/swift-metrics.git", .upToNextMajor(from: "2.5.1")),
2525
.package(url: "https://github.com/apple/swift-nio", .upToNextMajor(from: "2.80.0")),
2626
.package(url: "https://github.com/jpsim/Yams.git", .upToNextMajor(from: "5.1.3")),
27-
.package(url: "https://github.com/swiftkube/model.git", .upToNextMinor(from: "0.18.0")),
2827
.package(url: "https://github.com/swift-server/async-http-client.git", .upToNextMajor(from: "1.24.2")),
28+
.package(url: "https://github.com/swiftkube/model.git", .upToNextMinor(from: "0.19.0")),
2929
],
3030
targets: [
3131
.target(

Sources/SwiftkubeClient/API Groups/KubernetesClient+admissionregistration.v1beta1.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import SwiftkubeModel
2121

2222
public protocol AdmissionRegistrationV1Beta1API: Sendable {
2323

24-
var validatingAdmissionPolicies: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.ValidatingAdmissionPolicy> { get }
25-
var validatingAdmissionPolicyBindings: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.ValidatingAdmissionPolicyBinding> { get }
24+
var mutatingAdmissionPolicies: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.MutatingAdmissionPolicy> { get }
25+
var mutatingAdmissionPolicyBindings: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.MutatingAdmissionPolicyBinding> { get }
2626
}
2727

2828
/// DSL for `admissionregistration.k8s.io.v1beta1` API Group
@@ -35,12 +35,12 @@ public extension KubernetesClient {
3535
self.client = client
3636
}
3737

38-
public var validatingAdmissionPolicies: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.ValidatingAdmissionPolicy> {
39-
client.clusterScoped(for: admissionregistration.v1beta1.ValidatingAdmissionPolicy.self)
38+
public var mutatingAdmissionPolicies: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.MutatingAdmissionPolicy> {
39+
client.clusterScoped(for: admissionregistration.v1beta1.MutatingAdmissionPolicy.self)
4040
}
4141

42-
public var validatingAdmissionPolicyBindings: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.ValidatingAdmissionPolicyBinding> {
43-
client.clusterScoped(for: admissionregistration.v1beta1.ValidatingAdmissionPolicyBinding.self)
42+
public var mutatingAdmissionPolicyBindings: ClusterScopedGenericKubernetesClient<admissionregistration.v1beta1.MutatingAdmissionPolicyBinding> {
43+
client.clusterScoped(for: admissionregistration.v1beta1.MutatingAdmissionPolicyBinding.self)
4444
}
4545
}
4646

Sources/SwiftkubeClient/API Groups/KubernetesClient+certificates.v1alpha1.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import SwiftkubeModel
2222
public protocol CertificatesV1Alpha1API: Sendable {
2323

2424
var clusterTrustBundles: ClusterScopedGenericKubernetesClient<certificates.v1alpha1.ClusterTrustBundle> { get }
25+
var podCertificateRequests: NamespacedGenericKubernetesClient<certificates.v1alpha1.PodCertificateRequest> { get }
2526
}
2627

2728
/// DSL for `certificates.k8s.io.v1alpha1` API Group
@@ -37,6 +38,10 @@ public extension KubernetesClient {
3738
public var clusterTrustBundles: ClusterScopedGenericKubernetesClient<certificates.v1alpha1.ClusterTrustBundle> {
3839
client.clusterScoped(for: certificates.v1alpha1.ClusterTrustBundle.self)
3940
}
41+
42+
public var podCertificateRequests: NamespacedGenericKubernetesClient<certificates.v1alpha1.PodCertificateRequest> {
43+
client.namespaceScoped(for: certificates.v1alpha1.PodCertificateRequest.self)
44+
}
4045
}
4146

4247
var certificatesV1Alpha1: CertificatesV1Alpha1API {
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
//
2+
// Copyright 2025 Swiftkube Project
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
//
8+
// http://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
// Unless required by applicable law or agreed to in writing, software
11+
// distributed under the License is distributed on an "AS IS" BASIS,
12+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// See the License for the specific language governing permissions and
14+
// limitations under the License.
15+
//
16+
17+
import Foundation
18+
import SwiftkubeModel
19+
20+
// MARK: - ResourceV1API
21+
22+
public protocol ResourceV1API: Sendable {
23+
24+
var deviceClasses: ClusterScopedGenericKubernetesClient<resource.v1.DeviceClass> { get }
25+
var resourceClaims: NamespacedGenericKubernetesClient<resource.v1.ResourceClaim> { get }
26+
var resourceClaimTemplates: NamespacedGenericKubernetesClient<resource.v1.ResourceClaimTemplate> { get }
27+
var resourceSlices: ClusterScopedGenericKubernetesClient<resource.v1.ResourceSlice> { get }
28+
}
29+
30+
/// DSL for `resource.k8s.io.v1` API Group
31+
public extension KubernetesClient {
32+
33+
final class ResourceV1: ResourceV1API {
34+
private let client: KubernetesClient
35+
36+
internal init(_ client: KubernetesClient) {
37+
self.client = client
38+
}
39+
40+
public var deviceClasses: ClusterScopedGenericKubernetesClient<resource.v1.DeviceClass> {
41+
client.clusterScoped(for: resource.v1.DeviceClass.self)
42+
}
43+
44+
public var resourceClaims: NamespacedGenericKubernetesClient<resource.v1.ResourceClaim> {
45+
client.namespaceScoped(for: resource.v1.ResourceClaim.self)
46+
}
47+
48+
public var resourceClaimTemplates: NamespacedGenericKubernetesClient<resource.v1.ResourceClaimTemplate> {
49+
client.namespaceScoped(for: resource.v1.ResourceClaimTemplate.self)
50+
}
51+
52+
public var resourceSlices: ClusterScopedGenericKubernetesClient<resource.v1.ResourceSlice> {
53+
client.clusterScoped(for: resource.v1.ResourceSlice.self)
54+
}
55+
}
56+
57+
var resourceV1: ResourceV1API {
58+
ResourceV1(self)
59+
}
60+
}

Sources/SwiftkubeClient/API Groups/KubernetesClient+resource.v1alpha3.swift

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@ import SwiftkubeModel
2121

2222
public protocol ResourceV1Alpha3API: Sendable {
2323

24-
var deviceClasses: ClusterScopedGenericKubernetesClient<resource.v1alpha3.DeviceClass> { get }
2524
var deviceTaintRules: ClusterScopedGenericKubernetesClient<resource.v1alpha3.DeviceTaintRule> { get }
26-
var resourceClaims: NamespacedGenericKubernetesClient<resource.v1alpha3.ResourceClaim> { get }
27-
var resourceClaimTemplates: NamespacedGenericKubernetesClient<resource.v1alpha3.ResourceClaimTemplate> { get }
28-
var resourceSlices: ClusterScopedGenericKubernetesClient<resource.v1alpha3.ResourceSlice> { get }
2925
}
3026

3127
/// DSL for `resource.k8s.io.v1alpha3` API Group
@@ -38,25 +34,9 @@ public extension KubernetesClient {
3834
self.client = client
3935
}
4036

41-
public var deviceClasses: ClusterScopedGenericKubernetesClient<resource.v1alpha3.DeviceClass> {
42-
client.clusterScoped(for: resource.v1alpha3.DeviceClass.self)
43-
}
44-
4537
public var deviceTaintRules: ClusterScopedGenericKubernetesClient<resource.v1alpha3.DeviceTaintRule> {
4638
client.clusterScoped(for: resource.v1alpha3.DeviceTaintRule.self)
4739
}
48-
49-
public var resourceClaims: NamespacedGenericKubernetesClient<resource.v1alpha3.ResourceClaim> {
50-
client.namespaceScoped(for: resource.v1alpha3.ResourceClaim.self)
51-
}
52-
53-
public var resourceClaimTemplates: NamespacedGenericKubernetesClient<resource.v1alpha3.ResourceClaimTemplate> {
54-
client.namespaceScoped(for: resource.v1alpha3.ResourceClaimTemplate.self)
55-
}
56-
57-
public var resourceSlices: ClusterScopedGenericKubernetesClient<resource.v1alpha3.ResourceSlice> {
58-
client.clusterScoped(for: resource.v1alpha3.ResourceSlice.self)
59-
}
6040
}
6141

6242
var resourceV1Alpha3: ResourceV1Alpha3API {

Sources/SwiftkubeClient/API Groups/KubernetesClient+storage.v1.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public protocol StorageV1API: Sendable {
2626
var csiStorageCapacities: NamespacedGenericKubernetesClient<storage.v1.CSIStorageCapacity> { get }
2727
var storageClasses: ClusterScopedGenericKubernetesClient<storage.v1.StorageClass> { get }
2828
var volumeAttachments: ClusterScopedGenericKubernetesClient<storage.v1.VolumeAttachment> { get }
29+
var volumeAttributesClasses: ClusterScopedGenericKubernetesClient<storage.v1.VolumeAttributesClass> { get }
2930
}
3031

3132
/// DSL for `storage.k8s.io.v1` API Group
@@ -57,6 +58,10 @@ public extension KubernetesClient {
5758
public var volumeAttachments: ClusterScopedGenericKubernetesClient<storage.v1.VolumeAttachment> {
5859
client.clusterScoped(for: storage.v1.VolumeAttachment.self)
5960
}
61+
62+
public var volumeAttributesClasses: ClusterScopedGenericKubernetesClient<storage.v1.VolumeAttributesClass> {
63+
client.clusterScoped(for: storage.v1.VolumeAttributesClass.self)
64+
}
6065
}
6166

6267
var storageV1: StorageV1API {

0 commit comments

Comments
 (0)