v1alpha2

package
v1.7.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v1alpha2 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=v1alpha2

Index

Constants

View Source
const (
	// StatusHealthy represents healthy status.
	StatusHealthy HealthStatus = "HEALTHY"
	// StatusUnhealthy represents unhealthy status.
	StatusUnhealthy = "UNHEALTHY"
	// StatusUnknown represents unknown status.
	StatusUnknown = "UNKNOWN"
)
View Source
const (
	Group   = common.Group
	Version = "v1alpha2"
)

Package type metadata.

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}
)
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 (
	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 (
	ComponentKind             = reflect.TypeOf(Component{}).Name()
	ComponentGroupKind        = schema.GroupKind{Group: Group, Kind: ComponentKind}.String()
	ComponentKindAPIVersion   = ComponentKind + "." + SchemeGroupVersion.String()
	ComponentGroupVersionKind = SchemeGroupVersion.WithKind(ComponentKind)
)

Component type metadata.

View Source
var (
	ApplicationConfigurationKind             = reflect.TypeOf(ApplicationConfiguration{}).Name()
	ApplicationConfigurationGroupKind        = schema.GroupKind{Group: Group, Kind: ApplicationConfigurationKind}.String()
	ApplicationConfigurationKindAPIVersion   = ApplicationConfigurationKind + "." + SchemeGroupVersion.String()
	ApplicationConfigurationGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationConfigurationKind)
)

ApplicationConfiguration type metadata.

View Source
var (
	HealthScopeKind             = reflect.TypeOf(HealthScope{}).Name()
	HealthScopeGroupKind        = schema.GroupKind{Group: Group, Kind: HealthScopeKind}.String()
	HealthScopeKindAPIVersion   = HealthScopeKind + "." + SchemeGroupVersion.String()
	HealthScopeGroupVersionKind = SchemeGroupVersion.WithKind(HealthScopeKind)
)

HealthScope 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 (
	ApplicationRevisionKind             = reflect.TypeOf(ApplicationRevision{}).Name()
	ApplicationRevisionGroupKind        = schema.GroupKind{Group: Group, Kind: ApplicationRevisionKind}.String()
	ApplicationRevisionKindAPIVersion   = ApplicationRevisionKind + "." + SchemeGroupVersion.String()
	ApplicationRevisionGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationRevisionKind)
)

ApplicationRevision type metadata

Functions

func ApplicationV1alpha2ToV1beta1 added in v1.0.0

func ApplicationV1alpha2ToV1beta1(v1a2 *Application, v1b1 *v1beta1.Application)

ApplicationV1alpha2ToV1beta1 will convert v1alpha2 to v1beta1

Types

type AppHealthCondition added in v1.1.0

type AppHealthCondition struct {
	AppName    string                     `json:"appName"`
	EnvName    string                     `json:"envName,omitempty"`
	Components []*WorkloadHealthCondition `json:"components,omitempty"`
}

AppHealthCondition represents health condition of an application

func (*AppHealthCondition) DeepCopy added in v1.1.0

func (in *AppHealthCondition) DeepCopy() *AppHealthCondition

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

func (*AppHealthCondition) DeepCopyInto added in v1.1.0

func (in *AppHealthCondition) DeepCopyInto(out *AppHealthCondition)

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

type AppReference added in v1.1.0

type AppReference struct {
	AppName        string          `json:"appName,omitempty"`
	CompReferences []CompReference `json:"compReferences,omitempty"`
}

AppReference records references of an application's components

func (*AppReference) DeepCopy added in v1.1.0

func (in *AppReference) DeepCopy() *AppReference

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

func (*AppReference) DeepCopyInto added in v1.1.0

func (in *AppReference) DeepCopyInto(out *AppReference)

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
	v1alpha1.RolloutStatus `json:",inline"`

	Phase common.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 []common.ApplicationComponentStatus `json:"services,omitempty"`

	// ResourceTracker record the status of the ResourceTracker
	ResourceTracker *corev1.ObjectReference `json:"resourceTracker,omitempty"`

	// LatestRevision of the application configuration it generates
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,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 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:object:root=true +kubebuilder:resource:categories={oam},shortName={app,velaapp} +kubebuilder:subresource:status +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"

func (*Application) ConvertFrom added in v1.0.0

func (app *Application) ConvertFrom(src conversion.Hub) error

ConvertFrom converts from the Hub version (v1beta1) to this version (v1alpha2).

func (*Application) ConvertTo added in v1.0.0

func (app *Application) ConvertTo(dst conversion.Hub) error

ConvertTo converts this Application to the Hub version (v1beta1 only for now).

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 added in v0.3.1

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

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

type ApplicationComponent added in v0.3.0

type ApplicationComponent struct {
	Name         string `json:"name"`
	WorkloadType string `json:"type"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Settings runtime.RawExtension `json:"settings,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 v0.3.0

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

func (*ApplicationComponent) DeepCopyInto added in v0.3.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 ApplicationConfiguration

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

	Spec   ApplicationConfigurationSpec   `json:"spec,omitempty"`
	Status ApplicationConfigurationStatus `json:"status,omitempty"`
}

An ApplicationConfiguration represents an OAM application. +kubebuilder:resource:shortName=appconfig,categories={oam} +kubebuilder:subresource:status

func (*ApplicationConfiguration) DeepCopy

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

func (*ApplicationConfiguration) DeepCopyInto

func (in *ApplicationConfiguration) DeepCopyInto(out *ApplicationConfiguration)

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

func (*ApplicationConfiguration) DeepCopyObject

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

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

func (*ApplicationConfiguration) GetCondition

GetCondition of this ApplicationConfiguration.

func (*ApplicationConfiguration) SetConditions

func (ac *ApplicationConfiguration) SetConditions(c ...condition.Condition)

SetConditions of this ApplicationConfiguration.

type ApplicationConfigurationComponent

type ApplicationConfigurationComponent struct {
	// ComponentName specifies a component whose latest revision will be bind
	// with ApplicationConfiguration. When the spec of the referenced component
	// changes, ApplicationConfiguration will automatically migrate all trait
	// affect from the prior revision to the new one. This is mutually exclusive
	// with RevisionName.
	// +optional
	ComponentName string `json:"componentName,omitempty"`

	// RevisionName of a specific component revision to which to bind
	// ApplicationConfiguration. This is mutually exclusive with componentName.
	// +optional
	RevisionName string `json:"revisionName,omitempty"`

	// DataOutputs specify the data output sources from this component.
	DataOutputs []DataOutput `json:"dataOutputs,omitempty"`

	// DataInputs specify the data input sinks into this component.
	DataInputs []DataInput `json:"dataInputs,omitempty"`

	// ParameterValues specify values for the the specified component's
	// parameters. Any parameter required by the component must be specified.
	// +optional
	ParameterValues []ComponentParameterValue `json:"parameterValues,omitempty"`

	// Traits of the specified component.
	// +optional
	Traits []ComponentTrait `json:"traits,omitempty"`

	// Scopes in which the specified component should exist.
	// +optional
	Scopes []ComponentScope `json:"scopes,omitempty"`
}

An ApplicationConfigurationComponent specifies a component of an ApplicationConfiguration. Each component is used to instantiate a workload.

func (*ApplicationConfigurationComponent) DeepCopy

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

func (*ApplicationConfigurationComponent) DeepCopyInto

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

type ApplicationConfigurationList

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

ApplicationConfigurationList contains a list of ApplicationConfiguration.

func (*ApplicationConfigurationList) DeepCopy

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

func (*ApplicationConfigurationList) DeepCopyInto

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

func (*ApplicationConfigurationList) DeepCopyObject

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

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

type ApplicationConfigurationSpec

type ApplicationConfigurationSpec struct {
	// Components of which this ApplicationConfiguration consists. Each
	// component will be used to instantiate a workload.
	Components []ApplicationConfigurationComponent `json:"components"`
}

An ApplicationConfigurationSpec defines the desired state of a ApplicationConfiguration.

func (*ApplicationConfigurationSpec) DeepCopy

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

func (*ApplicationConfigurationSpec) DeepCopyInto

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

type ApplicationConfigurationStatus

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

	// Status is a place holder for a customized controller to fill
	// if it needs a single place to summarize the status of the entire application
	Status ApplicationStatus `json:"status,omitempty"`

	Dependency DependencyStatus `json:"dependency,omitempty"`

	// RollingStatus indicates what phase are we in the rollout phase
	RollingStatus types.RollingStatus `json:"rollingStatus,omitempty"`

	// Workloads created by this ApplicationConfiguration.
	Workloads []WorkloadStatus `json:"workloads,omitempty"`

	// The generation observed by the appConfig controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`

	// HistoryWorkloads will record history but still working revision workloads.
	HistoryWorkloads []HistoryWorkload `json:"historyWorkloads,omitempty"`
}

An ApplicationConfigurationStatus represents the observed state of a ApplicationConfiguration.

func (*ApplicationConfigurationStatus) DeepCopy

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

func (*ApplicationConfigurationStatus) DeepCopyInto

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

type ApplicationList

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

ApplicationList contains a list of Application

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 added in v1.0.0

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:object:root=true +kubebuilder:resource:categories={oam},shortName=apprev +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp"

func (*ApplicationRevision) DeepCopy added in v1.0.0

func (in *ApplicationRevision) DeepCopy() *ApplicationRevision

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

func (*ApplicationRevision) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ApplicationRevisionList added in v1.0.0

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

ApplicationRevisionList contains a list of ApplicationRevision +kubebuilder:object:root=true

func (*ApplicationRevisionList) DeepCopy added in v1.0.0

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

func (*ApplicationRevisionList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ApplicationRevisionSpec added in v1.0.0

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"`

	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
	ApplicationConfiguration runtime.RawExtension `json:"applicationConfiguration"`
}

ApplicationRevisionSpec is the spec of ApplicationRevision

func (*ApplicationRevisionSpec) DeepCopy added in v1.0.0

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

func (*ApplicationRevisionSpec) DeepCopyInto added in v1.0.0

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 added in v0.3.0

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

	// 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 added in v0.3.0

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

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

func (*ApplicationSpec) DeepCopyInto added in v0.3.0

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

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

type ApplicationStatus

type ApplicationStatus string

A ApplicationStatus represents the state of the entire application.

type ApplicationTrait added in v0.3.0

type ApplicationTrait struct {
	Name string `json:"name"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Properties *runtime.RawExtension `json:"properties,omitempty"`
}

ApplicationTrait defines the trait of application

func (*ApplicationTrait) DeepCopy added in v0.3.0

func (in *ApplicationTrait) DeepCopy() *ApplicationTrait

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

func (*ApplicationTrait) DeepCopyInto added in v0.3.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 CPUArchitecture

type CPUArchitecture string

A CPUArchitecture required by a containerised workload.

const (
	CPUArchitectureI386  CPUArchitecture = "i386"
	CPUArchitectureAMD64 CPUArchitecture = "amd64"
	CPUArchitectureARM   CPUArchitecture = "arm"
	CPUArchitectureARM64 CPUArchitecture = "arm64"
)

Supported architectures

type CPUResources

type CPUResources struct {
	// Required CPU count. 1.0 represents one CPU core.
	Required resource.Quantity `json:"required"`
}

CPUResources required by a container.

func (*CPUResources) DeepCopy

func (in *CPUResources) DeepCopy() *CPUResources

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

func (*CPUResources) DeepCopyInto

func (in *CPUResources) DeepCopyInto(out *CPUResources)

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

type CompReference added in v1.1.0

type CompReference struct {
	CompName string                   `json:"compName,omitempty"`
	Workload corev1.ObjectReference   `json:"workload,omitempty"`
	Traits   []corev1.ObjectReference `json:"traits,omitempty"`
}

CompReference records references of a component's resources

func (*CompReference) DeepCopy added in v1.1.0

func (in *CompReference) DeepCopy() *CompReference

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

func (*CompReference) DeepCopyInto added in v1.1.0

func (in *CompReference) DeepCopyInto(out *CompReference)

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

type Component

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

	Spec   ComponentSpec   `json:"spec,omitempty"`
	Status ComponentStatus `json:"status,omitempty"`
}

A Component describes how an OAM workload kind may be instantiated. +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status +kubebuilder:printcolumn:JSONPath=".spec.workload.kind",name=WORKLOAD-KIND,type=string +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

func (*Component) DeepCopyObject

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

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

func (*Component) GetCondition

func (cm *Component) GetCondition(ct condition.ConditionType) condition.Condition

GetCondition of this Component.

func (*Component) SetConditions

func (cm *Component) SetConditions(c ...condition.Condition)

SetConditions of this Component.

type ComponentDefinition added in v1.0.0

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: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"

func (*ComponentDefinition) DeepCopy added in v1.0.0

func (in *ComponentDefinition) DeepCopy() *ComponentDefinition

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

func (*ComponentDefinition) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

func (*ComponentDefinition) GetCondition added in v1.0.0

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

GetCondition gets condition from WorkloadDefinition

func (*ComponentDefinition) SetConditions added in v1.0.0

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

SetConditions set condition for WorkloadDefinition

type ComponentDefinitionList added in v1.0.0

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 added in v1.0.0

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

func (*ComponentDefinitionList) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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

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

type ComponentDefinitionSpec added in v1.0.0

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 added in v1.0.0

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

func (*ComponentDefinitionSpec) DeepCopyInto added in v1.0.0

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 added in v1.0.0

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 added in v1.0.0

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

func (*ComponentDefinitionStatus) DeepCopyInto added in v1.0.0

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

type ComponentList

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

ComponentList contains a list of Component.

func (*ComponentList) DeepCopy

func (in *ComponentList) DeepCopy() *ComponentList

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

func (*ComponentList) DeepCopyInto

func (in *ComponentList) DeepCopyInto(out *ComponentList)

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

func (*ComponentList) DeepCopyObject

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

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

type ComponentParameter

type ComponentParameter struct {
	// Name of this parameter. OAM ApplicationConfigurations will specify
	// parameter values using this name.
	Name string `json:"name"`

	// FieldPaths specifies an array of fields within this Component's workload
	// that will be overwritten by the value of this parameter. The type of the
	// parameter (e.g. int, string) is inferred from the type of these fields;
	// 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 ApplicationConfiguration.
	// +optional
	Required *bool `json:"required,omitempty"`

	// Description of this parameter.
	// +optional
	Description *string `json:"description,omitempty"`
}

A ComponentParameter defines a configurable parameter of a component.

func (*ComponentParameter) DeepCopy

func (in *ComponentParameter) DeepCopy() *ComponentParameter

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

func (*ComponentParameter) DeepCopyInto

func (in *ComponentParameter) DeepCopyInto(out *ComponentParameter)

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

type ComponentParameterValue

type ComponentParameterValue struct {
	// Name of the component parameter to set.
	Name string `json:"name"`

	// Value to set.
	Value intstr.IntOrString `json:"value"`
}

A ComponentParameterValue specifies a value for a named parameter. The associated component must publish a parameter with this name.

func (*ComponentParameterValue) DeepCopy

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

func (*ComponentParameterValue) DeepCopyInto

func (in *ComponentParameterValue) DeepCopyInto(out *ComponentParameterValue)

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

type ComponentScope

type ComponentScope struct {
	// A ScopeReference must refer to an OAM scope resource.
	ScopeReference corev1.ObjectReference `json:"scopeRef"`
}

A ComponentScope specifies a scope in which a component should exist.

func (*ComponentScope) DeepCopy

func (in *ComponentScope) DeepCopy() *ComponentScope

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

func (*ComponentScope) DeepCopyInto

func (in *ComponentScope) DeepCopyInto(out *ComponentScope)

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

type ComponentSpec

type ComponentSpec struct {
	// A Workload that will be created for each ApplicationConfiguration that
	// includes this Component. Workload is an instance of a workloadDefinition.
	// We either use the GVK info or a special "type" field in the workload to associate
	// the content of the workload with its workloadDefinition
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Workload runtime.RawExtension `json:"workload"`

	// HelmRelease records a Helm release used by a Helm module workload.
	// +optional
	Helm *common.Helm `json:"helm,omitempty"`

	// Parameters exposed by this component. ApplicationConfigurations that
	// reference this component may specify values for these parameters, which
	// will in turn be injected into the embedded workload.
	// +optional
	Parameters []ComponentParameter `json:"parameters,omitempty"`
}

A ComponentSpec defines the desired state of a Component.

func (*ComponentSpec) DeepCopy

func (in *ComponentSpec) DeepCopy() *ComponentSpec

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

func (*ComponentSpec) DeepCopyInto

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

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

type ComponentStatus

type ComponentStatus struct {
	// The generation observed by the component controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`

	condition.ConditionedStatus `json:",inline"`

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

A ComponentStatus represents the observed state of a Component.

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ComponentTrait

type ComponentTrait struct {
	// A Trait that will be created for the component
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:pruning:PreserveUnknownFields
	Trait runtime.RawExtension `json:"trait"`

	// DataOutputs specify the data output sources from this trait.
	// +optional
	DataOutputs []DataOutput `json:"dataOutputs,omitempty"`

	// DataInputs specify the data input sinks into this trait.
	// +optional
	DataInputs []DataInput `json:"dataInputs,omitempty"`
}

A ComponentTrait specifies a trait that should be applied to a component.

func (*ComponentTrait) DeepCopy

func (in *ComponentTrait) DeepCopy() *ComponentTrait

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

func (*ComponentTrait) DeepCopyInto

func (in *ComponentTrait) DeepCopyInto(out *ComponentTrait)

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

type ConditionOperator

type ConditionOperator string

ConditionOperator specifies the operator to match a value.

const (
	// ConditionEqual indicates equal to given value
	ConditionEqual ConditionOperator = "eq"
	// ConditionNotEqual indicates not equal to given value
	ConditionNotEqual ConditionOperator = "notEq"
	// ConditionNotEmpty indicates given value not empty
	ConditionNotEmpty ConditionOperator = "notEmpty"
)

type ConditionRequirement

type ConditionRequirement struct {
	Operator ConditionOperator `json:"op"`

	// +optional
	// Value specifies an expected value
	// This is mutually exclusive with ValueFrom
	Value string `json:"value,omitempty"`
	// +optional
	// ValueFrom specifies expected value from AppConfig
	// This is mutually exclusive with Value
	ValueFrom ValueFrom `json:"valueFrom,omitempty"`

	// +optional
	// FieldPath specifies got value from workload/trait object
	FieldPath string `json:"fieldPath,omitempty"`
}

ConditionRequirement specifies the requirement to match a value.

func (*ConditionRequirement) DeepCopy

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

func (*ConditionRequirement) DeepCopyInto

func (in *ConditionRequirement) DeepCopyInto(out *ConditionRequirement)

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

type Container

type Container struct {
	// Name of this container. Must be unique within its workload.
	Name string `json:"name"`

	// Image this container should run. Must be a path-like or URI-like
	// representation of an OCI image. May be prefixed with a registry address
	// and should be suffixed with a tag.
	Image string `json:"image"`

	// Resources required by this container
	// +optional
	Resources *ContainerResources `json:"resources,omitempty"`

	// Command to be run by this container.
	// +optional
	Command []string `json:"command,omitempty"`

	// Arguments to be passed to the command run by this container.
	// +optional
	Arguments []string `json:"args,omitempty"`

	// Environment variables that should be set within this container.
	// +optional
	Environment []ContainerEnvVar `json:"env,omitempty"`

	// ConfigFiles that should be written within this container.
	// +optional
	ConfigFiles []ContainerConfigFile `json:"config,omitempty"`

	// Ports exposed by this container.
	// +optional
	Ports []ContainerPort `json:"ports,omitempty"`

	// A LivenessProbe assesses whether this container is alive. Containers that
	// fail liveness probes will be restarted.
	// +optional
	LivenessProbe *ContainerHealthProbe `json:"livenessProbe,omitempty"`

	// A ReadinessProbe assesses whether this container is ready to serve
	// requests. Containers that fail readiness probes will be withdrawn from
	// service.
	// +optional
	ReadinessProbe *ContainerHealthProbe `json:"readinessProbe,omitempty"`

	// ImagePullSecret specifies the name of a Secret from which the
	// credentials required to pull this container's image can be loaded.
	// +optional
	ImagePullSecret *string `json:"imagePullSecret,omitempty"`
}

A Container represents an Open Containers Initiative (OCI) container.

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

type ContainerConfigFile

type ContainerConfigFile struct {
	// Path within the container at which the configuration file should be
	// written.
	Path string `json:"path"`

	// Value that should be written to the configuration file.
	// +optional
	Value *string `json:"value,omitempty"`

	// FromSecret is a secret key reference which can be used to assign a value
	// to be written to the configuration file at the given path in the
	// container.
	// +optional
	FromSecret *SecretKeySelector `json:"fromSecret,omitempty"`
}

A ContainerConfigFile specifies a configuration file that should be written within a container.

func (*ContainerConfigFile) DeepCopy

func (in *ContainerConfigFile) DeepCopy() *ContainerConfigFile

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

func (*ContainerConfigFile) DeepCopyInto

func (in *ContainerConfigFile) DeepCopyInto(out *ContainerConfigFile)

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

type ContainerEnvVar

type ContainerEnvVar struct {
	// Name of the environment variable. Must be composed of valid Unicode
	// letter and number characters, as well as _ and -.
	// +kubebuilder:validation:Pattern=^[-_a-zA-Z0-9]+$
	Name string `json:"name"`

	// Value of the environment variable.
	// +optional
	Value *string `json:"value,omitempty"`

	// FromSecret is a secret key reference which can be used to assign a value
	// to the environment variable.
	// +optional
	FromSecret *SecretKeySelector `json:"fromSecret,omitempty"`
}

A ContainerEnvVar specifies an environment variable that should be set within a container.

func (*ContainerEnvVar) DeepCopy

func (in *ContainerEnvVar) DeepCopy() *ContainerEnvVar

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

func (*ContainerEnvVar) DeepCopyInto

func (in *ContainerEnvVar) DeepCopyInto(out *ContainerEnvVar)

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

type ContainerHealthProbe

type ContainerHealthProbe struct {
	// Exec probes a container's health by executing a command.
	// +optional
	Exec *ExecProbe `json:"exec,omitempty"`

	// HTTPGet probes a container's health by sending an HTTP GET request.
	// +optional
	HTTPGet *HTTPGetProbe `json:"httpGet,omitempty"`

	// TCPSocketProbe probes a container's health by connecting to a TCP socket.
	// +optional
	TCPSocket *TCPSocketProbe `json:"tcpSocket,omitempty"`

	// InitialDelaySeconds after a container starts before the first probe.
	// +optional
	InitialDelaySeconds *int32 `json:"initialDelaySeconds,omitempty"`

	// PeriodSeconds between probes.
	// +optional
	PeriodSeconds *int32 `json:"periodSeconds,omitempty"`

	// TimeoutSeconds after which the probe times out.
	// +optional
	TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"`

	// SuccessThreshold specifies how many consecutive probes must success in
	// order for the container to be considered healthy.
	// +optional
	SuccessThreshold *int32 `json:"successThreshold,omitempty"`

	// FailureThreshold specifies how many consecutive probes must fail in order
	// for the container to be considered healthy.
	// +optional
	FailureThreshold *int32 `json:"failureThreshold,omitempty"`
}

A ContainerHealthProbe specifies how to probe the health of a container. Exactly one of Exec, HTTPGet, or TCPSocket must be specified.

func (*ContainerHealthProbe) DeepCopy

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

func (*ContainerHealthProbe) DeepCopyInto

func (in *ContainerHealthProbe) DeepCopyInto(out *ContainerHealthProbe)

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

type ContainerPort

type ContainerPort struct {
	// Name of this port. Must be unique within its container. Must be lowercase
	// alphabetical characters.
	// +kubebuilder:validation:Pattern=^[a-z]+$
	Name string `json:"name"`

	// Port number. Must be unique within its container.
	Port int32 `json:"containerPort"`

	// Protocol used by the server listening on this port.
	// +kubebuilder:validation:Enum=TCP;UDP
	// +optional
	Protocol *TransportProtocol `json:"protocol,omitempty"`
}

A ContainerPort specifies a port that is exposed by a container.

func (*ContainerPort) DeepCopy

func (in *ContainerPort) DeepCopy() *ContainerPort

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

func (*ContainerPort) DeepCopyInto

func (in *ContainerPort) DeepCopyInto(out *ContainerPort)

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

type ContainerResources

type ContainerResources struct {
	// CPU required by this container.
	CPU CPUResources `json:"cpu"`

	// Memory required by this container.
	Memory MemoryResources `json:"memory"`

	// GPU required by this container.
	// +optional
	GPU *GPUResources `json:"gpu,omitempty"`

	// Volumes required by this container.
	// +optional
	Volumes []VolumeResource `json:"volumes,omitempty"`

	// Extended resources required by this container.
	// +optional
	Extended []ExtendedResource `json:"extended,omitempty"`
}

ContainerResources specifies a container's required compute resources.

func (*ContainerResources) DeepCopy

func (in *ContainerResources) DeepCopy() *ContainerResources

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

func (*ContainerResources) DeepCopyInto

func (in *ContainerResources) DeepCopyInto(out *ContainerResources)

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

type DataInput

type DataInput struct {
	// ValueFrom specifies the value source.
	ValueFrom DataInputValueFrom `json:"valueFrom,omitempty"`

	// ToFieldPaths specifies the field paths of an object to fill passed value.
	ToFieldPaths []string `json:"toFieldPaths,omitempty"`

	// StrategyMergeKeys specifies the merge key if the toFieldPaths target is an array.
	// The StrategyMergeKeys is optional, by default, if the toFieldPaths target is an array, we will append.
	// If StrategyMergeKeys specified, we will check the key in the target array.
	// If any key exist, do update; if no key exist, append.
	StrategyMergeKeys []string `json:"strategyMergeKeys,omitempty"`

	// When the Conditions is satified, ToFieldPaths will be filled with passed value
	Conditions []ConditionRequirement `json:"conditions,omitempty"`

	// InputStore specifies the object used to read intermediate data genereted by DataOutput
	InputStore StoreReference `json:"inputStore,omitempty"`
}

DataInput specifies a data input sink to an object. If input is array, it will be appended to the target field paths.

func (*DataInput) DeepCopy

func (in *DataInput) DeepCopy() *DataInput

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

func (*DataInput) DeepCopyInto

func (in *DataInput) DeepCopyInto(out *DataInput)

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

type DataInputValueFrom

type DataInputValueFrom struct {
	// DataOutputName matches a name of a DataOutput in the same AppConfig.
	DataOutputName string `json:"dataOutputName"`
}

DataInputValueFrom specifies the value source for a data input.

func (*DataInputValueFrom) DeepCopy

func (in *DataInputValueFrom) DeepCopy() *DataInputValueFrom

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

func (*DataInputValueFrom) DeepCopyInto

func (in *DataInputValueFrom) DeepCopyInto(out *DataInputValueFrom)

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

type DataOperation added in v1.0.0

type DataOperation struct {
	// Type specifies the type of DataOperation
	Type string `json:"type"`
	// Operator specifies the operation under this DataOperation type
	Operator DataOperator `json:"op"`
	// ToFieldPath refers to the value of an object's field
	ToFieldPath string `json:"toFieldPath"`
	// ToDataPath refers to the value of an object's specfied by ToDataPath. For example the ToDataPath "redis" specifies "redis info" in '{"redis":"redis info"}'
	ToDataPath string `json:"toDataPath,omitempty"`
	// +optional
	// Value specifies an expected value
	// This is mutually exclusive with ValueFrom
	Value string `json:"value,omitempty"`
	// +optional
	// ValueFrom specifies expected value from object such as workload and trait
	// This is mutually exclusive with Value
	ValueFrom  ValueFrom              `json:"valueFrom,omitempty"`
	Conditions []ConditionRequirement `json:"conditions,omitempty"`
}

DataOperation defines the specific operation for data

func (*DataOperation) DeepCopy added in v1.0.0

func (in *DataOperation) DeepCopy() *DataOperation

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

func (*DataOperation) DeepCopyInto added in v1.0.0

func (in *DataOperation) DeepCopyInto(out *DataOperation)

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

type DataOperator added in v1.0.0

type DataOperator string

DataOperator defines the type of Operator in DataOperation

const (
	// AddOperator specifies the add operation for data passing
	AddOperator DataOperator = "add"
	// DeleteOperator specifies the delete operation for data passing
	DeleteOperator DataOperator = "delete"
	// ReplaceOperator specifies the replace operation for data passing
	ReplaceOperator DataOperator = "replace"
)

type DataOutput

type DataOutput struct {
	// Name is the unique name of a DataOutput in an ApplicationConfiguration.
	Name string `json:"name,omitempty"`

	// FieldPath refers to the value of an object's field.
	FieldPath string `json:"fieldPath,omitempty"`

	// Conditions specify the conditions that should be satisfied before emitting a data output.
	// Different conditions are AND-ed together.
	// If no conditions is specified, it is by default to check output value not empty.
	// +optional
	Conditions []ConditionRequirement `json:"conditions,omitempty"`
	// OutputStore specifies the object used to store intermediate data generated by Operations
	OutputStore StoreReference `json:"outputStore,omitempty"`
}

DataOutput specifies a data output source from an object.

func (*DataOutput) DeepCopy

func (in *DataOutput) DeepCopy() *DataOutput

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

func (*DataOutput) DeepCopyInto

func (in *DataOutput) DeepCopyInto(out *DataOutput)

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

type DependencyFromObject

type DependencyFromObject struct {
	corev1.ObjectReference `json:",inline"`
	FieldPath              string `json:"fieldPath,omitempty"`
}

DependencyFromObject represents the object that dependency data comes from.

func (*DependencyFromObject) DeepCopy

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

func (*DependencyFromObject) DeepCopyInto

func (in *DependencyFromObject) DeepCopyInto(out *DependencyFromObject)

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

type DependencyStatus

type DependencyStatus struct {
	Unsatisfied []UnstaifiedDependency `json:"unsatisfied,omitempty"`
}

DependencyStatus represents the observed state of the dependency of an ApplicationConfiguration.

func (*DependencyStatus) DeepCopy

func (in *DependencyStatus) DeepCopy() *DependencyStatus

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

func (*DependencyStatus) DeepCopyInto

func (in *DependencyStatus) DeepCopyInto(out *DependencyStatus)

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

type DependencyToObject

type DependencyToObject struct {
	corev1.ObjectReference `json:",inline"`
	FieldPaths             []string `json:"fieldPaths,omitempty"`
}

DependencyToObject represents the object that dependency data goes to.

func (*DependencyToObject) DeepCopy

func (in *DependencyToObject) DeepCopy() *DependencyToObject

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

func (*DependencyToObject) DeepCopyInto

func (in *DependencyToObject) DeepCopyInto(out *DependencyToObject)

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

type DiskResource

type DiskResource struct {
	// Required disk space.
	Required resource.Quantity `json:"required"`

	// Ephemeral specifies whether an external disk needs to be mounted.
	// +optional
	Ephemeral *bool `json:"ephemeral,omitempty"`
}

DiskResource required by a container.

func (*DiskResource) DeepCopy

func (in *DiskResource) DeepCopy() *DiskResource

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

func (*DiskResource) DeepCopyInto

func (in *DiskResource) DeepCopyInto(out *DiskResource)

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

type ExecProbe

type ExecProbe struct {
	// Command to be run by this probe.
	Command []string `json:"command"`
}

An ExecProbe probes a container's health by executing a command.

func (*ExecProbe) DeepCopy

func (in *ExecProbe) DeepCopy() *ExecProbe

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

func (*ExecProbe) DeepCopyInto

func (in *ExecProbe) DeepCopyInto(out *ExecProbe)

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

type ExtendedResource

type ExtendedResource struct {
	// Name of the external resource. Resource names are specified in
	// kind.group/version format, e.g. motionsensor.ext.example.com/v1.
	Name string `json:"name"`

	// Required extended resource(s), e.g. 8 or "very-cool-widget"
	Required intstr.IntOrString `json:"required"`
}

ExtendedResource required by a container.

func (*ExtendedResource) DeepCopy

func (in *ExtendedResource) DeepCopy() *ExtendedResource

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

func (*ExtendedResource) DeepCopyInto

func (in *ExtendedResource) DeepCopyInto(out *ExtendedResource)

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

type GPUResources

type GPUResources struct {
	// Required GPU count.
	Required resource.Quantity `json:"required"`
}

GPUResources required by a container.

func (*GPUResources) DeepCopy

func (in *GPUResources) DeepCopy() *GPUResources

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

func (*GPUResources) DeepCopyInto

func (in *GPUResources) DeepCopyInto(out *GPUResources)

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

type HTTPGetProbe

type HTTPGetProbe struct {
	// Path to probe, e.g. '/healthz'.
	Path string `json:"path"`

	// Port to probe.
	Port int32 `json:"port"`

	// HTTPHeaders to send with the GET request.
	// +optional
	HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty"`
}

A HTTPGetProbe probes a container's health by sending an HTTP GET request.

func (*HTTPGetProbe) DeepCopy

func (in *HTTPGetProbe) DeepCopy() *HTTPGetProbe

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

func (*HTTPGetProbe) DeepCopyInto

func (in *HTTPGetProbe) DeepCopyInto(out *HTTPGetProbe)

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

type HTTPHeader

type HTTPHeader struct {
	// Name of this HTTP header. Must be unique per probe.
	Name string `json:"name"`

	// Value of this HTTP header.
	Value string `json:"value"`
}

A HTTPHeader to be passed when probing a container.

func (*HTTPHeader) DeepCopy

func (in *HTTPHeader) DeepCopy() *HTTPHeader

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

func (*HTTPHeader) DeepCopyInto

func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader)

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

type HealthScope

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

	Spec   HealthScopeSpec   `json:"spec,omitempty"`
	Status HealthScopeStatus `json:"status,omitempty"`
}

A HealthScope determines an aggregate health status based of the health of components. +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status +kubebuilder:printcolumn:JSONPath=".status.health",name=HEALTH,type=string

func (*HealthScope) AddWorkloadReference

func (hs *HealthScope) AddWorkloadReference(r corev1.ObjectReference)

AddWorkloadReference to add a workload reference to this scope.

func (*HealthScope) DeepCopy

func (in *HealthScope) DeepCopy() *HealthScope

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

func (*HealthScope) DeepCopyInto

func (in *HealthScope) DeepCopyInto(out *HealthScope)

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

func (*HealthScope) DeepCopyObject

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

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

func (*HealthScope) GetCondition

func (hs *HealthScope) GetCondition(ct condition.ConditionType) condition.Condition

GetCondition of this HealthScope.

func (*HealthScope) GetWorkloadReferences

func (hs *HealthScope) GetWorkloadReferences() []corev1.ObjectReference

GetWorkloadReferences to get all workload references for scope.

func (*HealthScope) SetConditions

func (hs *HealthScope) SetConditions(c ...condition.Condition)

SetConditions of this HealthScope.

type HealthScopeList

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

