Documentation
¶
Overview ¶
Package common contains types required for both v1alpha2 and v1beta1 +kubebuilder:object:generate=true
Index ¶
- Constants
- func ContainerStateToString(state corev1.ContainerState) string
- 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 ContainerState
- 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 Revision
- type Schematic
- type Status
- type Terraform
- type WorkflowState
- type WorkflowStatus
- type WorkloadGVK
- type WorkloadTypeDescriptor
Constants ¶
const (
// PolicyResourceCreator create the policy resource.
PolicyResourceCreator string = "policy"
// WorkflowResourceCreator create the resource in workflow.
WorkflowResourceCreator string = "workflow"
// DebugResourceCreator create the debug resource.
DebugResourceCreator string = "debug"
)
const (
// Group api group name
Group = "core.oam.dev"
)
Variables ¶
This section is empty.
Functions ¶
func ContainerStateToString ¶ added in v1.7.0
func ContainerStateToString(state corev1.ContainerState) string
ContainerStateToString convert the container state to string
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
// Deprecated This field is only used by EnvBinding Policy which is deprecated.
PolicyStatus []PolicyStatus `json:"policy,omitempty"`
}
AppStatus defines the observed state of Application
func (*AppStatus) DeepCopy ¶
func (in *AppStatus) DeepCopy() *AppStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
func (in *AppStatus) DeepCopyInto(out *AppStatus)
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 workflowv1alpha1.StepInputs `json:"inputs,omitempty"`
Outputs workflowv1alpha1.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"`
// ReplicaKey is not empty means the component is replicated. This field is designed so that it can't be specified in application directly.
// So we set the json tag as "-". Instead, this will be filled when using replication policy.
ReplicaKey string `json:"-"`
}
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.
type ApplicationPhase ¶
type ApplicationPhase string
ApplicationPhase is a label for the condition of an application at the current time
const (
// 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"
// ApplicationWorkflowFailed means the app's workflow is failed
ApplicationWorkflowFailed ApplicationPhase = "workflowFailed"
// 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 ¶
func (in *CUE) DeepCopy() *CUE
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CUE.
func (*CUE) DeepCopyInto ¶
func (in *CUE) DeepCopyInto(out *CUE)
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 string `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.
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 ContainerState ¶ added in v1.7.0
type ContainerState string
ContainerState defines the state of a container
const (
// ContainerRunning indicates the container is running
ContainerRunning ContainerState = "Running"
// ContainerWaiting indicates the container is waiting
ContainerWaiting ContainerState = "Waiting"
// ContainerTerminated indicates the container is terminated
ContainerTerminated ContainerState = "Terminated"
)
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 ¶
func (in *Helm) DeepCopy() *Helm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.
func (*Helm) DeepCopyInto ¶
func (in *Helm) DeepCopyInto(out *Helm)
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 ¶
func (in *Kube) DeepCopy() *Kube
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kube.
func (*Kube) DeepCopyInto ¶
func (in *Kube) DeepCopyInto(out *Kube)
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.
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 Deprecated
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 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 ¶
func (in *Revision) DeepCopy() *Revision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revision.
func (*Revision) DeepCopyInto ¶
func (in *Revision) DeepCopyInto(out *Revision)
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 ¶
func (in *Schematic) DeepCopy() *Schematic
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schematic.
func (*Schematic) DeepCopyInto ¶
func (in *Schematic) DeepCopyInto(out *Schematic)
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 ¶
func (in *Status) DeepCopy() *Status
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
func (in *Status) DeepCopyInto(out *Status)
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"`
// GitCredentialsSecretReference specifies the reference to the secret containing the git credentials
GitCredentialsSecretReference *corev1.SecretReference `json:"gitCredentialsSecretReference,omitempty"`
}
Terraform is the struct to describe cloud resources managed by Hashicorp Terraform
func (*Terraform) DeepCopy ¶ added in v1.0.4
func (in *Terraform) DeepCopy() *Terraform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Terraform.
func (*Terraform) DeepCopyInto ¶ added in v1.0.4
func (in *Terraform) DeepCopyInto(out *Terraform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 string `json:"mode"`
Phase workflowv1alpha1.WorkflowRunPhase `json:"status,omitempty"`
Message string `json:"message,omitempty"`
Suspend bool `json:"suspend"`
SuspendState string `json:"suspendState,omitempty"`
Terminated bool `json:"terminated"`
Finished bool `json:"finished"`
ContextBackend *corev1.ObjectReference `json:"contextBackend,omitempty"`
Steps []workflowv1alpha1.WorkflowStepStatus `json:"steps,omitempty"`
StartTime metav1.Time `json:"startTime,omitempty"`
// +nullable
EndTime metav1.Time `json:"endTime,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 WorkloadGVK ¶
type WorkloadGVK struct {
APIVersion string `json:"apiVersion"`
Kind string `json:"kind"`
}
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.