v1beta1

package
v1.2.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2021 License: Apache-2.0 Imports: 12 Imported by: 11

Documentation

Overview

Package v1beta1 contains resources relating to the Open Application Model. See https://github.com/oam-dev/spec for more details. +kubebuilder:object:generate=true +groupName=core.oam.dev +versionName=v1beta1

Index

Constants

View Source
const (
	ReasonHealthy        condition.ConditionReason = "AllComponentsHealthy"
	ReasonUnhealthy      condition.ConditionReason = "UnhealthyOrUnknownComponents"
	ReasonHealthCheckErr condition.ConditionReason = "HealthCheckeError"
)

Reasons an application is or is not healthy

View Source
const (
	Group   = "core.oam.dev"
	Version = "v1beta1"
)

Package type metadata.

View Source
const (
	// TypeHealthy application are believed to be determined as healthy by a health scope.
	TypeHealthy condition.ConditionType = "Healthy"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme is a global function that registers this API group & version to a scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	ComponentDefinitionKind             = reflect.TypeOf(ComponentDefinition{}).Name()
	ComponentDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: ComponentDefinitionKind}.String()
	ComponentDefinitionKindAPIVersion   = ComponentDefinitionKind + "." + SchemeGroupVersion.String()
	ComponentDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(ComponentDefinitionKind)
)

ComponentDefinition type metadata.

View Source
var (
	WorkloadDefinitionKind             = reflect.TypeOf(WorkloadDefinition{}).Name()
	WorkloadDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: WorkloadDefinitionKind}.String()
	WorkloadDefinitionKindAPIVersion   = WorkloadDefinitionKind + "." + SchemeGroupVersion.String()
	WorkloadDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(WorkloadDefinitionKind)
)

WorkloadDefinition type metadata.

View Source
var (
	TraitDefinitionKind             = reflect.TypeOf(TraitDefinition{}).Name()
	TraitDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: TraitDefinitionKind}.String()
	TraitDefinitionKindAPIVersion   = TraitDefinitionKind + "." + SchemeGroupVersion.String()
	TraitDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(TraitDefinitionKind)
)

TraitDefinition type metadata.

View Source
var (
	PolicyDefinitionKind             = reflect.TypeOf(PolicyDefinition{}).Name()
	PolicyDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: PolicyDefinitionKind}.String()
	PolicyDefinitionKindAPIVersion   = PolicyDefinitionKind + "." + SchemeGroupVersion.String()
	PolicyDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(PolicyDefinitionKind)
)

PolicyDefinition type metadata.

View Source
var (
	WorkflowStepDefinitionKind             = reflect.TypeOf(WorkflowStepDefinition{}).Name()
	WorkflowStepDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: WorkflowStepDefinitionKind}.String()
	WorkflowStepDefinitionKindAPIVersion   = WorkflowStepDefinitionKind + "." + SchemeGroupVersion.String()
	WorkflowStepDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(WorkflowStepDefinitionKind)
)

WorkflowStepDefinition type metadata.

View Source
var (
	DefinitionRevisionKind             = reflect.TypeOf(DefinitionRevision{}).Name()
	DefinitionRevisionGroupKind        = schema.GroupKind{Group: Group, Kind: DefinitionRevisionKind}.String()
	DefinitionRevisionKindAPIVersion   = DefinitionRevisionKind + "." + SchemeGroupVersion.String()
	DefinitionRevisionGroupVersionKind = SchemeGroupVersion.WithKind(DefinitionRevisionKind)
)

DefinitionRevision type metadata.

View Source
var (
	ApplicationKind            = reflect.TypeOf(Application{}).Name()
	ApplicationGroupKind       = schema.GroupKind{Group: Group, Kind: ApplicationKind}.String()
	ApplicationKindAPIVersion  = ApplicationKind + "." + SchemeGroupVersion.String()
	ApplicationKindVersionKind = SchemeGroupVersion.WithKind(ApplicationKind)
)

Application type metadata.

View Source
var (
	AppRolloutKind            = reflect.TypeOf(AppRollout{}).Name()
	AppRolloutGroupKind       = schema.GroupKind{Group: Group, Kind: AppRolloutKind}.String()
	AppRolloutKindAPIVersion  = ApplicationKind + "." + SchemeGroupVersion.String()
	AppRolloutKindVersionKind = SchemeGroupVersion.WithKind(AppRolloutKind)
)

AppRollout type metadata.

View Source
var (
	ApplicationRevisionKind             = reflect.TypeOf(ApplicationRevision{}).Name()
	ApplicationRevisionGroupKind        = schema.GroupKind{Group: Group, Kind: ApplicationRevisionKind}.String()
	ApplicationRevisionKindAPIVersion   = ApplicationRevisionKind + "." + SchemeGroupVersion.String()
	ApplicationRevisionGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationRevisionKind)
)

ApplicationRevision type metadata

View Source
var (
	ScopeDefinitionKind             = reflect.TypeOf(ScopeDefinition{}).Name()
	ScopeDefinitionGroupKind        = schema.GroupKind{Group: Group, Kind: ScopeDefinitionKind}.String()
	ScopeDefinitionKindAPIVersion   = ScopeDefinitionKind + "." + SchemeGroupVersion.String()
	ScopeDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(ScopeDefinitionKind)
)

ScopeDefinition type metadata.

View Source
var (
	ResourceTrackerKind            = reflect.TypeOf(ResourceTracker{}).Name()
	ResourceTrackerGroupKind       = schema.GroupKind{Group: Group, Kind: ResourceTrackerKind}.String()
	ResourceTrackerKindAPIVersion  = ResourceTrackerKind + "." + SchemeGroupVersion.String()
	ResourceTrackerKindVersionKind = SchemeGroupVersion.WithKind(ResourceTrackerKind)
)

ResourceTracker type metadata.

View Source
var (
	AppDeploymentKind            = reflect.TypeOf(AppDeployment{}).Name()
	AppDeploymentGroupKind       = schema.GroupKind{Group: Group, Kind: AppDeploymentKind}.String()
	AppDeploymentKindAPIVersion  = AppDeploymentKind + "." + SchemeGroupVersion.String()
	AppDeploymentKindVersionKind = SchemeGroupVersion.WithKind(AppDeploymentKind)
)

AppDeployment type metadata.

View Source
var (
	ClusterKind            = reflect.TypeOf(Cluster{}).Name()
	ClusterGroupKind       = schema.GroupKind{Group: Group, Kind: ClusterKind}.String()
	ClusterKindAPIVersion  = ApplicationKind + "." + SchemeGroupVersion.String()
	ClusterKindVersionKind = SchemeGroupVersion.WithKind(ClusterKind)
)

Cluster type metadata.

Functions

func Resource added in v1.1.1

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AppDeployment

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

	Spec   AppDeploymentSpec   `json:"spec,omitempty"`
	Status AppDeploymentStatus `json:"status,omitempty"`
}

AppDeployment is the Schema for the AppDeployment API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam},shortName=appdeploy +kubebuilder:subresource:status +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AppDeployment) DeepCopy

func (in *AppDeployment) DeepCopy() *AppDeployment

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

func (*AppDeployment) DeepCopyInto

func (in *AppDeployment) DeepCopyInto(out *AppDeployment)

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

func (*AppDeployment) DeepCopyObject

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

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

type AppDeploymentList

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

AppDeploymentList contains a list of AppDeployment +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AppDeploymentList) DeepCopy

func (in *AppDeploymentList) DeepCopy() *AppDeploymentList

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

func (*AppDeploymentList) DeepCopyInto

func (in *AppDeploymentList) DeepCopyInto(out *AppDeploymentList)

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

func (*AppDeploymentList) DeepCopyObject

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

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

type AppDeploymentPhase

type AppDeploymentPhase string

AppDeploymentPhase defines the phase that the AppDeployment is undergoing.

const (
	// PhaseRolling is the phase when the AppDeployment is rolling live instances from old revisions to new ones.
	PhaseRolling AppDeploymentPhase = "Rolling"

	// PhaseCompleted is the phase when the AppDeployment is done with reconciliation.
	PhaseCompleted AppDeploymentPhase = "Completed"

	// PhaseFailed is the phase when the AppDeployment has failed in reconciliation due to unexpected conditions.
	PhaseFailed AppDeploymentPhase = "Failed"
)

type AppDeploymentSpec

type AppDeploymentSpec struct {

	// Traffic defines the traffic rules to apply across revisions.
	Traffic *Traffic `json:"traffic,omitempty"`

	// AppRevision specifies  AppRevision resources to and the rules to apply to them.
	AppRevisions []AppRevision `json:"appRevisions,omitempty"`
}

AppDeploymentSpec defines how to describe an upgrade between different apps

func (*AppDeploymentSpec) DeepCopy

func (in *AppDeploymentSpec) DeepCopy() *AppDeploymentSpec

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

func (*AppDeploymentSpec) DeepCopyInto

func (in *AppDeploymentSpec) DeepCopyInto(out *AppDeploymentSpec)

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

type AppDeploymentStatus

type AppDeploymentStatus struct {
	// Conditions represents the latest available observations of a CloneSet's current state.
	condition.ConditionedStatus `json:",inline"`

	// Phase shows the phase that the AppDeployment is undergoing.
	// If Phase is Rolling, no update should be made to the spec.
	Phase AppDeploymentPhase `json:"phase,omitempty"`

	// Placement shows the cluster placement results of the app revisions.
	Placement []PlacementStatus `json:"placement,omitempty"`
}

AppDeploymentStatus defines the observed state of AppDeployment

func (*AppDeploymentStatus) DeepCopy

func (in *AppDeploymentStatus) DeepCopy() *AppDeploymentStatus

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

func (*AppDeploymentStatus) DeepCopyInto

func (in *AppDeploymentStatus) DeepCopyInto(out *AppDeploymentStatus)

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

type AppPolicy added in v1.1.0