HealthScopeList contains a list of HealthScope.

func (*HealthScopeList) DeepCopy

func (in *HealthScopeList) DeepCopy() *HealthScopeList

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

func (*HealthScopeList) DeepCopyInto

func (in *HealthScopeList) DeepCopyInto(out *HealthScopeList)

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

func (*HealthScopeList) DeepCopyObject

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

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

type HealthScopeSpec

type HealthScopeSpec struct {
	// ProbeTimeout is the amount of time in seconds to wait when receiving a response before marked failure.
	ProbeTimeout *int32 `json:"probe-timeout,omitempty"`

	// ProbeInterval is the amount of time in seconds between probing tries.
	ProbeInterval *int32 `json:"probe-interval,omitempty"`

	// AppRefs records references of applications' components
	AppRefs []AppReference `json:"appReferences,omitempty"`

	// WorkloadReferences to the workloads that are in this scope.
	// +deprecated
	WorkloadReferences []corev1.ObjectReference `json:"workloadRefs"`
}

A HealthScopeSpec defines the desired state of a HealthScope.

func (*HealthScopeSpec) DeepCopy

func (in *HealthScopeSpec) DeepCopy() *HealthScopeSpec

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

func (*HealthScopeSpec) DeepCopyInto

func (in *HealthScopeSpec) DeepCopyInto(out *HealthScopeSpec)

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

