Promoted API VolumeAttributesClass and VolumeAttributesClassList to storage.k8s.io/v1.

Promoted feature-gate `VolumeAttributesClass` to GA (on by default)

Signed-off-by: carlory <baofa.fan@daocloud.io>

Kubernetes-commit: 94bf8fc8a9d1d6c989eddad07996be0ca4dd3448
This commit is contained in:
carlory
2025-04-30 17:35:21 +08:00
committed by Kubernetes Publisher
parent d4f2d5b8cc
commit 93aeba057d
13 changed files with 606 additions and 0 deletions

View File

@@ -48,6 +48,10 @@ func (c *FakeStorageV1) VolumeAttachments() v1.VolumeAttachmentInterface {
return newFakeVolumeAttachments(c)
}
func (c *FakeStorageV1) VolumeAttributesClasses() v1.VolumeAttributesClassInterface {
return newFakeVolumeAttributesClasses(c)
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeStorageV1) RESTClient() rest.Interface {

View File

@@ -0,0 +1,53 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v1 "k8s.io/api/storage/v1"
storagev1 "k8s.io/client-go/applyconfigurations/storage/v1"
gentype "k8s.io/client-go/gentype"
typedstoragev1 "k8s.io/client-go/kubernetes/typed/storage/v1"
)
// fakeVolumeAttributesClasses implements VolumeAttributesClassInterface
type fakeVolumeAttributesClasses struct {
*gentype.FakeClientWithListAndApply[*v1.VolumeAttributesClass, *v1.VolumeAttributesClassList, *storagev1.VolumeAttributesClassApplyConfiguration]
Fake *FakeStorageV1
}
func newFakeVolumeAttributesClasses(fake *FakeStorageV1) typedstoragev1.VolumeAttributesClassInterface {
return &fakeVolumeAttributesClasses{
gentype.NewFakeClientWithListAndApply[*v1.VolumeAttributesClass, *v1.VolumeAttributesClassList, *storagev1.VolumeAttributesClassApplyConfiguration](
fake.Fake,
"",
v1.SchemeGroupVersion.WithResource("volumeattributesclasses"),
v1.SchemeGroupVersion.WithKind("VolumeAttributesClass"),
func() *v1.VolumeAttributesClass { return &v1.VolumeAttributesClass{} },
func() *v1.VolumeAttributesClassList { return &v1.VolumeAttributesClassList{} },
func(dst, src *v1.VolumeAttributesClassList) { dst.ListMeta = src.ListMeta },
func(list *v1.VolumeAttributesClassList) []*v1.VolumeAttributesClass {
return gentype.ToPointerSlice(list.Items)
},
func(list *v1.VolumeAttributesClassList, items []*v1.VolumeAttributesClass) {
list.Items = gentype.FromPointerSlice(items)
},
),
fake,
}
}

View File

@@ -27,3 +27,5 @@ type CSIStorageCapacityExpansion interface{}
type StorageClassExpansion interface{}
type VolumeAttachmentExpansion interface{}
type VolumeAttributesClassExpansion interface{}

View File

@@ -33,6 +33,7 @@ type StorageV1Interface interface {
CSIStorageCapacitiesGetter
StorageClassesGetter
VolumeAttachmentsGetter
VolumeAttributesClassesGetter
}
// StorageV1Client is used to interact with features provided by the storage.k8s.io group.
@@ -60,6 +61,10 @@ func (c *StorageV1Client) VolumeAttachments() VolumeAttachmentInterface {
return newVolumeAttachments(c)
}
func (c *StorageV1Client) VolumeAttributesClasses() VolumeAttributesClassInterface {
return newVolumeAttributesClasses(c)
}
// NewForConfig creates a new StorageV1Client for the given config.
// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient),
// where httpClient was generated with rest.HTTPClientFor(c).

View File

@@ -0,0 +1,71 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v1
import (
context "context"
storagev1 "k8s.io/api/storage/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
applyconfigurationsstoragev1 "k8s.io/client-go/applyconfigurations/storage/v1"
gentype "k8s.io/client-go/gentype"
scheme "k8s.io/client-go/kubernetes/scheme"
)
// VolumeAttributesClassesGetter has a method to return a VolumeAttributesClassInterface.
// A group's client should implement this interface.
type VolumeAttributesClassesGetter interface {
VolumeAttributesClasses() VolumeAttributesClassInterface
}
// VolumeAttributesClassInterface has methods to work with VolumeAttributesClass resources.
type VolumeAttributesClassInterface interface {
Create(ctx context.Context, volumeAttributesClass *storagev1.VolumeAttributesClass, opts metav1.CreateOptions) (*storagev1.VolumeAttributesClass, error)
Update(ctx context.Context, volumeAttributesClass *storagev1.VolumeAttributesClass, opts metav1.UpdateOptions) (*storagev1.VolumeAttributesClass, error)
Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error
DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error
Get(ctx context.Context, name string, opts metav1.GetOptions) (*storagev1.VolumeAttributesClass, error)
List(ctx context.Context, opts metav1.ListOptions) (*storagev1.VolumeAttributesClassList, error)
Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error)
Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *storagev1.VolumeAttributesClass, err error)
Apply(ctx context.Context, volumeAttributesClass *applyconfigurationsstoragev1.VolumeAttributesClassApplyConfiguration, opts metav1.ApplyOptions) (result *storagev1.VolumeAttributesClass, err error)
VolumeAttributesClassExpansion
}
// volumeAttributesClasses implements VolumeAttributesClassInterface
type volumeAttributesClasses struct {
*gentype.ClientWithListAndApply[*storagev1.VolumeAttributesClass, *storagev1.VolumeAttributesClassList, *applyconfigurationsstoragev1.VolumeAttributesClassApplyConfiguration]
}
// newVolumeAttributesClasses returns a VolumeAttributesClasses
func newVolumeAttributesClasses(c *StorageV1Client) *volumeAttributesClasses {
return &volumeAttributesClasses{
gentype.NewClientWithListAndApply[*storagev1.VolumeAttributesClass, *storagev1.VolumeAttributesClassList, *applyconfigurationsstoragev1.VolumeAttributesClassApplyConfiguration](
"volumeattributesclasses",
c.RESTClient(),
scheme.ParameterCodec,
"",
func() *storagev1.VolumeAttributesClass { return &storagev1.VolumeAttributesClass{} },
func() *storagev1.VolumeAttributesClassList { return &storagev1.VolumeAttributesClassList{} },
gentype.PrefersProtobuf[*storagev1.VolumeAttributesClass](),
),
}
}