type AppPolicy struct {
	// Name is the unique name of the policy.
	Name string `json:"name"`

	Type string `json:"type"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Properties *runtime.RawExtension `json:"properties,omitempty"`
}

AppPolicy defines a global policy for all components in the app.

func (*AppPolicy) DeepCopy added in v1.1.0

func (in *AppPolicy) DeepCopy() *AppPolicy

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

func (*AppPolicy) DeepCopyInto added in v1.1.0

func (in *AppPolicy) DeepCopyInto(out *AppPolicy)

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

type AppRevision

type AppRevision struct {
	// RevisionName is the name of the AppRevision.
	RevisionName string `json:"revisionName,omitempty"`

	// Placement defines the cluster placement rules for an app revision.
	Placement []common.ClusterPlacement `json:"placement,omitempty"`
}

AppRevision specifies an AppRevision resource to and the rules to apply to it.

func (*AppRevision) DeepCopy

func (in *AppRevision) DeepCopy() *AppRevision

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

func (*AppRevision) DeepCopyInto

func (in *AppRevision) DeepCopyInto(out *AppRevision)

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

type AppRollout

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

	Spec   AppRolloutSpec          `json:"spec,omitempty"`
	Status common.AppRolloutStatus `json:"status,omitempty"`
}

AppRollout is the Schema for the AppRollout API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam},shortName=approllout +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="TARGET",type=string,JSONPath=`.status.rolloutTargetSize` +kubebuilder:printcolumn:name="UPGRADED",type=string,JSONPath=`.status.upgradedReplicas` +kubebuilder:printcolumn:name="READY",type=string,JSONPath=`.status.upgradedReadyReplicas` +kubebuilder:printcolumn:name="BATCH-STATE",type=string,JSONPath=`.status.batchRollingState` +kubebuilder:printcolumn:name="ROLLING-STATE",type=string,JSONPath=`.status.rollingState` +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AppRollout) DeepCopy

func (in *AppRollout) DeepCopy() *AppRollout

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

func (*AppRollout) DeepCopyInto

func (in *AppRollout) DeepCopyInto(out *AppRollout)

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

func (*AppRollout) DeepCopyObject

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

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

type AppRolloutList

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

AppRolloutList contains a list of AppRollout +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*AppRolloutList) DeepCopy

func (in *AppRolloutList) DeepCopy() *AppRolloutList

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

func (*AppRolloutList) DeepCopyInto

func (in *AppRolloutList) DeepCopyInto(out *AppRolloutList)

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

func (*AppRolloutList) DeepCopyObject

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

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

type AppRolloutSpec

type AppRolloutSpec struct {
	// TargetAppRevisionName contains the name of the applicationConfiguration that we need to upgrade to.
	// Here we use an applicationConfiguration as a revision of an application, thus the name alone is suffice
	TargetAppRevisionName string `json:"targetAppRevisionName"`

	// SourceAppRevisionName contains the name of the applicationConfiguration that we need to upgrade from.
	// it can be empty only when it's the first time to deploy the application
	SourceAppRevisionName string `json:"sourceAppRevisionName,omitempty"`

	// The list of component to upgrade in the application.
	// We only support single component application so far
	// TODO: (RZ) Support multiple components in an application
	// +optional
	ComponentList []string `json:"componentList,omitempty"`

	// RolloutPlan is the details on how to rollout the resources
	RolloutPlan v1alpha1.RolloutPlan `json:"rolloutPlan"`

	// RevertOnDelete revert the failed rollout when the rollout CR is deleted
	// It will revert the change back to the source version at once (not in batches)
	// Default is false
	// +optional
	RevertOnDelete bool `json:"revertOnDelete,omitempty"`
}

AppRolloutSpec defines how to describe an upgrade between different apps

func (*AppRolloutSpec) DeepCopy

func (in *AppRolloutSpec) DeepCopy() *AppRolloutSpec

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

func (*AppRolloutSpec) DeepCopyInto

func (in *AppRolloutSpec) DeepCopyInto(out *AppRolloutSpec)

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

type Application

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

	Spec   ApplicationSpec  `json:"spec,omitempty"`
	Status common.AppStatus `json:"status,omitempty"`
}

Application is the Schema for the applications API +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:categories={oam},shortName=app +kubebuilder:printcolumn:name="COMPONENT",type=string,JSONPath=`.spec.components[*].name` +kubebuilder:printcolumn:name="TYPE",type=string,JSONPath=`.spec.components[*].type` +kubebuilder:printcolumn:name="PHASE",type=string,JSONPath=`.status.status` +kubebuilder:printcolumn:name="HEALTHY",type=boolean,JSONPath=`.status.services[*].healthy` +kubebuilder:printcolumn:name="STATUS",type=string,JSONPath=`.status.services[*].message` +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto

func (in *Application) DeepCopyInto(out *Application)

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

func (*Application) DeepCopyObject

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

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

func (*Application) GetComponent

func (app *Application) GetComponent(workloadType string) *common.ApplicationComponent

GetComponent get the component from the application based on its workload type

func (*Application) GetCondition added in v1.1.0

func (app *Application) GetCondition(t condition.ConditionType) condition.Condition

GetCondition get condition by given condition type

func (*Application) Hub

func (*Application) Hub()

Hub marks this type as a conversion hub.

func (*Application) SetConditions added in v1.1.0

func (app *Application) SetConditions(c ...condition.Condition)

SetConditions set condition to application

type ApplicationList

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

ApplicationList contains a list of Application +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApplicationList) DeepCopy

func (in *ApplicationList) DeepCopy() *ApplicationList

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

func (*ApplicationList) DeepCopyInto

func (in *ApplicationList) DeepCopyInto(out *ApplicationList)

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

func (*ApplicationList) DeepCopyObject

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

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

type ApplicationRevision

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

	Spec ApplicationRevisionSpec `json:"spec,omitempty"`
}

ApplicationRevision is the Schema for the ApplicationRevision API +kubebuilder:storageversion +kubebuilder:resource:categories={oam},shortName=apprev +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApplicationRevision) DeepCopy

func (in *ApplicationRevision) DeepCopy() *ApplicationRevision

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

func (*ApplicationRevision) DeepCopyInto

func (in *ApplicationRevision) DeepCopyInto(out *ApplicationRevision)

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

func (*ApplicationRevision) DeepCopyObject

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

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

type ApplicationRevisionList

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

ApplicationRevisionList contains a list of ApplicationRevision +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApplicationRevisionList) DeepCopy

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

func (*ApplicationRevisionList) DeepCopyInto

func (in *ApplicationRevisionList) DeepCopyInto(out *ApplicationRevisionList)

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

func (*ApplicationRevisionList) DeepCopyObject

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

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

type ApplicationRevisionSpec

type ApplicationRevisionSpec struct {
	// Application records the snapshot of the created/modified Application
	Application Application `json:"application"`

	// ComponentDefinitions records the snapshot of the componentDefinitions related with the created/modified Application
	ComponentDefinitions map[string]ComponentDefinition `json:"componentDefinitions,omitempty"`

	// WorkloadDefinitions records the snapshot of the workloadDefinitions related with the created/modified Application
	WorkloadDefinitions map[string]WorkloadDefinition `json:"workloadDefinitions,omitempty"`

	// TraitDefinitions records the snapshot of the traitDefinitions related with the created/modified Application
	TraitDefinitions map[string]TraitDefinition `json:"traitDefinitions,omitempty"`

	// ScopeDefinitions records the snapshot of the scopeDefinitions related with the created/modified Application
	ScopeDefinitions map[string]ScopeDefinition `json:"scopeDefinitions,omitempty"`

	// PolicyDefinitions records the snapshot of the PolicyDefinitions related with the created/modified Application
	PolicyDefinitions map[string]PolicyDefinition `json:"policyDefinitions,omitempty"`

	// WorkflowStepDefinitions records the snapshot of the WorkflowStepDefinitions related with the created/modified Application
	WorkflowStepDefinitions map[string]WorkflowStepDefinition `json:"workflowStepDefinitions,omitempty"`

	// ScopeGVK records the apiVersion to GVK mapping
	ScopeGVK map[string]metav1.GroupVersionKind `json:"scopeGVK,omitempty"`

	// Components records the rendered components from Application, it will contains the whole K8s CR of workload in it.
	// +deprecated
	Components []common.RawComponent `json:"components,omitempty"`

	// ApplicationConfiguration records the rendered applicationConfiguration from Application,
	// it will contains the whole K8s CR of trait and the reference component in it.
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	// +deprecated
	ApplicationConfiguration runtime.RawExtension `json:"applicationConfiguration,omitempty"`

	// ResourcesConfigMap references the ConfigMap that's generated to contain all final rendered resources.
	ResourcesConfigMap corev1.LocalObjectReference `json:"resourcesConfigMap,omitempty"`
}

ApplicationRevisionSpec is the spec of ApplicationRevision

func (*ApplicationRevisionSpec) DeepCopy

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

func (*ApplicationRevisionSpec) DeepCopyInto

func (in *ApplicationRevisionSpec) DeepCopyInto(out *ApplicationRevisionSpec)

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

type ApplicationSpec

type ApplicationSpec struct {
	Components []common.ApplicationComponent `json:"components"`

	// Policies defines the global policies for all components in the app, e.g. security, metrics, gitops,
	// multi-cluster placement rules, etc.
	// Policies are applied after components are rendered and before workflow steps are executed.
	Policies []AppPolicy `json:"policies,omitempty"`

	// Workflow defines how to customize the control logic.
	// If workflow is specified, Vela won't apply any resource, but provide rendered output in AppRevision.
	// Workflow steps are executed in array order, and each step:
	// - will have a context in annotation.
	// - should mark "finish" phase in status.conditions.
	Workflow *Workflow `json:"workflow,omitempty"`

	// RolloutPlan is the details on how to rollout the resources
	// The controller simply replace the old resources with the new one if there is no rollout plan involved
	// +optional
	RolloutPlan *v1alpha1.RolloutPlan `json:"rolloutPlan,omitempty"`
}

ApplicationSpec is the spec of Application

func (*ApplicationSpec) DeepCopy

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

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

func (*ApplicationSpec) DeepCopyInto

func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)

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

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the clusters API

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

type ClusterList

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

ClusterList contains a list of Cluster

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterPlacementStatus

type ClusterPlacementStatus struct {
	// ClusterName indicates the name of the cluster to deploy apps to.
	// If empty, it indicates the host cluster per se.
	ClusterName string `json:"clusterName,omitempty"`

	// Replicas indicates the replica number of an app revision to deploy to a cluster.
	Replicas int `json:"replicas,omitempty"`
}

ClusterPlacementStatus shows the placement results of a cluster.

func (*ClusterPlacementStatus) DeepCopy

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

func (*ClusterPlacementStatus) DeepCopyInto

func (in *ClusterPlacementStatus) DeepCopyInto(out *ClusterPlacementStatus)

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

type ClusterSpec

type ClusterSpec struct {
	// KubeconfigSecretRef specifies the reference to the secret
	// that contains the kubeconfig in field `config`.
	KubeconfigSecretRef LocalSecretReference `json:"kubeconfigSecretRef,omitempty"`
}

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
}

ClusterStatus defines the observed state of Cluster

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ComponentDefinition

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

	Spec   ComponentDefinitionSpec   `json:"spec,omitempty"`
	Status ComponentDefinitionStatus `json:"status,omitempty"`
}

ComponentDefinition is the Schema for the componentdefinitions API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=comp +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="WORKLOAD-KIND",type=string,JSONPath=".spec.workload.definition.kind" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ComponentDefinition) DeepCopy

func (in *ComponentDefinition) DeepCopy() *ComponentDefinition

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

func (*ComponentDefinition) DeepCopyInto

func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)

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

func (*ComponentDefinition) DeepCopyObject

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

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

func (*ComponentDefinition) GetCondition

func (cd *ComponentDefinition) GetCondition(conditionType condition.ConditionType) condition.Condition

GetCondition gets condition from ComponentDefinition

func (*ComponentDefinition) SetConditions

func (cd *ComponentDefinition) SetConditions(c ...condition.Condition)

SetConditions set condition for ComponentDefinition

type ComponentDefinitionList

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

ComponentDefinitionList contains a list of ComponentDefinition

func (*ComponentDefinitionList) DeepCopy

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

func (*ComponentDefinitionList) DeepCopyInto

func (in *ComponentDefinitionList) DeepCopyInto(out *ComponentDefinitionList)

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

func (*ComponentDefinitionList) DeepCopyObject

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

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

type ComponentDefinitionSpec

type ComponentDefinitionSpec struct {
	// Workload is a workload type descriptor
	Workload common.WorkloadTypeDescriptor `json:"workload"`

	// ChildResourceKinds are the list of GVK of the child resources this workload generates
	ChildResourceKinds []common.ChildResourceKind `json:"childResourceKinds,omitempty"`

	// RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload
	// can be used by trait to create resource selectors(e.g. label selector for pods).
	// +optional
	RevisionLabel string `json:"revisionLabel,omitempty"`

	// PodSpecPath indicates where/if this workload has K8s podSpec field
	// if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields.
	// +optional
	PodSpecPath string `json:"podSpecPath,omitempty"`

	// Status defines the custom health policy and status message for workload
	// +optional
	Status *common.Status `json:"status,omitempty"`

	// Schematic defines the data format and template of the encapsulation of the workload
	// +optional
	Schematic *common.Schematic `json:"schematic,omitempty"`

	// Extension is used for extension needs by OAM platform builders
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Extension *runtime.RawExtension `json:"extension,omitempty"`
}

ComponentDefinitionSpec defines the desired state of ComponentDefinition

func (*ComponentDefinitionSpec) DeepCopy

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

func (*ComponentDefinitionSpec) DeepCopyInto

func (in *ComponentDefinitionSpec) DeepCopyInto(out *ComponentDefinitionSpec)

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

type ComponentDefinitionStatus

type ComponentDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	condition.ConditionedStatus `json:",inline"`
	// ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters.
	ConfigMapRef string `json:"configMapRef,omitempty"`
	// LatestRevision of the component definition
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,omitempty"`
}

