Documentation ¶
Overview ¶
Package common contains types required for both v1alpha2 and v1beta1 +kubebuilder:object:generate=true
Index ¶
- Constants
- type AppRolloutStatus
- type AppStatus
- type ApplicationComponent
- type ApplicationComponentStatus
- type ApplicationConditionType
- type ApplicationPhase
- type ApplicationTrait
- type ApplicationTraitStatus
- type CUE
- type ChildResourceKind
- type ClusterObjectReference
- type ClusterPlacement
- type ClusterSelector
- type DefinitionReference
- type DefinitionType
- type Distribution
- type Helm
- type Kube
- type KubeParameter
- type OAMObjectReference
- type ParameterValueType
- type PolicyStatus
- type RawComponent
- type RawExtensionPointer
- type ReferredObject
- type ReferredObjectList
- type ResourceCreatorRole
- type Revision
- type Schematic
- type Status
- type StepInputs
- type StepOutputs
- type StepStatus
- type Terraform
- type WorkflowMode
- type WorkflowState
- type WorkflowStatus
- type WorkflowStep
- type WorkflowStepPhase
- type WorkflowStepStatus
- type WorkflowSubStep
- type WorkflowSubStepStatus
- type WorkloadGVK
- type WorkloadTypeDescriptor
Constants ¶
const (
// Group api group name
Group = "core.oam.dev"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppRolloutStatus ¶ added in v1.0.4
type AppRolloutStatus struct { v1alpha1.RolloutStatus `json:",inline"` // LastUpgradedTargetAppRevision contains the name of the app that we upgraded to // We will restart the rollout if this is not the same as the spec LastUpgradedTargetAppRevision string `json:"lastTargetAppRevision"` // LastSourceAppRevision contains the name of the app that we need to upgrade from. // We will restart the rollout if this is not the same as the spec LastSourceAppRevision string `json:"LastSourceAppRevision,omitempty"` }
AppRolloutStatus defines the observed state of AppRollout
func (*AppRolloutStatus) DeepCopy ¶ added in v1.0.4
func (in *AppRolloutStatus) DeepCopy() *AppRolloutStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutStatus.
func (*AppRolloutStatus) DeepCopyInto ¶ added in v1.0.4
func (in *AppRolloutStatus) DeepCopyInto(out *AppRolloutStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppStatus ¶
type AppStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file condition.ConditionedStatus `json:",inline"` // The generation observed by the application controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` Phase ApplicationPhase `json:"status,omitempty"` // Components record the related Components created by Application Controller Components []corev1.ObjectReference `json:"components,omitempty"` // Services record the status of the application services Services []ApplicationComponentStatus `json:"services,omitempty"` // Workflow record the status of workflow Workflow *WorkflowStatus `json:"workflow,omitempty"` // LatestRevision of the application configuration it generates // +optional LatestRevision *Revision `json:"latestRevision,omitempty"` // AppliedResources record the resources that the workflow step apply. AppliedResources []ClusterObjectReference `json:"appliedResources,omitempty"` // PolicyStatus records the status of policy PolicyStatus []PolicyStatus `json:"policy,omitempty"` }
AppStatus defines the observed state of Application
func (*AppStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationComponent ¶ added in v1.1.0
type ApplicationComponent struct { Name string `json:"name"` Type string `json:"type"` // ExternalRevision specified the component revisionName ExternalRevision string `json:"externalRevision,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields Properties *runtime.RawExtension `json:"properties,omitempty"` DependsOn []string `json:"dependsOn,omitempty"` Inputs StepInputs `json:"inputs,omitempty"` Outputs StepOutputs `json:"outputs,omitempty"` // Traits define the trait of one component, the type must be array to keep the order. Traits []ApplicationTrait `json:"traits,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // scopes in ApplicationComponent defines the component-level scopes // the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance. Scopes map[string]string `json:"scopes,omitempty"` }
ApplicationComponent describe the component of application
func (*ApplicationComponent) DeepCopy ¶ added in v1.1.0
func (in *ApplicationComponent) DeepCopy() *ApplicationComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationComponent.
func (*ApplicationComponent) DeepCopyInto ¶ added in v1.1.0
func (in *ApplicationComponent) DeepCopyInto(out *ApplicationComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationComponentStatus ¶
type ApplicationComponentStatus struct { Name string `json:"name"` Namespace string `json:"namespace,omitempty"` Cluster string `json:"cluster,omitempty"` Env string `json:"env,omitempty"` // WorkloadDefinition is the definition of a WorkloadDefinition, such as deployments/apps.v1 WorkloadDefinition WorkloadGVK `json:"workloadDefinition,omitempty"` Healthy bool `json:"healthy"` Message string `json:"message,omitempty"` Traits []ApplicationTraitStatus `json:"traits,omitempty"` Scopes []corev1.ObjectReference `json:"scopes,omitempty"` }
ApplicationComponentStatus record the health status of App component
func (*ApplicationComponentStatus) DeepCopy ¶
func (in *ApplicationComponentStatus) DeepCopy() *ApplicationComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationComponentStatus.
func (*ApplicationComponentStatus) DeepCopyInto ¶
func (in *ApplicationComponentStatus) DeepCopyInto(out *ApplicationComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationConditionType ¶ added in v1.2.0
type ApplicationConditionType int
ApplicationConditionType is a valid value for ApplicationCondition.Type
const ( // ParsedCondition indicates whether the parsing is successful. ParsedCondition ApplicationConditionType = iota // RevisionCondition indicates whether the generated revision is successful. RevisionCondition // PolicyCondition indicates whether policy processing is successful. PolicyCondition // RenderCondition indicates whether render processing is successful. RenderCondition // WorkflowCondition indicates whether workflow processing is successful. WorkflowCondition // RolloutCondition indicates whether rollout processing is successful. RolloutCondition // ReadyCondition indicates whether whole application processing is successful. ReadyCondition )
func ParseApplicationConditionType ¶ added in v1.2.0
func ParseApplicationConditionType(s string) (ApplicationConditionType, error)
ParseApplicationConditionType parse ApplicationCondition Type.
func (ApplicationConditionType) String ¶ added in v1.2.0
func (ct ApplicationConditionType) String() string
String returns the string corresponding to the condition type.
type ApplicationPhase ¶
type ApplicationPhase string
ApplicationPhase is a label for the condition of an application at the current time
const ( // ApplicationRollingOut means the app is in the middle of rolling out ApplicationRollingOut ApplicationPhase = "rollingOut" // ApplicationStarting means the app is preparing for reconcile ApplicationStarting ApplicationPhase = "starting" // ApplicationRendering means the app is rendering ApplicationRendering ApplicationPhase = "rendering" // ApplicationPolicyGenerating means the app is generating policies ApplicationPolicyGenerating ApplicationPhase = "generatingPolicy" // ApplicationRunningWorkflow means the app is running workflow ApplicationRunningWorkflow ApplicationPhase = "runningWorkflow" // ApplicationWorkflowSuspending means the app's workflow is suspending ApplicationWorkflowSuspending ApplicationPhase = "workflowSuspending" // ApplicationWorkflowTerminated means the app's workflow is terminated ApplicationWorkflowTerminated ApplicationPhase = "workflowTerminated" // ApplicationWorkflowFinished means the app's workflow is finished ApplicationWorkflowFinished ApplicationPhase = "workflowFinished" // ApplicationRunning means the app finished rendering and applied result to the cluster ApplicationRunning ApplicationPhase = "running" // ApplicationUnhealthy means the app finished rendering and applied result to the cluster, but still unhealthy ApplicationUnhealthy ApplicationPhase = "unhealthy" // ApplicationDeleting means application is being deleted ApplicationDeleting ApplicationPhase = "deleting" )
type ApplicationTrait ¶ added in v1.1.0
type ApplicationTrait struct { Type string `json:"type"` // +kubebuilder:pruning:PreserveUnknownFields Properties *runtime.RawExtension `json:"properties,omitempty"` }
ApplicationTrait defines the trait of application
func (*ApplicationTrait) DeepCopy ¶ added in v1.1.0
func (in *ApplicationTrait) DeepCopy() *ApplicationTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationTrait.
func (*ApplicationTrait) DeepCopyInto ¶ added in v1.1.0
func (in *ApplicationTrait) DeepCopyInto(out *ApplicationTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationTraitStatus ¶
type ApplicationTraitStatus struct { Type string `json:"type"` Healthy bool `json:"healthy"` Message string `json:"message,omitempty"` }
ApplicationTraitStatus records the trait health status
func (*ApplicationTraitStatus) DeepCopy ¶
func (in *ApplicationTraitStatus) DeepCopy() *ApplicationTraitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationTraitStatus.
func (*ApplicationTraitStatus) DeepCopyInto ¶
func (in *ApplicationTraitStatus) DeepCopyInto(out *ApplicationTraitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CUE ¶
type CUE struct { // Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field. // Template is a required field if CUE is defined in Capability Definition. Template string `json:"template"` }
CUE defines the encapsulation in CUE format
func (*CUE) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CUE.
func (*CUE) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChildResourceKind ¶
type ChildResourceKind struct { // APIVersion of the child resource APIVersion string `json:"apiVersion"` // Kind of the child resource Kind string `json:"kind"` // Selector to select the child resources that the workload wants to expose to traits Selector map[string]string `json:"selector,omitempty"` }
A ChildResourceKind defines a child Kubernetes resource kind with a selector
func (*ChildResourceKind) DeepCopy ¶
func (in *ChildResourceKind) DeepCopy() *ChildResourceKind
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChildResourceKind.
func (*ChildResourceKind) DeepCopyInto ¶
func (in *ChildResourceKind) DeepCopyInto(out *ChildResourceKind)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterObjectReference ¶ added in v1.1.1
type ClusterObjectReference struct { Cluster string `json:"cluster,omitempty"` Creator ResourceCreatorRole `json:"creator,omitempty"` corev1.ObjectReference `json:",inline"` }
ClusterObjectReference defines the object reference with cluster.
func (*ClusterObjectReference) DeepCopy ¶ added in v1.1.1
func (in *ClusterObjectReference) DeepCopy() *ClusterObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObjectReference.
func (*ClusterObjectReference) DeepCopyInto ¶ added in v1.1.1
func (in *ClusterObjectReference) DeepCopyInto(out *ClusterObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterObjectReference) Equal ¶ added in v1.2.0
func (in ClusterObjectReference) Equal(r ClusterObjectReference) bool
Equal check if two references are equal
type ClusterPlacement ¶ added in v1.1.0
type ClusterPlacement struct { // ClusterSelector selects the cluster to deploy apps to. // If not specified, it indicates the host cluster per se. ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"` // Distribution defines the replica distribution of an AppRevision to a cluster. Distribution Distribution `json:"distribution,omitempty"` }
ClusterPlacement defines the cluster placement rules for an app revision.
func (*ClusterPlacement) DeepCopy ¶ added in v1.1.0
func (in *ClusterPlacement) DeepCopy() *ClusterPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPlacement.
func (*ClusterPlacement) DeepCopyInto ¶ added in v1.1.0
func (in *ClusterPlacement) DeepCopyInto(out *ClusterPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSelector ¶ added in v1.1.0
type ClusterSelector struct { // Name is the name of the cluster. Name string `json:"name,omitempty"` // Labels defines the label selector to select the cluster. Labels map[string]string `json:"labels,omitempty"` }
ClusterSelector defines the rules to select a Cluster resource. Either name or labels is needed.
func (*ClusterSelector) DeepCopy ¶ added in v1.1.0
func (in *ClusterSelector) DeepCopy() *ClusterSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelector.
func (*ClusterSelector) DeepCopyInto ¶ added in v1.1.0
func (in *ClusterSelector) DeepCopyInto(out *ClusterSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefinitionReference ¶
type DefinitionReference struct { // Name of the referenced CustomResourceDefinition. Name string `json:"name"` // Version indicate which version should be used if CRD has multiple versions // by default it will use the first one if not specified Version string `json:"version,omitempty"` }
A DefinitionReference refers to a CustomResourceDefinition by name.
func (*DefinitionReference) DeepCopy ¶
func (in *DefinitionReference) DeepCopy() *DefinitionReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionReference.
func (*DefinitionReference) DeepCopyInto ¶
func (in *DefinitionReference) DeepCopyInto(out *DefinitionReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefinitionType ¶ added in v1.0.4
type DefinitionType string
DefinitionType describes the type of DefinitionRevision. +kubebuilder:validation:Enum=Component;Trait;Policy;WorkflowStep
const ( // ComponentType represents DefinitionRevision refer to type ComponentDefinition ComponentType DefinitionType = "Component" // TraitType represents DefinitionRevision refer to type TraitDefinition TraitType DefinitionType = "Trait" // PolicyType represents DefinitionRevision refer to type PolicyDefinition PolicyType DefinitionType = "Policy" // WorkflowStepType represents DefinitionRevision refer to type WorkflowStepDefinition WorkflowStepType DefinitionType = "WorkflowStep" )
type Distribution ¶ added in v1.1.0
type Distribution struct { // Replicas is the replica number. Replicas int `json:"replicas,omitempty"` }
Distribution defines the replica distribution of an AppRevision to a cluster.
func (*Distribution) DeepCopy ¶ added in v1.1.0
func (in *Distribution) DeepCopy() *Distribution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Distribution.
func (*Distribution) DeepCopyInto ¶ added in v1.1.0
func (in *Distribution) DeepCopyInto(out *Distribution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Helm ¶
type Helm struct { // Release records a Helm release used by a Helm module workload. // +kubebuilder:pruning:PreserveUnknownFields Release runtime.RawExtension `json:"release"` // HelmRelease records a Helm repository used by a Helm module workload. // +kubebuilder:pruning:PreserveUnknownFields Repository runtime.RawExtension `json:"repository"` }
A Helm represents resources used by a Helm module
func (*Helm) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.
func (*Helm) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kube ¶
type Kube struct { // Template defines the raw Kubernetes resource // +kubebuilder:pruning:PreserveUnknownFields Template runtime.RawExtension `json:"template"` // Parameters defines configurable parameters Parameters []KubeParameter `json:"parameters,omitempty"` }
Kube defines the encapsulation in raw Kubernetes resource format
func (*Kube) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kube.
func (*Kube) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeParameter ¶
type KubeParameter struct { // Name of this parameter Name string `json:"name"` // +kubebuilder:validation:Enum:=string;number;boolean // ValueType indicates the type of the parameter value, and // only supports basic data types: string, number, boolean. ValueType ParameterValueType `json:"type"` // FieldPaths specifies an array of fields within this workload that will be // overwritten by the value of this parameter. All fields must be of the // same type. Fields are specified as JSON field paths without a leading // dot, for example 'spec.replicas'. FieldPaths []string `json:"fieldPaths"` // +kubebuilder:default:=false // Required specifies whether or not a value for this parameter must be // supplied when authoring an Application. Required *bool `json:"required,omitempty"` // Description of this parameter. Description *string `json:"description,omitempty"` }
A KubeParameter defines a configurable parameter of a component.
func (*KubeParameter) DeepCopy ¶
func (in *KubeParameter) DeepCopy() *KubeParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeParameter.
func (*KubeParameter) DeepCopyInto ¶
func (in *KubeParameter) DeepCopyInto(out *KubeParameter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OAMObjectReference ¶ added in v1.2.0
type OAMObjectReference struct { Component string `json:"component,omitempty"` Trait string `json:"trait,omitempty"` Env string `json:"env,omitempty"` }
OAMObjectReference defines the object reference for an oam resource
func NewOAMObjectReferenceFromObject ¶ added in v1.2.0
func NewOAMObjectReferenceFromObject(obj client.Object) OAMObjectReference
NewOAMObjectReferenceFromObject create OAMObjectReference from object
func (OAMObjectReference) AddLabelsToObject ¶ added in v1.2.0
func (in OAMObjectReference) AddLabelsToObject(obj client.Object)
AddLabelsToObject add labels to object if properties are not empty
func (*OAMObjectReference) DeepCopy ¶ added in v1.2.0
func (in *OAMObjectReference) DeepCopy() *OAMObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAMObjectReference.
func (*OAMObjectReference) DeepCopyInto ¶ added in v1.2.0
func (in *OAMObjectReference) DeepCopyInto(out *OAMObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OAMObjectReference) Equal ¶ added in v1.2.0
func (in OAMObjectReference) Equal(r OAMObjectReference) bool
Equal check if two references are equal
type ParameterValueType ¶
type ParameterValueType string
ParameterValueType refers to a data type of parameter
const ( StringType ParameterValueType = "string" NumberType ParameterValueType = "number" BooleanType ParameterValueType = "boolean" )
data types of parameter value
type PolicyStatus ¶ added in v1.2.0
type PolicyStatus struct { Name string `json:"name"` Type string `json:"type"` // +kubebuilder:pruning:PreserveUnknownFields Status *runtime.RawExtension `json:"status,omitempty"` }
PolicyStatus records the status of policy
func (*PolicyStatus) DeepCopy ¶ added in v1.2.0
func (in *PolicyStatus) DeepCopy() *PolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus.
func (*PolicyStatus) DeepCopyInto ¶ added in v1.2.0
func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawComponent ¶
type RawComponent struct { // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Raw runtime.RawExtension `json:"raw"` }
RawComponent record raw component
func (*RawComponent) DeepCopy ¶
func (in *RawComponent) DeepCopy() *RawComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawComponent.
func (*RawComponent) DeepCopyInto ¶
func (in *RawComponent) DeepCopyInto(out *RawComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawExtensionPointer ¶ added in v1.1.5
type RawExtensionPointer struct {
RawExtension *runtime.RawExtension
}
RawExtensionPointer is the pointer of raw extension
func (*RawExtensionPointer) DeepCopy ¶ added in v1.1.5
func (in *RawExtensionPointer) DeepCopy() *RawExtensionPointer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawExtensionPointer.
func (*RawExtensionPointer) DeepCopyInto ¶ added in v1.1.5
func (in *RawExtensionPointer) DeepCopyInto(out *RawExtensionPointer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RawExtensionPointer) MarshalJSON ¶ added in v1.1.5
func (re RawExtensionPointer) MarshalJSON() ([]byte, error)
MarshalJSON may get called on pointers or values, so implement MarshalJSON on value. http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go
type ReferredObject ¶ added in v1.3.0
type ReferredObject struct { // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields runtime.RawExtension `json:",inline"` }
ReferredObject the referred Kubernetes object
func (*ReferredObject) DeepCopy ¶ added in v1.3.0
func (in *ReferredObject) DeepCopy() *ReferredObject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReferredObject.
func (*ReferredObject) DeepCopyInto ¶ added in v1.3.0
func (in *ReferredObject) DeepCopyInto(out *ReferredObject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReferredObjectList ¶ added in v1.3.0
type ReferredObjectList struct { // Objects a list of Kubernetes objects. // +optional Objects []ReferredObject `json:"objects,omitempty"` }
ReferredObjectList a list of referred Kubernetes objects
func (*ReferredObjectList) DeepCopy ¶ added in v1.3.0
func (in *ReferredObjectList) DeepCopy() *ReferredObjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReferredObjectList.
func (*ReferredObjectList) DeepCopyInto ¶ added in v1.3.0
func (in *ReferredObjectList) DeepCopyInto(out *ReferredObjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceCreatorRole ¶ added in v1.1.1
type ResourceCreatorRole string
ResourceCreatorRole defines the resource creator.
const ( // PolicyResourceCreator create the policy resource. PolicyResourceCreator ResourceCreatorRole = "policy" // WorkflowResourceCreator create the resource in workflow. WorkflowResourceCreator ResourceCreatorRole = "workflow" // DebugResourceCreator create the debug resource. DebugResourceCreator ResourceCreatorRole = "debug" )
type Revision ¶
type Revision struct { Name string `json:"name"` Revision int64 `json:"revision"` // RevisionHash record the hash value of the spec of ApplicationRevision object. RevisionHash string `json:"revisionHash,omitempty"` }
Revision has name and revision number
func (*Revision) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revision.
func (*Revision) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schematic ¶
type Schematic struct { KUBE *Kube `json:"kube,omitempty"` CUE *CUE `json:"cue,omitempty"` HELM *Helm `json:"helm,omitempty"` Terraform *Terraform `json:"terraform,omitempty"` }
Schematic defines the encapsulation of this capability(workload/trait/scope), the encapsulation can be defined in different ways, e.g. CUE/HCL(terraform)/KUBE(K8s Object)/HELM, etc...
func (*Schematic) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schematic.
func (*Schematic) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { // CustomStatus defines the custom status message that could display to user // +optional CustomStatus string `json:"customStatus,omitempty"` // HealthPolicy defines the health check policy for the abstraction // +optional HealthPolicy string `json:"healthPolicy,omitempty"` }
Status defines the loop back status of the abstraction by using CUE template
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepInputs ¶ added in v1.1.1
type StepInputs []inputItem
StepInputs defines variable input of WorkflowStep
func (StepInputs) DeepCopy ¶ added in v1.1.1
func (in StepInputs) DeepCopy() StepInputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepInputs.
func (StepInputs) DeepCopyInto ¶ added in v1.1.1
func (in StepInputs) DeepCopyInto(out *StepInputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepOutputs ¶ added in v1.1.1
type StepOutputs []outputItem
StepOutputs defines output variable of WorkflowStep
func (StepOutputs) DeepCopy ¶ added in v1.1.1
func (in StepOutputs) DeepCopy() StepOutputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepOutputs.
func (StepOutputs) DeepCopyInto ¶ added in v1.1.1
func (in StepOutputs) DeepCopyInto(out *StepOutputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepStatus ¶ added in v1.4.0
type StepStatus struct { ID string `json:"id"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` Phase WorkflowStepPhase `json:"phase,omitempty"` // A human readable message indicating details about why the workflowStep is in this state. Message string `json:"message,omitempty"` // A brief CamelCase message indicating details about why the workflowStep is in this state. Reason string `json:"reason,omitempty"` // FirstExecuteTime is the first time this step execution. FirstExecuteTime metav1.Time `json:"firstExecuteTime,omitempty"` // LastExecuteTime is the last time this step execution. LastExecuteTime metav1.Time `json:"lastExecuteTime,omitempty"` }
StepStatus record the base status of workflow step, which could be workflow step or subStep
func (*StepStatus) DeepCopy ¶ added in v1.4.0
func (in *StepStatus) DeepCopy() *StepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepStatus.
func (*StepStatus) DeepCopyInto ¶ added in v1.4.0
func (in *StepStatus) DeepCopyInto(out *StepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Terraform ¶ added in v1.0.4
type Terraform struct { // Configuration is Terraform Configuration Configuration string `json:"configuration"` // Type specifies which Terraform configuration it is, HCL or JSON syntax // +kubebuilder:default:=hcl // +kubebuilder:validation:Enum:=hcl;json;remote Type string `json:"type,omitempty"` // Path is the sub-directory of remote git repository. It's valid when remote is set Path string `json:"path,omitempty"` // WriteConnectionSecretToReference specifies the namespace and name of a // Secret to which any connection details for this managed resource should // be written. Connection details frequently include the endpoint, username, // and password required to connect to the managed resource. // +optional WriteConnectionSecretToReference *types.SecretReference `json:"writeConnectionSecretToRef,omitempty"` // ProviderReference specifies the reference to Provider ProviderReference *types.Reference `json:"providerRef,omitempty"` // DeleteResource will determine whether provisioned cloud resources will be deleted when CR is deleted // +kubebuilder:default:=true DeleteResource bool `json:"deleteResource,omitempty"` // Region is cloud provider's region. It will override the region in the region field of ProviderReference Region string `json:"customRegion,omitempty"` }
Terraform is the struct to describe cloud resources managed by Hashicorp Terraform
func (*Terraform) DeepCopy ¶ added in v1.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Terraform.
func (*Terraform) DeepCopyInto ¶ added in v1.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowMode ¶ added in v1.1.1
type WorkflowMode string
WorkflowMode describes the mode of workflow
const ( // WorkflowModeDAG describes the DAG mode of workflow WorkflowModeDAG WorkflowMode = "DAG" // WorkflowModeStep describes the step by step mode of workflow WorkflowModeStep WorkflowMode = "StepByStep" )
type WorkflowState ¶ added in v1.1.1
type WorkflowState string
WorkflowState is a string that mark the workflow state
const ( // WorkflowStateInitializing means the workflow is in initial state WorkflowStateInitializing WorkflowState = "initializing" // WorkflowStateTerminated means workflow is terminated manually, and it won't be started unless the spec changed. WorkflowStateTerminated WorkflowState = "terminated" // WorkflowStateSuspended means workflow is suspended manually, and it can be resumed. WorkflowStateSuspended WorkflowState = "suspended" // WorkflowStateSucceeded means workflow is running successfully, all steps finished. WorkflowStateSucceeded WorkflowState = "Succeeded" // WorkflowStateFinished means workflow is end. WorkflowStateFinished WorkflowState = "finished" // WorkflowStateExecuting means workflow is still running or waiting some steps. WorkflowStateExecuting WorkflowState = "executing" // WorkflowStateSkipping means it will skip this reconcile and let next reconcile to handle it. WorkflowStateSkipping WorkflowState = "skipping" )
type WorkflowStatus ¶ added in v1.1.0
type WorkflowStatus struct { AppRevision string `json:"appRevision,omitempty"` Mode WorkflowMode `json:"mode"` Message string `json:"message,omitempty"` SuspendState string `json:"suspendState,omitempty"` Suspend bool `json:"suspend"` Terminated bool `json:"terminated"` Finished bool `json:"finished"` ContextBackend *corev1.ObjectReference `json:"contextBackend,omitempty"` Steps []WorkflowStepStatus `json:"steps,omitempty"` StartTime metav1.Time `json:"startTime,omitempty"` }
WorkflowStatus record the status of workflow
func (*WorkflowStatus) DeepCopy ¶ added in v1.1.0
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.
func (*WorkflowStatus) DeepCopyInto ¶ added in v1.1.0
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowStep ¶ added in v1.3.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"` SubSteps []WorkflowSubStep `json:"subSteps,omitempty"` If string `json:"if,omitempty"` DependsOn []string `json:"dependsOn,omitempty"` Inputs StepInputs `json:"inputs,omitempty"` Outputs StepOutputs `json:"outputs,omitempty"` }
WorkflowStep defines how to execute a workflow step.
func (*WorkflowStep) DeepCopy ¶ added in v1.3.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.3.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 WorkflowStepPhase ¶ added in v1.1.0
type WorkflowStepPhase string
WorkflowStepPhase describes the phase of a workflow step.
const ( // WorkflowStepPhaseSucceeded will make the controller run the next step. WorkflowStepPhaseSucceeded WorkflowStepPhase = "succeeded" // WorkflowStepPhaseFailed will report error in `message`. WorkflowStepPhaseFailed WorkflowStepPhase = "failed" // WorkflowStepPhaseSkipped will make the controller skip the step. WorkflowStepPhaseSkipped WorkflowStepPhase = "skipped" // WorkflowStepPhaseStopped will make the controller stop the workflow. WorkflowStepPhaseStopped WorkflowStepPhase = "stopped" // WorkflowStepPhaseRunning will make the controller continue the workflow. WorkflowStepPhaseRunning WorkflowStepPhase = "running" )
type WorkflowStepStatus ¶ added in v1.1.0
type WorkflowStepStatus struct { StepStatus `json:",inline"` SubStepsStatus []WorkflowSubStepStatus `json:"subSteps,omitempty"` }
WorkflowStepStatus record the status of a workflow step, include step status and subStep status
func (*WorkflowStepStatus) DeepCopy ¶ added in v1.1.0
func (in *WorkflowStepStatus) DeepCopy() *WorkflowStepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStepStatus.
func (*WorkflowStepStatus) DeepCopyInto ¶ added in v1.1.0
func (in *WorkflowStepStatus) DeepCopyInto(out *WorkflowStepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowSubStep ¶ added in v1.4.0
type WorkflowSubStep 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"` If string `json:"if,omitempty"` DependsOn []string `json:"dependsOn,omitempty"` Inputs StepInputs `json:"inputs,omitempty"` Outputs StepOutputs `json:"outputs,omitempty"` }
WorkflowSubStep defines how to execute a workflow subStep.
func (*WorkflowSubStep) DeepCopy ¶ added in v1.4.0
func (in *WorkflowSubStep) DeepCopy() *WorkflowSubStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSubStep.
func (*WorkflowSubStep) DeepCopyInto ¶ added in v1.4.0
func (in *WorkflowSubStep) DeepCopyInto(out *WorkflowSubStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowSubStepStatus ¶ added in v1.1.1
type WorkflowSubStepStatus struct {
StepStatus `json:",inline"`
}
WorkflowSubStepStatus record the status of a workflow subStep
func (*WorkflowSubStepStatus) DeepCopy ¶ added in v1.1.1
func (in *WorkflowSubStepStatus) DeepCopy() *WorkflowSubStepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSubStepStatus.
func (*WorkflowSubStepStatus) DeepCopyInto ¶ added in v1.1.1
func (in *WorkflowSubStepStatus) DeepCopyInto(out *WorkflowSubStepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadGVK ¶
WorkloadGVK refer to a Workload Type
func (*WorkloadGVK) DeepCopy ¶
func (in *WorkloadGVK) DeepCopy() *WorkloadGVK
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGVK.
func (*WorkloadGVK) DeepCopyInto ¶
func (in *WorkloadGVK) DeepCopyInto(out *WorkloadGVK)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadTypeDescriptor ¶
type WorkloadTypeDescriptor struct { // Type ref to a WorkloadDefinition via name Type string `json:"type,omitempty"` // Definition mutually exclusive to workload.type, a embedded WorkloadDefinition Definition WorkloadGVK `json:"definition,omitempty"` }
A WorkloadTypeDescriptor refer to a Workload Type
func (*WorkloadTypeDescriptor) DeepCopy ¶
func (in *WorkloadTypeDescriptor) DeepCopy() *WorkloadTypeDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadTypeDescriptor.
func (*WorkloadTypeDescriptor) DeepCopyInto ¶
func (in *WorkloadTypeDescriptor) DeepCopyInto(out *WorkloadTypeDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.