v1alpha1

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const (
	// WorkApplied represents that the resource defined in PropagationWork is
	// successfully applied on the managed cluster.
	WorkApplied string = "Applied"
	// WorkProgressing represents that the resource defined in PropagationWork is
	// in the progress to be applied on the managed cluster.
	WorkProgressing string = "Progressing"
	// WorkAvailable represents that all resources of the PropagationWork exists on
	// the managed cluster.
	WorkAvailable string = "Available"
	// WorkDegraded represents that the current state of PropagationWork does not match
	// the desired state for a certain period.
	WorkDegraded string = "Degraded"
)

Variables

View Source
var (
	// SchemeBuilder initializes a scheme builder
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a global function that registers this API group & version to a scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: propagationstrategy.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AggregatedStatusItem

type AggregatedStatusItem struct {
	// ClusterName represents the member cluster name which the resource deployed on.
	ClusterName string `json:"clusterName"`
	// ResourceStatus represents the status of the resource.
	// +optional
	ResourceStatus ResourceStatus `json:"resourceStatus,omitempty"`
}

AggregatedStatusItem represents status of the resource running in a member cluster.

func (*AggregatedStatusItem) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggregatedStatusItem.

func (*AggregatedStatusItem) DeepCopyInto

func (in *AggregatedStatusItem) DeepCopyInto(out *AggregatedStatusItem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterAffinity

type ClusterAffinity struct {
	// LabelSelector is a filter to select member clusters by labels.
	// If non-nil and non-empty, only the clusters match this filter will be selected.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// FieldSelector is a filter to select member clusters by fields.
	// If non-nil and non-empty, only the clusters match this filter will be selected.
	FieldSelector *FieldSelector `json:"fieldSelector,omitempty"`

	// ClusterNames is the list of clusters to be selected.
	ClusterNames []string `json:"clusterNames,omitempty"`

	// ExcludedClusters is the list of clusters to be ignored.
	ExcludeClusters []string `json:"exclude,omitempty"`
}

ClusterAffinity represents the filter to select clusters.

func (*ClusterAffinity) DeepCopy

func (in *ClusterAffinity) DeepCopy() *ClusterAffinity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAffinity.

func (*ClusterAffinity) DeepCopyInto

func (in *ClusterAffinity) DeepCopyInto(out *ClusterAffinity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentStatus

type DeploymentStatus struct {
	// Total number of non-terminated pods targeted by this deployment (their labels match the selector).
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// Total number of non-terminated pods targeted by this deployment that have the desired template spec.
	// +optional
	UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`

	// Total number of ready pods targeted by this deployment.
	// +optional
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
	// +optional
	AvailableReplicas int32 `json:"availableReplicas,omitempty"`

	// Total number of unavailable pods targeted by this deployment. This is the total number of
	// pods that are still required for the deployment to have 100% available capacity. They may
	// either be pods that are running but not yet available or pods that still have not been created.
	// +optional
	UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"`
}

DeploymentStatus represents a 'Deployment' status.

func (*DeploymentStatus) DeepCopy

func (in *DeploymentStatus) DeepCopy() *DeploymentStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.

func (*DeploymentStatus) DeepCopyInto

func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FieldSelector

type FieldSelector struct {
	// A list of field selector requirements.
	MatchExpressions []corev1.NodeSelectorRequirement `json:"matchExpressions,omitempty"`
}

FieldSelector is a field filter.

func (*FieldSelector) DeepCopy

func (in *FieldSelector) DeepCopy() *FieldSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FieldSelector.

func (*FieldSelector) DeepCopyInto

func (in *FieldSelector) DeepCopyInto(out *FieldSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Manifest

type Manifest struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	runtime.RawExtension `json:",inline"`
}

Manifest represents a resource to be deployed on managed cluster.

func (*Manifest) DeepCopy

func (in *Manifest) DeepCopy() *Manifest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Manifest.

func (*Manifest) DeepCopyInto

func (in *Manifest) DeepCopyInto(out *Manifest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManifestStatus

type ManifestStatus struct {
	// Identifier represents the identity of a resource linking to manifests in spec.
	Identifier ResourceIdentifier `json:"identifier"`

	// Status reflects running status of current manifest.
	// +kubebuilder:pruning:PreserveUnknownFields
	Status runtime.RawExtension `json:",inline"`
}

ManifestStatus contains running status of a specific manifest in spec.

func (*ManifestStatus) DeepCopy

func (in *ManifestStatus) DeepCopy() *ManifestStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManifestStatus.

func (*ManifestStatus) DeepCopyInto

func (in *ManifestStatus) DeepCopyInto(out *ManifestStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectReference

type ObjectReference struct {
	// APIVersion represents the API version of the referent.
	APIVersion string `json:"apiVersion"`

	// Kind represents the Kind of the referent.
	Kind string `json:"kind"`

	// Namespace represents the namespace for the referent.
	// For non-namespace scoped resources(e.g. 'ClusterRole'),do not need specify Namespace,
	// and for namespace scoped resources, Namespace is required.
	// If Namespace is not specified, means the resource is non-namespace scoped.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name represents the name of the referent.
	Name string `json:"name"`

	// ResourceVersion represents the internal version of the referenced object, that can be used by clients to
	// determine when object has changed.
	// +optional
	ResourceVersion string `json:"resourceVersion,omitempty"`
}

ObjectReference contains enough information to locate the referenced object inside current cluster.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverridePolicy

type OverridePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec represents the desired behavior of OverridePolicy.
	Spec OverrideSpec `json:"spec"`
}

OverridePolicy represents the policy that overrides a group of resources to one or more clusters.

func (*OverridePolicy) DeepCopy

func (in *OverridePolicy) DeepCopy() *OverridePolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePolicy.

func (*OverridePolicy) DeepCopyInto

func (in *OverridePolicy) DeepCopyInto(out *OverridePolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OverridePolicy) DeepCopyObject

func (in *OverridePolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OverridePolicyList

type OverridePolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items holds a list of OverridePolicy.
	Items []OverridePolicy `json:"items"`
}

OverridePolicyList is a collection of OverridePolicy.

func (*OverridePolicyList) DeepCopy

func (in *OverridePolicyList) DeepCopy() *OverridePolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverridePolicyList.

func (*OverridePolicyList) DeepCopyInto

func (in *OverridePolicyList) DeepCopyInto(out *OverridePolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OverridePolicyList) DeepCopyObject

func (in *OverridePolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OverrideSpec

type OverrideSpec struct {
	// ResourceSelectors restricts resource types that this override policy applies to.
	ResourceSelectors []ResourceSelector `json:"resourceSelectors,omitempty"`

	// TargetCluster defines restrictions on this override policy
	// that only applies to resources propagated to the matching clusters
	TargetCluster ClusterAffinity `json:"targetCluster,omitempty"`

	// Overriders represents the override rules that would apply on resources
	Overriders Overriders `json:"overriders,omitempty"`
}

OverrideSpec defines the desired behavior of OverridePolicy.

func (*OverrideSpec) DeepCopy

func (in *OverrideSpec) DeepCopy() *OverrideSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideSpec.

func (*OverrideSpec) DeepCopyInto

func (in *OverrideSpec) DeepCopyInto(out *OverrideSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OverriderOperator

type OverriderOperator string

OverriderOperator is the set of operators that can be used in an overrider.

const (
	OverriderOpAdd     OverriderOperator = "Add"
	OverriderOpRemove  OverriderOperator = "Remove"
	OverriderOpReplace OverriderOperator = "Replace"
)

These are valid overrider operators.

type Overriders

type Overriders struct {
	// Plaintext represents override rules defined with plaintext overriders.
	Plaintext []PlaintextOverrider `json:"plaintext,omitempty"`
}

Overriders represents the override rules that would apply on resources

func (*Overriders) DeepCopy

func (in *Overriders) DeepCopy() *Overriders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Overriders.

func (*Overriders) DeepCopyInto

func (in *Overriders) DeepCopyInto(out *Overriders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Placement

type Placement struct {
	// ClusterAffinity represents scheduling restrictions to a certain set of clusters.
	// If not set, any cluster can be scheduling candidate.
	// +optional
	ClusterAffinity *ClusterAffinity `json:"clusterAffinity,omitempty"`

	// ClusterTolerations represents the tolerations.
	ClusterTolerations []corev1.Toleration `json:"clusterTolerations,omitempty"`

	// SpreadConstraints represents a list of the scheduling constraints.
	SpreadConstraints []SpreadConstraint `json:"spreadConstraints,omitempty"`
}

Placement represents the rule for select clusters.

func (*Placement) DeepCopy

func (in *Placement) DeepCopy() *Placement

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Placement.

func (*Placement) DeepCopyInto

func (in *Placement) DeepCopyInto(out *Placement)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlaintextOverrider

type PlaintextOverrider struct {
	// Path indicates the path of target field
	Path string `json:"path"`
	// Operator indicates the operation on target field.
	// Available operators are: Add, Update and Remove.
	Operator OverriderOperator `json:"operator"`
	// Value to be applied to target field.
	// Must be empty when operator is Remove.
	// +optional
	Value runtime.RawExtension `json:",inline"`
}

PlaintextOverrider is a simple overrider that overrides target fields according to path, operator and value.

func (*PlaintextOverrider) DeepCopy

func (in *PlaintextOverrider) DeepCopy() *PlaintextOverrider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlaintextOverrider.

func (*PlaintextOverrider) DeepCopyInto

func (in *PlaintextOverrider) DeepCopyInto(out *PlaintextOverrider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PropagationBinding

type PropagationBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec represents the desired behavior.
	Spec PropagationBindingSpec `json:"spec"`

	// Status represents the most recently observed status of the PropagationBinding.
	// +optional
	Status PropagationBindingStatus `json:"status,omitempty"`
}

PropagationBinding represents a binding of a kubernetes resource with a propagation policy.

func (*PropagationBinding) DeepCopy

func (in *PropagationBinding) DeepCopy() *PropagationBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationBinding.

func (*PropagationBinding) DeepCopyInto

func (in *PropagationBinding) DeepCopyInto(out *PropagationBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationBinding) DeepCopyObject

func (in *PropagationBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationBindingList

type PropagationBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of PropagationBinding.
	Items []PropagationBinding `json:"items"`
}

PropagationBindingList contains a list of PropagationBinding.

func (*PropagationBindingList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationBindingList.

func (*PropagationBindingList) DeepCopyInto

func (in *PropagationBindingList) DeepCopyInto(out *PropagationBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationBindingList) DeepCopyObject

func (in *PropagationBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationBindingSpec

type PropagationBindingSpec struct {
	// Resource represents the Kubernetes resource to be propagated.
	Resource ObjectReference `json:"resource"`
	// Clusters represents target member clusters where the resource to be deployed.
	// +optional
	Clusters []TargetCluster `json:"clusters,omitempty"`
}

PropagationBindingSpec represents the expectation of PropagationBinding.

func (*PropagationBindingSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationBindingSpec.

func (*PropagationBindingSpec) DeepCopyInto

func (in *PropagationBindingSpec) DeepCopyInto(out *PropagationBindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PropagationBindingStatus

type PropagationBindingStatus struct {
	// Conditions contain the different condition statuses.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// AggregatedStatus represents status list of the resource running in each member cluster.
	// +optional
	AggregatedStatus []AggregatedStatusItem `json:"aggregatedStatus,omitempty"`
}

PropagationBindingStatus represents the overall status of the strategy as well as the referenced resources.

func (*PropagationBindingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationBindingStatus.

func (*PropagationBindingStatus) DeepCopyInto

func (in *PropagationBindingStatus) DeepCopyInto(out *PropagationBindingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PropagationPolicy

type PropagationPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec represents the desired behavior of PropagationPolicy.
	Spec PropagationSpec `json:"spec"`
}

PropagationPolicy represents the policy that propagates a group of resources to one or more clusters.

func (*PropagationPolicy) DeepCopy

func (in *PropagationPolicy) DeepCopy() *PropagationPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicy.

func (*PropagationPolicy) DeepCopyInto

func (in *PropagationPolicy) DeepCopyInto(out *PropagationPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationPolicy) DeepCopyObject

func (in *PropagationPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationPolicyList

type PropagationPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PropagationPolicy `json:"items"`
}

PropagationPolicyList contains a list of PropagationPolicy.

func (*PropagationPolicyList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationPolicyList.

func (*PropagationPolicyList) DeepCopyInto

func (in *PropagationPolicyList) DeepCopyInto(out *PropagationPolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationPolicyList) DeepCopyObject

func (in *PropagationPolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationSpec

type PropagationSpec struct {
	// ResourceSelectors used to select resources.
	// nil represents all resources.
	ResourceSelectors []ResourceSelector `json:"resourceSelectors,omitempty"`

	// Association tells if relevant resources should be selected automatically.
	// e.g. a ConfigMap referred by a Deployment.
	// default false.
	// +optional
	Association bool `json:"association,omitempty"`

	// Placement represents the rule for select clusters to propagate resources.
	Placement Placement `json:"placement,omitempty"`

	// SchedulerName represents which scheduler to proceed the scheduling.
	// If specified, the policy will be dispatched by specified scheduler.
	// If not specified, the policy will be dispatched by default scheduler.
	SchedulerName string `json:"schedulerName,omitempty"`
}

PropagationSpec represents the desired behavior of PropagationPolicy.

func (*PropagationSpec) DeepCopy

func (in *PropagationSpec) DeepCopy() *PropagationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationSpec.

func (*PropagationSpec) DeepCopyInto

func (in *PropagationSpec) DeepCopyInto(out *PropagationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PropagationWork

type PropagationWork struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec represents the desired behavior of PropagationWork.
	Spec PropagationWorkSpec `json:"spec"`

	// Status represents the status of PropagationStatus.
	// +optional
	Status PropagationWorkStatus `json:"status,omitempty"`
}

PropagationWork defines a list of resources to be deployed on the member cluster.

func (*PropagationWork) DeepCopy

func (in *PropagationWork) DeepCopy() *PropagationWork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationWork.

func (*PropagationWork) DeepCopyInto

func (in *PropagationWork) DeepCopyInto(out *PropagationWork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationWork) DeepCopyObject

func (in *PropagationWork) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationWorkList

type PropagationWorkList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items holds a list of PropagationWork.
	Items []PropagationWork `json:"items"`
}

PropagationWorkList is a collection of PropagationWork.

func (*PropagationWorkList) DeepCopy

func (in *PropagationWorkList) DeepCopy() *PropagationWorkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationWorkList.

func (*PropagationWorkList) DeepCopyInto

func (in *PropagationWorkList) DeepCopyInto(out *PropagationWorkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PropagationWorkList) DeepCopyObject

func (in *PropagationWorkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PropagationWorkSpec

type PropagationWorkSpec struct {
	// Workload represents the manifest workload to be deployed on managed cluster.
	Workload WorkloadTemplate `json:"workload,omitempty"`
}

PropagationWorkSpec defines the desired state of PropagationWork.

func (*PropagationWorkSpec) DeepCopy

func (in *PropagationWorkSpec) DeepCopy() *PropagationWorkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationWorkSpec.

func (*PropagationWorkSpec) DeepCopyInto

func (in *PropagationWorkSpec) DeepCopyInto(out *PropagationWorkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PropagationWorkStatus

type PropagationWorkStatus struct {
	// Conditions contain the different condition statuses for this work.
	// Valid condition types are:
	// 1. Applied represents workload in PropagationWork is applied successfully on a managed cluster.
	// 2. Progressing represents workload in PropagationWork is being applied on a managed cluster.
	// 3. Available represents workload in PropagationWork exists on the managed cluster.
	// 4. Degraded represents the current state of workload does not match the desired
	// state for a certain period.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ManifestStatuses contains running status of manifests in spec.
	// +optional
	ManifestStatuses []ManifestStatus `json:"manifestStatuses,omitempty"`
}

PropagationWorkStatus defines the observed state of PropagationWork.

func (*PropagationWorkStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationWorkStatus.

func (*PropagationWorkStatus) DeepCopyInto

func (in *PropagationWorkStatus) DeepCopyInto(out *PropagationWorkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceIdentifier

type ResourceIdentifier struct {
	// Ordinal represents an index in manifests list, so the condition can still be linked
	// to a manifest even though manifest cannot be parsed successfully.
	Ordinal int `json:"ordinal"`

	// Group is the group of the resource.
	Group string `json:"group,omitempty"`

	// Version is the version of the resource.
	Version string `json:"version"`

	// Kind is the kind of the resource.
	Kind string `json:"kind"`

	// Resource is the resource type of the resource
	Resource string `json:"resource"`

	// Namespace is the namespace of the resource, the resource is cluster scoped if the value
	// is empty
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the resource
	Name string `json:"name"`
}

ResourceIdentifier provides the identifiers needed to interact with any arbitrary object.

func (*ResourceIdentifier) DeepCopy

func (in *ResourceIdentifier) DeepCopy() *ResourceIdentifier

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceIdentifier.

func (*ResourceIdentifier) DeepCopyInto

func (in *ResourceIdentifier) DeepCopyInto(out *ResourceIdentifier)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceSelector

type ResourceSelector struct {
	// APIVersion represents the API version of the target resources.
	APIVersion string `json:"apiVersion"`

	// Kind represents the Kind of the target resources.
	Kind string `json:"kind"`

	// Namespace of the target resource.
	// Default is empty, which means inherit from the parent object scope.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name of the target resource.
	// Default is empty, which means selecting all resources.
	// +optional
	Name string `json:"name,omitempty"`

	// A label query over a set of resources.
	// If name is not empty, labelSelector will be ignored.
	// +optional
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

ResourceSelector the resources will be selected.

func (*ResourceSelector) DeepCopy

func (in *ResourceSelector) DeepCopy() *ResourceSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSelector.

func (*ResourceSelector) DeepCopyInto

func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceStatus

type ResourceStatus struct {
	// Deployment represents the deployment status in the member cluster,
	// only available when the resource kind is Deployment.
	// +optional
	Deployment *DeploymentStatus `json:"deploymentStatus,omitempty"`
}

ResourceStatus represents status of all supported resource type. Each field owns a specific `Kind`, and only one field will be available(non-nil).

func (*ResourceStatus) DeepCopy

func (in *ResourceStatus) DeepCopy() *ResourceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.

func (*ResourceStatus) DeepCopyInto

func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpreadConstraint

type SpreadConstraint struct {
	// SpreadByField represents the field used for grouping member clusters into units.
	// Resources will be spread among different cluster units.
	// Available field for spreading are: region, zone, cluster and provider.
	// +optional
	SpreadByField string `json:"spreadByField,omitempty"`

	// SpreadByLabel represents the label key used for grouping member clusters into units.
	// Resources will be spread among different cluster units.
	// +optional
	SpreadByLabel string `json:"spreadByLabel,omitempty"`

	// Maximum restricts the maximum number of cluster units to be selected.
	// +optional
	Maximum int `json:"maximum,omitempty"`

	// Minimum restricts the minimum number of cluster units to be selected.
	// +optional
	Minimum int `json:"minimum,omitempty"`
}

SpreadConstraint represents the spread constraints on resources.

func (*SpreadConstraint) DeepCopy

func (in *SpreadConstraint) DeepCopy() *SpreadConstraint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpreadConstraint.

func (*SpreadConstraint) DeepCopyInto

func (in *SpreadConstraint) DeepCopyInto(out *SpreadConstraint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetCluster

type TargetCluster struct {
	// Name of target cluster.
	Name string `json:"name"`
}

TargetCluster represents the identifier of a member cluster.

func (*TargetCluster) DeepCopy

func (in *TargetCluster) DeepCopy() *TargetCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetCluster.

func (*TargetCluster) DeepCopyInto

func (in *TargetCluster) DeepCopyInto(out *TargetCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkloadTemplate

type WorkloadTemplate struct {
	// Manifests represents a list of Kubernetes resources to be deployed on the managed cluster.
	// +optional
	Manifests []Manifest `json:"manifests,omitempty"`
}

WorkloadTemplate represents the manifest workload to be deployed on managed cluster.

func (*WorkloadTemplate) DeepCopy

func (in *WorkloadTemplate) DeepCopy() *WorkloadTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadTemplate.

func (*WorkloadTemplate) DeepCopyInto

func (in *WorkloadTemplate) DeepCopyInto(out *WorkloadTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL