common

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Group api group name
	Group = "core.oam.dev"
)

Variables

This section is empty.

Functions

This section is empty.

Types

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

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

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

func (*ApplicationComponent) DeepCopyInto

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

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

func (*ApplicationComponentStatus) DeepCopyInto

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

type ApplicationPhase

type ApplicationPhase string

ApplicationPhase is a label for the condition of an application at the current time

type ApplicationTrait

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

func (in *ApplicationTrait) DeepCopy() *ApplicationTrait

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

func (*ApplicationTrait) DeepCopyInto

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

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 ClusterObjectReference

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

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

func (*ClusterObjectReference) DeepCopyInto

func (in *ClusterObjectReference) DeepCopyInto(out *ClusterObjectReference)

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

type PolicyStatus

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

func (in *PolicyStatus) DeepCopy() *PolicyStatus

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

func (*PolicyStatus) DeepCopyInto

func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)

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

type ResourceCreatorRole

type ResourceCreatorRole string

ResourceCreatorRole defines the resource creator.

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 WorkflowStatus

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

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto

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.

Jump to

Keyboard shortcuts

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