type HealthScopeStatus

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

	// ScopeHealthCondition represents health condition summary of the scope
	ScopeHealthCondition ScopeHealthCondition `json:"scopeHealthCondition"`

	// AppHealthConditions represents health condition of applications in the scope
	AppHealthConditions []*AppHealthCondition `json:"appHealthConditions,omitempty"`

	// WorkloadHealthConditions represents health condition of workloads in the scope
	// Use AppHealthConditions to provide app level status
	// +deprecated
	WorkloadHealthConditions []*WorkloadHealthCondition `json:"healthConditions,omitempty"`
}

A HealthScopeStatus represents the observed state of a HealthScope.

func (*HealthScopeStatus) DeepCopy

func (in *HealthScopeStatus) DeepCopy() *HealthScopeStatus

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

func (*HealthScopeStatus) DeepCopyInto

func (in *HealthScopeStatus) DeepCopyInto(out *HealthScopeStatus)

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

type HealthStatus

type HealthStatus string

HealthStatus represents health status strings.

type HistoryWorkload

type HistoryWorkload struct {
	// Revision of this workload
	Revision string `json:"revision,omitempty"`

	// Reference to running workload.
	Reference corev1.ObjectReference `json:"workloadRef,omitempty"`
}

HistoryWorkload contain the old component revision that are still running