ComponentDefinitionStatus is the status of ComponentDefinition

func (*ComponentDefinitionStatus) DeepCopy

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

func (*ComponentDefinitionStatus) DeepCopyInto

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

type DefinitionRevision added in v1.0.4

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

	Spec DefinitionRevisionSpec `json:"spec,omitempty"`
}

DefinitionRevision is the Schema for the DefinitionRevision API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=defrev +kubebuilder:printcolumn:name="REVISION",type=integer,JSONPath=".spec.revision" +kubebuilder:printcolumn:name="HASH",type=string,JSONPath=".spec.revisionHash" +kubebuilder:printcolumn:name="TYPE",type=string,JSONPath=".spec.definitionType" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DefinitionRevision) DeepCopy added in v1.0.4

func (in *DefinitionRevision) DeepCopy() *DefinitionRevision

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

func (*DefinitionRevision) DeepCopyInto added in v1.0.4

func (in *DefinitionRevision) DeepCopyInto(out *DefinitionRevision)

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

func (*DefinitionRevision) DeepCopyObject added in v1.0.4

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

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

type DefinitionRevisionList added in v1.0.4

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

DefinitionRevisionList contains a list of DefinitionRevision

func (*DefinitionRevisionList) DeepCopy added in v1.0.4

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

func (*DefinitionRevisionList) DeepCopyInto added in v1.0.4

func (in *DefinitionRevisionList) DeepCopyInto(out *DefinitionRevisionList)

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

func (*DefinitionRevisionList) DeepCopyObject added in v1.0.4

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

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

type DefinitionRevisionSpec added in v1.0.4

