Open
Description
example code
package main
import (
"context"
"fmt"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/dynamic/fake"
)
var d1 = &v1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: "nginx-deployment",
Namespace: "default",
},
Spec: v1.DeploymentSpec{},
}
var d2 = &v1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: "nginx2-deployment",
Namespace: "default",
},
Spec: v1.DeploymentSpec{},
}
func main() {
var f5scheme = runtime.NewScheme()
f5scheme.AddKnownTypes(v1.SchemeGroupVersion,
&v1.Deployment{},
&v1.DeploymentList{},
)
dynamicClient := fake.NewSimpleDynamicClient(f5scheme, d1, d2)
DeploymentList, _ := dynamicClient.Resource(schema.GroupVersionResource{Group: "apps", Version: "v1", Resource: "deployments"}).
Namespace("default").List(context.TODO(), metav1.ListOptions{
FieldSelector: "metadata.name=nginx-deployment",
})
for _, d := range DeploymentList.Items {
fmt.Println(d.GetName())
}
}
output
nginx-deployment
nginx2-deployment
Metadata
Assignees
Labels
No labels