func (*HistoryWorkload) DeepCopy

func (in *HistoryWorkload) DeepCopy() *HistoryWorkload

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

func (*HistoryWorkload) DeepCopyInto

func (in *HistoryWorkload) DeepCopyInto(out *HistoryWorkload)

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

type MemoryResources

type MemoryResources struct {
	// Required memory.
	Required resource.Quantity `json:"required"`
}

MemoryResources required by a container.

func (*MemoryResources) DeepCopy

func (in *MemoryResources) DeepCopy() *MemoryResources

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

func (*MemoryResources) DeepCopyInto

func (in *MemoryResources) DeepCopyInto(out *MemoryResources)

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

type OperatingSystem

type OperatingSystem string

An OperatingSystem required by a containerised workload.

const (
	OperatingSystemLinux   OperatingSystem = "linux"
	OperatingSystemWindows OperatingSystem = "windows"
)

Supported operating system types.

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

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 ScopeHealthCondition

type ScopeHealthCondition struct {
	HealthStatus       HealthStatus `json:"healthStatus"`
	Total              int64        `json:"total,omitempty"`
	HealthyWorkloads   int64        `json:"healthyWorkloads,omitempty"`
	UnhealthyWorkloads int64        `json:"unhealthyWorkloads,omitempty"`
	UnknownWorkloads   int64        `json:"unknownWorkloads,omitempty"`
}

ScopeHealthCondition represents health condition summary of a scope.

func (*ScopeHealthCondition) DeepCopy

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

func (*ScopeHealthCondition) DeepCopyInto

func (in *ScopeHealthCondition) DeepCopyInto(out *ScopeHealthCondition)

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

type ScopeStatus

type ScopeStatus string

A ScopeStatus represents the state of a scope.

type SecretKeySelector

type SecretKeySelector struct {
	// The name of the secret.
	Name string `json:"name"`

	// The key to select.
	Key string `json:"key"`
}

A SecretKeySelector is a reference to a secret key in an arbitrary namespace.

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

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

type StoreReference added in v1.0.0

type StoreReference struct {
	corev1.ObjectReference `json:",inline"`
	// Operations specify the data processing operations
	Operations []DataOperation `json:"operations,omitempty"`
}

StoreReference specifies the referenced object in DataOutput or DataInput

func (*StoreReference) DeepCopy added in v1.0.0

func (in *StoreReference) DeepCopy() *StoreReference

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

func (*StoreReference) DeepCopyInto added in v1.0.0

func (in *StoreReference) DeepCopyInto(out *StoreReference)

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

type TCPSocketProbe

type TCPSocketProbe struct {
	// Port this probe should connect to.
	Port int32 `json:"port"`
}

A TCPSocketProbe probes a container's health by connecting to a TCP socket.

func (*TCPSocketProbe) DeepCopy

func (in *TCPSocketProbe) DeepCopy() *TCPSocketProbe

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

func (*TCPSocketProbe) DeepCopyInto

func (in *TCPSocketProbe) DeepCopyInto(out *TCPSocketProbe)

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:printcolumn:name="APPLIES-TO",type=string,JSONPath=".spec.appliesToWorkloads" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description"

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 added in v1.0.0

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

GetCondition gets condition from TraitDefinition

func (*TraitDefinition) SetConditions added in v1.0.0

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"`
}

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 added in v1.0.0

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 trait definition
	// +optional
	LatestRevision *common.Revision `json:"latestRevision,omitempty"`
}

TraitDefinitionStatus is the status of TraitDefinition

func (*TraitDefinitionStatus) DeepCopy added in v1.0.0

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

func (*TraitDefinitionStatus) DeepCopyInto added in v1.0.0

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

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

type TraitHealthCondition added in v1.1.0

type TraitHealthCondition struct {
	Type            string       `json:"type"`
	Resource        string       `json:"resource"`
	HealthStatus    HealthStatus `json:"healthStatus"`
	Diagnosis       string       `json:"diagnosis,omitempty"`
	CustomStatusMsg string       `json:"customStatusMsg,omitempty"`
}

TraitHealthCondition represents informative health condition of a trait.

func (*TraitHealthCondition) DeepCopy added in v1.1.0

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

func (*TraitHealthCondition) DeepCopyInto added in v1.1.0

func (in *TraitHealthCondition) DeepCopyInto(out *TraitHealthCondition)

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

type TraitStatus

type TraitStatus string

A TraitStatus represents the state of a trait.

type TransportProtocol

type TransportProtocol string

A TransportProtocol represents a transport layer protocol.

const (
	TransportProtocolTCP TransportProtocol = "TCP"
	TransportProtocolUDP TransportProtocol = "UDP"
)

Transport protocols.

type UnstaifiedDependency

type UnstaifiedDependency struct {
	Reason string               `json:"reason"`
	From   DependencyFromObject `json:"from"`
	To     DependencyToObject   `json:"to"`
}

UnstaifiedDependency describes unsatisfied dependency flow between one pair of objects.

func (*UnstaifiedDependency) DeepCopy

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

func (*UnstaifiedDependency) DeepCopyInto

func (in *UnstaifiedDependency) DeepCopyInto(out *UnstaifiedDependency)

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

type ValueFrom

type ValueFrom struct {
	FieldPath string `json:"fieldPath"`
}

ValueFrom gets value from AppConfig object by specifying a path

func (*ValueFrom) DeepCopy

func (in *ValueFrom) DeepCopy() *ValueFrom

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

func (*ValueFrom) DeepCopyInto

func (in *ValueFrom) DeepCopyInto(out *ValueFrom)

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

type VolumeAccessMode

type VolumeAccessMode string

A VolumeAccessMode determines how a volume may be accessed.