type DefinitionRevisionSpec struct {
	// Revision record revision number of DefinitionRevision
	Revision int64 `json:"revision"`

	// RevisionHash record the hash value of the spec of DefinitionRevision object.
	RevisionHash string `json:"revisionHash"`

	// DefinitionType
	DefinitionType common.DefinitionType `json:"definitionType"`

	// ComponentDefinition records the snapshot of the created/modified ComponentDefinition
	ComponentDefinition ComponentDefinition `json:"componentDefinition,omitempty"`

	// TraitDefinition records the snapshot of the created/modified TraitDefinition
	TraitDefinition TraitDefinition `json:"traitDefinition,omitempty"`

	// PolicyDefinition records the snapshot of the created/modified PolicyDefinition
	PolicyDefinition PolicyDefinition `json:"policyDefinition,omitempty"`

	// WorkflowStepDefinition records the snapshot of the created/modified WorkflowStepDefinition
	WorkflowStepDefinition WorkflowStepDefinition `json:"workflowStepDefinition,omitempty"`
}

DefinitionRevisionSpec is the spec of DefinitionRevision

func (*DefinitionRevisionSpec) DeepCopy added in v1.0.4

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

func (*DefinitionRevisionSpec) DeepCopyInto added in v1.0.4

func (in *DefinitionRevisionSpec) DeepCopyInto(out *DefinitionRevisionSpec)

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

type HTTPMatchRequest

type HTTPMatchRequest struct {
	// URI defines how to match with an URI.
	URI *URIMatch `json:"uri,omitempty"`
}

HTTPMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a custom `end-user` header with value `jason`.

func (*HTTPMatchRequest) DeepCopy

func (in *HTTPMatchRequest) DeepCopy() *HTTPMatchRequest

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

func (*HTTPMatchRequest) DeepCopyInto

func (in *HTTPMatchRequest) DeepCopyInto(out *HTTPMatchRequest)

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

type HTTPRule

type HTTPRule struct {

	// Match defines the conditions to be satisfied for the rule to be
	// activated. All conditions inside a single match block have AND
	// semantics, while the list of match blocks have OR semantics. The rule
	// is matched if any one of the match blocks succeed.
	Match []*HTTPMatchRequest `json:"match,omitempty"`

	// WeightedTargets defines the revision targets to select and route traffic to.
	WeightedTargets []WeightedTarget `json:"weightedTargets,omitempty"`
}

HTTPRule defines the rules to match and split http traffic across revisions.

func (*HTTPRule) DeepCopy

func (in *HTTPRule) DeepCopy() *HTTPRule

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

func (*HTTPRule) DeepCopyInto

func (in *HTTPRule) DeepCopyInto(out *HTTPRule)

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

type LocalSecretReference

type LocalSecretReference struct {
	// Name of a secret within the enclosing namespace.
	Name string `json:"name"`
}

LocalSecretReference is a reference to a secret within the enclosing namespace.

func (*LocalSecretReference) DeepCopy

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

func (*LocalSecretReference) DeepCopyInto

func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)

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

type PlacementStatus

type PlacementStatus struct {
	// RevisionName is the name of the AppRevision.
	RevisionName string `json:"revisionName,omitempty"`

	// Clusters shows cluster placement results.
	Clusters []ClusterPlacementStatus `json:"clusters,omitempty"`
}

PlacementStatus shows the cluster placement results of an app revision.

func (*PlacementStatus) DeepCopy

func (in *PlacementStatus) DeepCopy() *PlacementStatus

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

func (*PlacementStatus) DeepCopyInto

func (in *PlacementStatus) DeepCopyInto(out *PlacementStatus)

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

type PolicyDefinition added in v1.1.0

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

	Spec   PolicyDefinitionSpec   `json:"spec,omitempty"`
	Status PolicyDefinitionStatus `json:"status,omitempty"`
}

PolicyDefinition is the Schema for the policydefinitions API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=policy +kubebuilder:storageversion +kubebuilder:subresource:status +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*PolicyDefinition) DeepCopy added in v1.1.0

func (in *PolicyDefinition) DeepCopy() *PolicyDefinition

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

func (*PolicyDefinition) DeepCopyInto added in v1.1.0

func (in *PolicyDefinition) DeepCopyInto(out *PolicyDefinition)

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

func (*PolicyDefinition) DeepCopyObject added in v1.1.0

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

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

func (*PolicyDefinition) GetCondition added in v1.1.0

func (d *PolicyDefinition) GetCondition(conditionType condition.ConditionType) condition.Condition

GetCondition gets condition from PolicyDefinition

func (*PolicyDefinition) SetConditions added in v1.1.0

func (d *PolicyDefinition) SetConditions(c ...condition.Condition)

SetConditions set condition for PolicyDefinition

type PolicyDefinitionList added in v1.1.0

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

PolicyDefinitionList contains a list of PolicyDefinition

func (*PolicyDefinitionList) DeepCopy added in v1.1.0

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

func (*PolicyDefinitionList) DeepCopyInto added in v1.1.0

func (in *PolicyDefinitionList) DeepCopyInto(out *PolicyDefinitionList)

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

func (*PolicyDefinitionList) DeepCopyObject added in v1.1.0

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

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

type PolicyDefinitionSpec added in v1.1.0

type PolicyDefinitionSpec struct {
	// Reference to the CustomResourceDefinition that defines this trait kind.
	Reference common.DefinitionReference `json:"definitionRef,omitempty"`

	// Schematic defines the data format and template of the encapsulation of the policy definition
	// +optional
	Schematic *common.Schematic `json:"schematic,omitempty"`

	// ManageHealthCheck means the policy will handle health checking and skip application controller
	// built-in health checking.
	ManageHealthCheck bool `json:"manageHealthCheck,omitempty"`
}

PolicyDefinitionSpec defines the desired state of PolicyDefinition

func (*PolicyDefinitionSpec) DeepCopy added in v1.1.0

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

func (*PolicyDefinitionSpec) DeepCopyInto added in v1.1.0

func (in *PolicyDefinitionSpec) DeepCopyInto(out *PolicyDefinitionSpec)

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

type PolicyDefinitionStatus added in v1.1.0

type PolicyDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	condition.ConditionedStatus `json:",inline"`

	// LatestRevision of the component definition
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,omitempty"`
}

PolicyDefinitionStatus is the status of PolicyDefinition

func (*PolicyDefinitionStatus) DeepCopy added in v1.1.0

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

func (*PolicyDefinitionStatus) DeepCopyInto added in v1.1.0

func (in *PolicyDefinitionStatus) DeepCopyInto(out *PolicyDefinitionStatus)

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

type ResourceTracker

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

	Status ResourceTrackerStatus `json:"status,omitempty"`
}

