karmada/test/helper/propagationpolicy.go

33 lines
898 B
Go

package helper
import (
appsv1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
propagationapi "github.com/karmada-io/karmada/pkg/apis/policy/v1alpha1"
)
// NewPolicyWithSingleDeployment will build a PropagationPolicy object.
func NewPolicyWithSingleDeployment(namespace string, name string, deployment *appsv1.Deployment, clusters []string) *propagationapi.PropagationPolicy {
return &propagationapi.PropagationPolicy{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Name: name,
},
Spec: propagationapi.PropagationSpec{
ResourceSelectors: []propagationapi.ResourceSelector{
{
APIVersion: deployment.APIVersion,
Kind: deployment.Kind,
Name: deployment.Name,
},
},
Placement: propagationapi.Placement{
ClusterAffinity: &propagationapi.ClusterAffinity{
ClusterNames: clusters,
},
},
},
}
}