const (
	VolumeAccessModeRO VolumeAccessMode = "RO"
	VolumeAccessModeRW VolumeAccessMode = "RW"
)

Volume access modes.

type VolumeResource

type VolumeResource struct {
	// Name of this volume. Must be unique within its container.
	Name string `json:"name"`

	// MountPath at which this volume will be mounted within its container.
	MountPath string `json:"mountPath"`

	// AccessMode of this volume; RO (read only) or RW (read and write).
	// +optional
	// +kubebuilder:validation:Enum=RO;RW
	AccessMode *VolumeAccessMode `json:"accessMode,omitempty"`

	// SharingPolicy of this volume; Exclusive or Shared.
	// +optional
	// +kubebuilder:validation:Enum=Exclusive;Shared
	SharingPolicy *VolumeSharingPolicy `json:"sharingPolicy,omitempty"`

	// Disk requirements of this volume.
	// +optional
	Disk *DiskResource `json:"disk,omitempty"`
}

VolumeResource required by a container.

func (*VolumeResource) DeepCopy

func (in *VolumeResource) DeepCopy() *VolumeResource

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

func (*VolumeResource) DeepCopyInto

func (in *VolumeResource) DeepCopyInto(out *VolumeResource)

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

type VolumeSharingPolicy

type VolumeSharingPolicy string

A VolumeSharingPolicy determines how a volume may be shared.

const (
	VolumeSharingPolicyExclusive VolumeSharingPolicy = "Exclusive"
	VolumeSharingPolicyShared    VolumeSharingPolicy = "Shared"
)

Volume sharing policies.

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:printcolumn:name="DEFINITION-NAME",type=string,JSONPath=".spec.definitionRef.name"

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 added in v1.0.0

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

GetCondition gets condition from WorkloadDefinition

func (*WorkloadDefinition) SetConditions added in v1.0.0

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.

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 added in v1.0.0

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

WorkloadDefinitionStatus is the status of WorkloadDefinition

func (*WorkloadDefinitionStatus) DeepCopy added in v1.0.0

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

func (*WorkloadDefinitionStatus) DeepCopyInto added in v1.0.0

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

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

type WorkloadHealthCondition

type WorkloadHealthCondition struct {
	// ComponentName represents the component name if target is a workload
	ComponentName  string                 `json:"componentName,omitempty"`
	TargetWorkload corev1.ObjectReference `json:"targetWorkload,omitempty"`
	HealthStatus   HealthStatus           `json:"healthStatus"`
	Diagnosis      string                 `json:"diagnosis,omitempty"`
	// WorkloadStatus represents status of workloads whose HealthStatus is UNKNOWN.
	WorkloadStatus  string                  `json:"workloadStatus,omitempty"`
	CustomStatusMsg string                  `json:"customStatusMsg,omitempty"`
	Traits          []*TraitHealthCondition `json:"traits,omitempty"`
}

WorkloadHealthCondition represents informative health condition of a workload.

func (*WorkloadHealthCondition) DeepCopy

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

func (*WorkloadHealthCondition) DeepCopyInto

func (in *WorkloadHealthCondition) DeepCopyInto(out *WorkloadHealthCondition)

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

type WorkloadScope

type WorkloadScope struct {
	// Status is a place holder for a customized controller to fill
	// if it needs a single place to summarize the status of the scope
	Status ScopeStatus `json:"status,omitempty"`

	// Reference to a scope created by an ApplicationConfiguration.
	Reference corev1.ObjectReference `json:"scopeRef"`
}

A WorkloadScope represents a scope associated with a workload and its status

func (*WorkloadScope) DeepCopy

func (in *WorkloadScope) DeepCopy() *WorkloadScope

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

func (*WorkloadScope) DeepCopyInto

func (in *WorkloadScope) DeepCopyInto(out *WorkloadScope)

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

type WorkloadStatus

type WorkloadStatus struct {
	// Status is a place holder for a customized controller to fill
	// if it needs a single place to summarize the entire status of the workload
	Status string `json:"status,omitempty"`

	// ComponentName that produced this workload.
	ComponentName string `json:"componentName,omitempty"`

	// ComponentRevisionName of current component
	ComponentRevisionName string `json:"componentRevisionName,omitempty"`

	// DependencyUnsatisfied notify does the workload has dependency unsatisfied
	DependencyUnsatisfied bool `json:"dependencyUnsatisfied,omitempty"`

	// AppliedComponentRevision indicates the applied component revision name of this workload
	AppliedComponentRevision string `json:"appliedComponentRevision,omitempty"`

	// Reference to a workload created by an ApplicationConfiguration.
	Reference corev1.ObjectReference `json:"workloadRef,omitempty"`

	// Traits associated with this workload.
	Traits []WorkloadTrait `json:"traits,omitempty"`

	// Scopes associated with this workload.
	Scopes []WorkloadScope `json:"scopes,omitempty"`
}

A WorkloadStatus represents the status of a workload.

func (*WorkloadStatus) DeepCopy

func (in *WorkloadStatus) DeepCopy() *WorkloadStatus

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

func (*WorkloadStatus) DeepCopyInto

func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)

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

type WorkloadTrait

type WorkloadTrait struct {
	// Status is a place holder for a customized controller to fill
	// if it needs a single place to summarize the status of the trait
	Status TraitStatus `json:"status,omitempty"`

	// Reference to a trait created by an ApplicationConfiguration.
	Reference corev1.ObjectReference `json:"traitRef"`

	// Message will allow controller to leave some additional information for this trait
	Message string `json:"message,omitempty"`

	// AppliedGeneration indicates the generation observed by the appConfig controller.
	// The same field is also recorded in the annotations of traits.
	// A trait is possible to be deleted from cluster after created.
	// This field is useful to track the observed generation of traits after they are
	// deleted.
	AppliedGeneration int64 `json:"appliedGeneration,omitempty"`

	// DependencyUnsatisfied notify does the trait has dependency unsatisfied
	DependencyUnsatisfied bool `json:"dependencyUnsatisfied,omitempty"`
}

A WorkloadTrait represents a trait associated with a workload and its status

func (*WorkloadTrait) DeepCopy

func (in *WorkloadTrait) DeepCopy() *WorkloadTrait

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

func (*WorkloadTrait) DeepCopyInto

func (in *WorkloadTrait) DeepCopyInto(out *WorkloadTrait)

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