An ResourceTracker represents a tracker for track cross namespace resources +kubebuilder:resource:scope=Cluster,categories={oam},shortName=tracker

func (*ResourceTracker) AddOwnerReferenceToTrackerResource

func (in *ResourceTracker) AddOwnerReferenceToTrackerResource(rsc interfaces.ObjectOwner) bool

AddOwnerReferenceToTrackerResource add resourcetracker as owner reference to target object, return true if already exists (outdated)

func (*ResourceTracker) AddTrackedCluster

func (in *ResourceTracker) AddTrackedCluster(clusterName string) bool

AddTrackedCluster add resourcetracker in remote cluster into tracked resources, return if already exists

func (*ResourceTracker) AddTrackedResource added in v1.2.0

func (in *ResourceTracker) AddTrackedResource(rsc interfaces.TrackableResource) bool

AddTrackedResource add new object reference into tracked resources, return if already exists

func (*ResourceTracker) DeepCopy

func (in *ResourceTracker) DeepCopy() *ResourceTracker

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

func (*ResourceTracker) DeepCopyInto

func (in *ResourceTracker) DeepCopyInto(out *ResourceTracker)

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

func (*ResourceTracker) DeepCopyObject

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

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

func (*ResourceTracker) GetTrackedClusters

func (in *ResourceTracker) GetTrackedClusters() (clusters []string)

GetTrackedClusters return remote clusters recorded in the resource tracker

func (*ResourceTracker) IsLifeLong

func (in *ResourceTracker) IsLifeLong() bool

IsLifeLong check if resourcetracker shares the same whole life with the entire application

func (*ResourceTracker) SetLifeLong

func (in *ResourceTracker) SetLifeLong()

SetLifeLong set life long to resource tracker

func (*ResourceTracker) ToOwnerReference

func (in *ResourceTracker) ToOwnerReference() *metav1.OwnerReference

ToOwnerReference convert ResourceTracker into owner reference for other resource to refer

type ResourceTrackerList

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

ResourceTrackerList contains a list of ResourceTracker

func (*ResourceTrackerList) DeepCopy

func (in *ResourceTrackerList) DeepCopy() *ResourceTrackerList

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

func (*ResourceTrackerList) DeepCopyInto

func (in *ResourceTrackerList) DeepCopyInto(out *ResourceTrackerList)

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

func (*ResourceTrackerList) DeepCopyObject

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

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

type ResourceTrackerStatus added in v1.0.2

type ResourceTrackerStatus struct {
	TrackedResources []common.ClusterObjectReference `json:"trackedResources,omitempty"`
}

ResourceTrackerStatus define the status of resourceTracker

func (*ResourceTrackerStatus) DeepCopy added in v1.0.2

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

func (*ResourceTrackerStatus) DeepCopyInto added in v1.0.2

func (in *ResourceTrackerStatus) DeepCopyInto(out *ResourceTrackerStatus)

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

type ScopeDefinition

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

	Spec ScopeDefinitionSpec `json:"spec,omitempty"`
}

A ScopeDefinition registers a kind of Kubernetes custom resource as a valid OAM scope kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the scope when it is embedded in an OAM ApplicationConfiguration. +kubebuilder:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=scope +kubebuilder:storageversion +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ScopeDefinition) DeepCopy

func (in *ScopeDefinition) DeepCopy() *ScopeDefinition

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

func (*ScopeDefinition) DeepCopyInto

func (in *ScopeDefinition) DeepCopyInto(out *ScopeDefinition)

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

func (*ScopeDefinition) DeepCopyObject

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

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

type ScopeDefinitionList

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

ScopeDefinitionList contains a list of ScopeDefinition.

func (*ScopeDefinitionList) DeepCopy

func (in *ScopeDefinitionList) DeepCopy() *ScopeDefinitionList

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

func (*ScopeDefinitionList) DeepCopyInto

func (in *ScopeDefinitionList) DeepCopyInto(out *ScopeDefinitionList)

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

func (*ScopeDefinitionList) DeepCopyObject

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

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

type ScopeDefinitionSpec

type ScopeDefinitionSpec struct {
	// Reference to the CustomResourceDefinition that defines this scope kind.
	Reference common.DefinitionReference `json:"definitionRef"`

	// WorkloadRefsPath indicates if/where a scope accepts workloadRef objects
	WorkloadRefsPath string `json:"workloadRefsPath,omitempty"`

	// AllowComponentOverlap specifies whether an OAM component may exist in
	// multiple instances of this kind of scope.
	AllowComponentOverlap bool `json:"allowComponentOverlap"`

	// Extension is used for extension needs by OAM platform builders
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Extension *runtime.RawExtension `json:"extension,omitempty"`
}

A ScopeDefinitionSpec defines the desired state of a ScopeDefinition.

func (*ScopeDefinitionSpec) DeepCopy

func (in *ScopeDefinitionSpec) DeepCopy() *ScopeDefinitionSpec

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

func (*ScopeDefinitionSpec) DeepCopyInto

func (in *ScopeDefinitionSpec) DeepCopyInto(out *ScopeDefinitionSpec)

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

type Traffic

type Traffic struct {
	// Hosts are the destination hosts to which traffic is being sent. Could
	// be a DNS name with wildcard prefix or an IP address.
	Hosts []string `json:"hosts,omitempty"`

	// Gateways specifies the names of gateways that should apply these rules.
	// Gateways in other namespaces may be referred to by
	// `<gateway namespace>/<gateway name>`; specifying a gateway with no
	// namespace qualifier is the same as specifying the AppDeployment's namespace.
	Gateways []string `json:"gateways,omitempty"`

	// HTTP defines the rules to match and split http traffoc across revisions.
	HTTP []HTTPRule `json:"http,omitempty"`
}

Traffic defines the traffic rules to apply across revisions.

func (*Traffic) DeepCopy

func (in *Traffic) DeepCopy() *Traffic

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

func (*Traffic) DeepCopyInto

func (in *Traffic) DeepCopyInto(out *Traffic)

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

type TraitDefinition

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

	Spec   TraitDefinitionSpec   `json:"spec,omitempty"`
	Status TraitDefinitionStatus `json:"status,omitempty"`
}

A TraitDefinition registers a kind of Kubernetes custom resource as a valid OAM trait kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the trait when it is embedded in an OAM ApplicationConfiguration. +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=trait +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="APPLIES-TO",type=string,JSONPath=".spec.appliesToWorkloads" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*TraitDefinition) DeepCopy

func (in *TraitDefinition) DeepCopy() *TraitDefinition

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

