mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-02-20 01:28:45 +01:00
165 lines
5.4 KiB
Go
165 lines
5.4 KiB
Go
package application
|
|
|
|
import (
|
|
"context"
|
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/client-go/rest"
|
|
|
|
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
|
|
appclientset "github.com/argoproj/argo-cd/v3/pkg/client/clientset/versioned"
|
|
argoprojv1alpha1 "github.com/argoproj/argo-cd/v3/pkg/client/clientset/versioned/typed/application/v1alpha1"
|
|
applisters "github.com/argoproj/argo-cd/v3/pkg/client/listers/application/v1alpha1"
|
|
"github.com/argoproj/argo-cd/v3/util"
|
|
|
|
"k8s.io/apimachinery/pkg/labels"
|
|
)
|
|
|
|
// deepCopyApplicationLister wraps an ApplicationLister and returns deep copies of the applications.
|
|
type deepCopyApplicationLister struct {
|
|
applisters.ApplicationLister
|
|
}
|
|
|
|
// List lists all Applications in the indexer and returns deep copies.
|
|
func (d *deepCopyApplicationLister) List(selector labels.Selector) ([]*v1alpha1.Application, error) {
|
|
apps, err := d.ApplicationLister.List(selector)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
deepCopiedApps := util.SliceCopy(apps)
|
|
return deepCopiedApps, nil
|
|
}
|
|
|
|
// Applications return an object that can list and get Applications and returns deep copies.
|
|
func (d *deepCopyApplicationLister) Applications(namespace string) applisters.ApplicationNamespaceLister {
|
|
return &deepCopyApplicationNamespaceLister{
|
|
ApplicationNamespaceLister: d.ApplicationLister.Applications(namespace),
|
|
}
|
|
}
|
|
|
|
// deepCopyApplicationNamespaceLister wraps an ApplicationNamespaceLister and returns deep copies of the applications.
|
|
type deepCopyApplicationNamespaceLister struct {
|
|
applisters.ApplicationNamespaceLister
|
|
}
|
|
|
|
// List lists all Applications in the indexer for a given namespace and returns deep copies.
|
|
func (d *deepCopyApplicationNamespaceLister) List(selector labels.Selector) ([]*v1alpha1.Application, error) {
|
|
apps, err := d.ApplicationNamespaceLister.List(selector)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
deepCopiedApps := util.SliceCopy(apps)
|
|
return deepCopiedApps, nil
|
|
}
|
|
|
|
// Get retrieves the Application from the indexer for a given namespace and name and returns a deep copy.
|
|
func (d *deepCopyApplicationNamespaceLister) Get(name string) (*v1alpha1.Application, error) {
|
|
app, err := d.ApplicationNamespaceLister.Get(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return app.DeepCopy(), nil
|
|
}
|
|
|
|
type deepCopyAppClientset struct {
|
|
appclientset.Interface
|
|
}
|
|
|
|
func (d *deepCopyAppClientset) ArgoprojV1alpha1() argoprojv1alpha1.ArgoprojV1alpha1Interface {
|
|
return &deepCopyArgoprojV1alpha1Client{
|
|
ArgoprojV1alpha1Interface: d.Interface.ArgoprojV1alpha1(),
|
|
}
|
|
}
|
|
|
|
// GetUnderlyingClientSet returns the underlying clientset.Interface.
|
|
// Unit tests should only call this
|
|
func (d *deepCopyAppClientset) GetUnderlyingClientSet() appclientset.Interface {
|
|
return d.Interface
|
|
}
|
|
|
|
type deepCopyArgoprojV1alpha1Client struct {
|
|
argoprojv1alpha1.ArgoprojV1alpha1Interface
|
|
}
|
|
|
|
func (d *deepCopyArgoprojV1alpha1Client) RESTClient() rest.Interface {
|
|
return d.ArgoprojV1alpha1Interface.RESTClient()
|
|
}
|
|
|
|
func (d *deepCopyArgoprojV1alpha1Client) AppProjects(namespace string) argoprojv1alpha1.AppProjectInterface {
|
|
return &deepCopyAppProjectClient{
|
|
AppProjectInterface: d.ArgoprojV1alpha1Interface.AppProjects(namespace),
|
|
}
|
|
}
|
|
|
|
func (d *deepCopyArgoprojV1alpha1Client) ApplicationSets(namespace string) argoprojv1alpha1.ApplicationSetInterface {
|
|
return &deepCopyApplicationSetClient{
|
|
ApplicationSetInterface: d.ArgoprojV1alpha1Interface.ApplicationSets(namespace),
|
|
}
|
|
}
|
|
|
|
func (d *deepCopyArgoprojV1alpha1Client) Applications(namespace string) argoprojv1alpha1.ApplicationInterface {
|
|
return &deepCopyApplicationClient{
|
|
ApplicationInterface: d.ArgoprojV1alpha1Interface.Applications(namespace),
|
|
}
|
|
}
|
|
|
|
type deepCopyApplicationClient struct {
|
|
argoprojv1alpha1.ApplicationInterface
|
|
}
|
|
|
|
func (d *deepCopyApplicationClient) Get(ctx context.Context, name string, options metav1.GetOptions) (*v1alpha1.Application, error) {
|
|
app, err := d.ApplicationInterface.Get(ctx, name, options)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return app.DeepCopy(), nil
|
|
}
|
|
|
|
func (d *deepCopyApplicationClient) List(ctx context.Context, opts metav1.ListOptions) (*v1alpha1.ApplicationList, error) {
|
|
appList, err := d.ApplicationInterface.List(ctx, opts)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return appList.DeepCopy(), nil
|
|
}
|
|
|
|
type deepCopyAppProjectClient struct {
|
|
argoprojv1alpha1.AppProjectInterface
|
|
}
|
|
|
|
func (d *deepCopyAppProjectClient) Get(ctx context.Context, name string, options metav1.GetOptions) (*v1alpha1.AppProject, error) {
|
|
appProject, err := d.AppProjectInterface.Get(ctx, name, options)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return appProject.DeepCopy(), nil
|
|
}
|
|
|
|
func (d *deepCopyAppProjectClient) List(ctx context.Context, opts metav1.ListOptions) (*v1alpha1.AppProjectList, error) {
|
|
appProjectList, err := d.AppProjectInterface.List(ctx, opts)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return appProjectList.DeepCopy(), nil
|
|
}
|
|
|
|
type deepCopyApplicationSetClient struct {
|
|
argoprojv1alpha1.ApplicationSetInterface
|
|
}
|
|
|
|
func (d *deepCopyApplicationSetClient) Get(ctx context.Context, name string, options metav1.GetOptions) (*v1alpha1.ApplicationSet, error) {
|
|
appSet, err := d.ApplicationSetInterface.Get(ctx, name, options)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return appSet.DeepCopy(), nil
|
|
}
|
|
|
|
func (d *deepCopyApplicationSetClient) List(ctx context.Context, opts metav1.ListOptions) (*v1alpha1.ApplicationSetList, error) {
|
|
appSetList, err := d.ApplicationSetInterface.List(ctx, opts)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return appSetList.DeepCopy(), nil
|
|
}
|