func (*TraitDefinition) DeepCopyInto

func (in *TraitDefinition) DeepCopyInto(out *TraitDefinition)

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

func (*TraitDefinition) DeepCopyObject

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

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

func (*TraitDefinition) GetCondition

func (td *TraitDefinition) GetCondition(conditionType condition.ConditionType) condition.Condition

GetCondition gets condition from TraitDefinition

func (*TraitDefinition) SetConditions

func (td *TraitDefinition) SetConditions(c ...condition.Condition)

SetConditions set condition for TraitDefinition

type TraitDefinitionList

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

TraitDefinitionList contains a list of TraitDefinition.

func (*TraitDefinitionList) DeepCopy

func (in *TraitDefinitionList) DeepCopy() *TraitDefinitionList

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

func (*TraitDefinitionList) DeepCopyInto

func (in *TraitDefinitionList) DeepCopyInto(out *TraitDefinitionList)

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

func (*TraitDefinitionList) DeepCopyObject

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

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

type TraitDefinitionSpec

type TraitDefinitionSpec struct {
	// Reference to the CustomResourceDefinition that defines this trait kind.
	Reference common.DefinitionReference `json:"definitionRef,omitempty"`

	// Revision indicates whether a trait is aware of component revision
	// +optional
	RevisionEnabled bool `json:"revisionEnabled,omitempty"`

	// WorkloadRefPath indicates where/if a trait accepts a workloadRef object
	// +optional
	WorkloadRefPath string `json:"workloadRefPath,omitempty"`

	// PodDisruptive specifies whether using the trait will cause the pod to restart or not.
	// +optional
	PodDisruptive bool `json:"podDisruptive,omitempty"`

	// AppliesToWorkloads specifies the list of workload kinds this trait
	// applies to. Workload kinds are specified in kind.group/version format,
	// e.g. server.core.oam.dev/v1alpha2. Traits that omit this field apply to
	// all workload kinds.
	// +optional
	AppliesToWorkloads []string `json:"appliesToWorkloads,omitempty"`

	// ConflictsWith specifies the list of traits(CRD name, Definition name, CRD group)
	// which could not apply to the same workloads with this trait.
	// Traits that omit this field can work with any other traits.
	// Example rules:
	// "service" # Trait definition name
	// "services.k8s.io" # API resource/crd name
	// "*.networking.k8s.io" # API group
	// "labelSelector:foo=bar" # label selector
	// labelSelector format: https://pkg.go.dev/k8s.io/apimachinery/pkg/labels#Parse
	// +optional
	ConflictsWith []string `json:"conflictsWith,omitempty"`

	// Schematic defines the data format and template of the encapsulation of the trait
	// +optional
	Schematic *common.Schematic `json:"schematic,omitempty"`

	// Status defines the custom health policy and status message for trait
	// +optional
	Status *common.Status `json:"status,omitempty"`

	// Extension is used for extension needs by OAM platform builders
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Extension *runtime.RawExtension `json:"extension,omitempty"`

	// ManageWorkload defines the trait would be responsible for creating the workload
	// +optional
	ManageWorkload bool `json:"manageWorkload,omitempty"`
	// SkipRevisionAffect defines the update this trait will not generate a new application Revision
	// +optional
	SkipRevisionAffect bool `json:"skipRevisionAffect,omitempty"`
}

A TraitDefinitionSpec defines the desired state of a TraitDefinition.

func (*TraitDefinitionSpec) DeepCopy

func (in *TraitDefinitionSpec) DeepCopy() *TraitDefinitionSpec

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

func (*TraitDefinitionSpec) DeepCopyInto

func (in *TraitDefinitionSpec) DeepCopyInto(out *TraitDefinitionSpec)

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

type TraitDefinitionStatus

type TraitDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	condition.ConditionedStatus `json:",inline"`
	// ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters.
	ConfigMapRef string `json:"configMapRef,omitempty"`
	// LatestRevision of the component definition
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,omitempty"`
}

TraitDefinitionStatus is the status of TraitDefinition

func (*TraitDefinitionStatus) DeepCopy

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

func (*TraitDefinitionStatus) DeepCopyInto

func (in *TraitDefinitionStatus) DeepCopyInto(out *TraitDefinitionStatus)

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

type URIMatch

type URIMatch struct {
	Prefix string `json:"prefix,omitempty"`
}

URIMatch defines the rules to match with an URI.

func (*URIMatch) DeepCopy

func (in *URIMatch) DeepCopy() *URIMatch

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

func (*URIMatch) DeepCopyInto

func (in *URIMatch) DeepCopyInto(out *URIMatch)

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

type WeightedTarget

type WeightedTarget struct {

	// RevisionName is the name of the app revision.
	RevisionName string `json:"revisionName,omitempty"`

	// ComponentName is the name of the component.
	// Note that it is the original component name in the Application. No need to append revision.
	ComponentName string `json:"componentName,omitempty"`

	// Port is the port to route traffic towards.
	Port int `json:"port,omitempty"`

	// Weight defines the proportion of traffic to be forwarded to the service
	// version. (0-100). Sum of weights across destinations SHOULD BE == 100.
	// If there is only one destination in a rule, the weight value is assumed to
	// be 100.
	Weight int `json:"weight,omitempty"`
}

WeightedTarget defines the revision target to select and route traffic to.

func (*WeightedTarget) DeepCopy

func (in *WeightedTarget) DeepCopy() *WeightedTarget

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

func (*WeightedTarget) DeepCopyInto

func (in *WeightedTarget) DeepCopyInto(out *WeightedTarget)

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

type Workflow added in v1.1.0

type Workflow struct {
	Steps []WorkflowStep `json:"steps,omitempty"`
}

Workflow defines workflow steps and other attributes

func (*Workflow) DeepCopy added in v1.1.0

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto added in v1.1.0

func (in *Workflow) DeepCopyInto(out *Workflow)

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

type WorkflowStep added in v1.1.0

type WorkflowStep struct {
	// Name is the unique name of the workflow step.
	Name string `json:"name"`

	Type string `json:"type"`

	// +kubebuilder:pruning:PreserveUnknownFields
	Properties *runtime.RawExtension `json:"properties,omitempty"`

	DependsOn []string `json:"dependsOn,omitempty"`

	Inputs common.StepInputs `json:"inputs,omitempty"`

	Outputs common.StepOutputs `json:"outputs,omitempty"`
}

WorkflowStep defines how to execute a workflow step.

func (*WorkflowStep) DeepCopy added in v1.1.0

func (in *WorkflowStep) DeepCopy() *WorkflowStep

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

func (*WorkflowStep) DeepCopyInto added in v1.1.0

func (in *WorkflowStep) DeepCopyInto(out *WorkflowStep)

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

type WorkflowStepDefinition added in v1.1.0

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

	Spec   WorkflowStepDefinitionSpec   `json:"spec,omitempty"`
	Status WorkflowStepDefinitionStatus `json:"status,omitempty"`
}

WorkflowStepDefinition is the Schema for the workflowstepdefinitions API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=workflowstep +kubebuilder:storageversion +kubebuilder:subresource:status +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*WorkflowStepDefinition) DeepCopy added in v1.1.0

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

func (*WorkflowStepDefinition) DeepCopyInto added in v1.1.0

func (in *WorkflowStepDefinition) DeepCopyInto(out *WorkflowStepDefinition)

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

func (*WorkflowStepDefinition) DeepCopyObject added in v1.1.0

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

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

func (*WorkflowStepDefinition) GetCondition added in v1.1.0

func (d *WorkflowStepDefinition) GetCondition(conditionType condition.ConditionType) condition.Condition

GetCondition gets condition from WorkflowStepDefinition

func (*WorkflowStepDefinition) SetConditions added in v1.1.0

func (d *WorkflowStepDefinition) SetConditions(c ...condition.Condition)

SetConditions set condition for WorkflowStepDefinition

type WorkflowStepDefinitionList added in v1.1.0

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

WorkflowStepDefinitionList contains a list of WorkflowStepDefinition

func (*WorkflowStepDefinitionList) DeepCopy added in v1.1.0

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

func (*WorkflowStepDefinitionList) DeepCopyInto added in v1.1.0

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

func (*WorkflowStepDefinitionList) DeepCopyObject added in v1.1.0

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

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

type WorkflowStepDefinitionSpec added in v1.1.0

type WorkflowStepDefinitionSpec struct {
	// Reference to the CustomResourceDefinition that defines this trait kind.
	Reference common.DefinitionReference `json:"definitionRef,omitempty"`

	// Schematic defines the data format and template of the encapsulation of the workflow step definition
	// +optional
	Schematic *common.Schematic `json:"schematic,omitempty"`
}

WorkflowStepDefinitionSpec defines the desired state of WorkflowStepDefinition

func (*WorkflowStepDefinitionSpec) DeepCopy added in v1.1.0

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

func (*WorkflowStepDefinitionSpec) DeepCopyInto added in v1.1.0

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

type WorkflowStepDefinitionStatus added in v1.1.0

type WorkflowStepDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	condition.ConditionedStatus `json:",inline"`
	// ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters.
	ConfigMapRef string `json:"configMapRef,omitempty"`
	// LatestRevision of the component definition
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,omitempty"`
}

WorkflowStepDefinitionStatus is the status of WorkflowStepDefinition

func (*WorkflowStepDefinitionStatus) DeepCopy added in v1.1.0

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

func (*WorkflowStepDefinitionStatus) DeepCopyInto added in v1.1.0

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

type WorkloadDefinition

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

	Spec   WorkloadDefinitionSpec   `json:"spec,omitempty"`
	Status WorkloadDefinitionStatus `json:"status,omitempty"`
}

A WorkloadDefinition registers a kind of Kubernetes custom resource as a valid OAM workload kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the workload when it is embedded in an OAM Component. +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=workload +kubebuilder:storageversion +kubebuilder:printcolumn:name="DEFINITION-NAME",type=string,JSONPath=".spec.definitionRef.name" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description" +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*WorkloadDefinition) DeepCopy

func (in *WorkloadDefinition) DeepCopy() *WorkloadDefinition

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

func (*WorkloadDefinition) DeepCopyInto

func (in *WorkloadDefinition) DeepCopyInto(out *WorkloadDefinition)

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

func (*WorkloadDefinition) DeepCopyObject

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

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

func (*WorkloadDefinition) GetCondition

func (wd *WorkloadDefinition) GetCondition(conditionType condition.ConditionType) condition.Condition

GetCondition gets condition from WorkloadDefinition

func (*WorkloadDefinition) SetConditions

func (wd *WorkloadDefinition) SetConditions(c ...condition.Condition)

SetConditions set condition for WorkloadDefinition

type WorkloadDefinitionList

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

WorkloadDefinitionList contains a list of WorkloadDefinition. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*WorkloadDefinitionList) DeepCopy

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

func (*WorkloadDefinitionList) DeepCopyInto

func (in *WorkloadDefinitionList) DeepCopyInto(out *WorkloadDefinitionList)

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

func (*WorkloadDefinitionList) DeepCopyObject

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

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

type WorkloadDefinitionSpec

type WorkloadDefinitionSpec struct {
	// Reference to the CustomResourceDefinition that defines this workload kind.
	Reference common.DefinitionReference `json:"definitionRef"`

	// ChildResourceKinds are the list of GVK of the child resources this workload generates
	ChildResourceKinds []common.ChildResourceKind `json:"childResourceKinds,omitempty"`

	// RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload
	// can be used by trait to create resource selectors(e.g. label selector for pods).
	// +optional
	RevisionLabel string `json:"revisionLabel,omitempty"`

	// PodSpecPath indicates where/if this workload has K8s podSpec field
	// if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields.
	// +optional
	PodSpecPath string `json:"podSpecPath,omitempty"`

	// Status defines the custom health policy and status message for workload
	// +optional
	Status *common.Status `json:"status,omitempty"`

	// Schematic defines the data format and template of the encapsulation of the workload
	// +optional
	Schematic *common.Schematic `json:"schematic,omitempty"`

	// Extension is used for extension needs by OAM platform builders
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Extension *runtime.RawExtension `json:"extension,omitempty"`
}

A WorkloadDefinitionSpec defines the desired state of a WorkloadDefinition.

func (*WorkloadDefinitionSpec) DeepCopy

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

func (*WorkloadDefinitionSpec) DeepCopyInto

func (in *WorkloadDefinitionSpec) DeepCopyInto(out *WorkloadDefinitionSpec)

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

type WorkloadDefinitionStatus

type WorkloadDefinitionStatus struct {
	condition.ConditionedStatus `json:",inline"`
}

WorkloadDefinitionStatus is the status of WorkloadDefinition

func (*WorkloadDefinitionStatus) DeepCopy

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

func (*WorkloadDefinitionStatus) DeepCopyInto

func (in *WorkloadDefinitionStatus) DeepCopyInto(out *WorkloadDefinitionStatus)

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