v1beta1

package
v1.0.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: Apache-2.0 Imports: 8 Imported by: 11

Documentation

Overview

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

Index

Constants

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

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 (
	ApplicationKind            = reflect.TypeOf(Application{}).Name()
	ApplicationGroupKind       = schema.GroupKind{Group: Group, Kind: ApplicationKind}.String()
	ApplicationKindAPIVersion  = ApplicationKind + "." + SchemeGroupVersion.String()
	ApplicationKindVersionKind = SchemeGroupVersion.WithKind(ApplicationKind)
)

Application type metadata.

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

AppRollout type metadata.

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

ApplicationRevision type metadata

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

ScopeDefinition type metadata.

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

AppDeployment type metadata.

Functions

This section is empty.

Types

type AppDeployment

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

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

AppDeployment is the Schema for the AppDeployment API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status

func (*AppDeployment) DeepCopy

func (in *AppDeployment) DeepCopy() *AppDeployment

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

func (*AppDeployment) DeepCopyInto

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

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

func (*AppDeployment) DeepCopyObject

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

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

type AppDeploymentList

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

AppDeploymentList contains a list of AppDeployment +kubebuilder:object:root=true

func (*AppDeploymentList) DeepCopy

func (in *AppDeploymentList) DeepCopy() *AppDeploymentList

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

func (*AppDeploymentList) DeepCopyInto

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

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

func (*AppDeploymentList) DeepCopyObject

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

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

type AppDeploymentPhase

type AppDeploymentPhase string

AppDeploymentPhase defines the phase that the AppDeployment is undergoing.

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

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

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

type AppDeploymentSpec

type AppDeploymentSpec struct {

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

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

AppDeploymentSpec defines how to describe an upgrade between different apps

func (*AppDeploymentSpec) DeepCopy

func (in *AppDeploymentSpec) DeepCopy() *AppDeploymentSpec

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

func (*AppDeploymentSpec) DeepCopyInto

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

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

type AppDeploymentStatus

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

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

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

AppDeploymentStatus defines the observed state of AppDeployment

func (*AppDeploymentStatus) DeepCopy

func (in *AppDeploymentStatus) DeepCopy() *AppDeploymentStatus

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

func (*AppDeploymentStatus) DeepCopyInto

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

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

type AppRevision

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

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

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

func (*AppRevision) DeepCopy

func (in *AppRevision) DeepCopy() *AppRevision

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

func (*AppRevision) DeepCopyInto

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

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

type AppRollout

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

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

AppRollout is the Schema for the AppRollout API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status +kubebuilder:storageversion

func (*AppRollout) DeepCopy

func (in *AppRollout) DeepCopy() *AppRollout

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

func (*AppRollout) DeepCopyInto

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

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

func (*AppRollout) DeepCopyObject

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

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

type AppRolloutList

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

AppRolloutList contains a list of AppRollout +kubebuilder:object:root=true

func (*AppRolloutList) DeepCopy

func (in *AppRolloutList) DeepCopy() *AppRolloutList

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

func (*AppRolloutList) DeepCopyInto

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

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

func (*AppRolloutList) DeepCopyObject

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

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

type AppRolloutSpec

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

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

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

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

	// RevertOnDelete revert the rollout when the rollout CR is deleted
	// It will remove the target app from the kubernetes if it's set to true
	// +optional
	RevertOnDelete *bool `json:"revertOnDelete,omitempty"`
}

AppRolloutSpec defines how to describe an upgrade between different apps

func (*AppRolloutSpec) DeepCopy

func (in *AppRolloutSpec) DeepCopy() *AppRolloutSpec

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

func (*AppRolloutSpec) DeepCopyInto

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

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

type AppRolloutStatus

type AppRolloutStatus struct {
	v1alpha1.RolloutStatus `json:",inline"`

	// LastUpgradedTargetAppRevision contains the name of the app that we upgraded to
	// We will restart the rollout if this is not the same as the spec
	LastUpgradedTargetAppRevision string `json:"lastTargetAppRevision"`

	// LastSourceAppRevision contains the name of the app that we need to upgrade from.
	// We will restart the rollout if this is not the same as the spec
	LastSourceAppRevision string `json:"LastSourceAppRevision,omitempty"`
}

AppRolloutStatus defines the observed state of AppRollout

func (*AppRolloutStatus) DeepCopy

func (in *AppRolloutStatus) DeepCopy() *AppRolloutStatus

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

func (*AppRolloutStatus) DeepCopyInto

func (in *AppRolloutStatus) DeepCopyInto(out *AppRolloutStatus)

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

type Application

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

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

Application is the Schema for the applications API +kubebuilder:storageversion +kubebuilder:subresource:status

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto

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

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

func (*Application) DeepCopyObject

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

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

func (*Application) GetComponent

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

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

func (*Application) Hub

func (*Application) Hub()

Hub marks this type as a conversion hub.

type ApplicationComponent

type ApplicationComponent struct {
	Name string `json:"name"`
	Type string `json:"type"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Properties runtime.RawExtension `json:"properties,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

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

func (*ApplicationComponent) DeepCopyInto

func (in *ApplicationComponent) DeepCopyInto(out *ApplicationComponent)

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

type 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

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

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

ApplicationRevision is the Schema for the ApplicationRevision API +kubebuilder:storageversion

func (*ApplicationRevision) DeepCopy

func (in *ApplicationRevision) DeepCopy() *ApplicationRevision

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

func (*ApplicationRevision) DeepCopyInto

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

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

func (*ApplicationRevision) DeepCopyObject

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

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

type ApplicationRevisionList

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

ApplicationRevisionList contains a list of ApplicationRevision

func (*ApplicationRevisionList) DeepCopy

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

func (*ApplicationRevisionList) DeepCopyInto

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

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

func (*ApplicationRevisionList) DeepCopyObject

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

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

type ApplicationRevisionSpec

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

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

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

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

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

	// Components records the rendered components from Application, it will contains the whole K8s CR of workload in it.
	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

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

func (*ApplicationRevisionSpec) DeepCopyInto

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

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

type ApplicationSpec

type ApplicationSpec struct {
	Components []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

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

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

func (*ApplicationSpec) DeepCopyInto

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

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

type ApplicationTrait

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

ApplicationTrait defines the trait of application

func (*ApplicationTrait) DeepCopy

func (in *ApplicationTrait) DeepCopy() *ApplicationTrait

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

func (*ApplicationTrait) DeepCopyInto

func (in *ApplicationTrait) DeepCopyInto(out *ApplicationTrait)

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

type ClusterPlacement

type ClusterPlacement struct {
	// ClusterSelector selects the cluster to  deploy apps to.
	// If not specified, it indicates the host cluster per se.
	ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"`

	// Distribution defines the replica distribution of an AppRevision to a cluster.
	Distribution Distribution `json:"distribution,omitempty"`
}

ClusterPlacement defines the cluster placement rules for an app revision.

func (*ClusterPlacement) DeepCopy

func (in *ClusterPlacement) DeepCopy() *ClusterPlacement

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

func (*ClusterPlacement) DeepCopyInto

func (in *ClusterPlacement) DeepCopyInto(out *ClusterPlacement)

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

type ClusterPlacementStatus

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

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

ClusterPlacementStatus shows the placement results of a cluster.

func (*ClusterPlacementStatus) DeepCopy

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

func (*ClusterPlacementStatus) DeepCopyInto

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

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

type ClusterSelector

type ClusterSelector struct {
	// Name is the name of the cluster.
	Name string `json:"name,omitempty"`

	// Labels defines the label selector to select the cluster.
	Labels map[string]string `json:"labels,omitempty"`
}

ClusterSelector defines the rules to select a Cluster resource. Either name or labels is needed.

func (*ClusterSelector) DeepCopy

func (in *ClusterSelector) DeepCopy() *ClusterSelector

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

func (*ClusterSelector) DeepCopyInto

func (in *ClusterSelector) DeepCopyInto(out *ClusterSelector)

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

type ComponentDefinition

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

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

ComponentDefinition is the Schema for the componentdefinitions API +kubebuilder:resource:scope=Namespaced,categories={oam} +kubebuilder:storageversion +kubebuilder:subresource:status

func (*ComponentDefinition) DeepCopy

func (in *ComponentDefinition) DeepCopy() *ComponentDefinition

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

func (*ComponentDefinition) DeepCopyInto

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

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

func (*ComponentDefinition) DeepCopyObject

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

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

func (*ComponentDefinition) GetCondition

GetCondition gets condition from WorkloadDefinition

func (*ComponentDefinition) SetConditions

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

SetConditions set condition for WorkloadDefinition

type ComponentDefinitionList

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

ComponentDefinitionList contains a list of ComponentDefinition

func (*ComponentDefinitionList) DeepCopy

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

func (*ComponentDefinitionList) DeepCopyInto

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

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

func (*ComponentDefinitionList) DeepCopyObject

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

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

type ComponentDefinitionSpec

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

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

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

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

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

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

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

ComponentDefinitionSpec defines the desired state of ComponentDefinition

func (*ComponentDefinitionSpec) DeepCopy

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

func (*ComponentDefinitionSpec) DeepCopyInto

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

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

type ComponentDefinitionStatus

type ComponentDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	runtimev1alpha1.ConditionedStatus `json:",inline"`
	// ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters.
	ConfigMapRef string `json:"configMapRef,omitempty"`
}

ComponentDefinitionStatus is the status of ComponentDefinition

func (*ComponentDefinitionStatus) DeepCopy

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

func (*ComponentDefinitionStatus) DeepCopyInto

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

type Distribution

type Distribution struct {
	// Replicas is the replica number.
	Replicas int `json:"replicas,omitempty"`
}

Distribution defines the replica distribution of an AppRevision to a cluster.

func (*Distribution) DeepCopy

func (in *Distribution) DeepCopy() *Distribution

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

func (*Distribution) DeepCopyInto

func (in *Distribution) DeepCopyInto(out *Distribution)

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

type HTTPMatchRequest

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

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

func (*HTTPMatchRequest) DeepCopy

func (in *HTTPMatchRequest) DeepCopy() *HTTPMatchRequest

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

func (*HTTPMatchRequest) DeepCopyInto

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

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

type HTTPRule

type HTTPRule struct {

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

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

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

func (*HTTPRule) DeepCopy

func (in *HTTPRule) DeepCopy() *HTTPRule

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

func (*HTTPRule) DeepCopyInto

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

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

type PlacementStatus

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

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

PlacementStatus shows the cluster placement results of an app revision.

func (*PlacementStatus) DeepCopy

func (in *PlacementStatus) DeepCopy() *PlacementStatus

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

func (*PlacementStatus) DeepCopyInto

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

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

type 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} +kubebuilder:storageversion

func (*ScopeDefinition) DeepCopy

func (in *ScopeDefinition) DeepCopy() *ScopeDefinition

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

func (*ScopeDefinition) DeepCopyInto

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

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

func (*ScopeDefinition) DeepCopyObject

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

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

type ScopeDefinitionList

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

ScopeDefinitionList contains a list of ScopeDefinition.

func (*ScopeDefinitionList) DeepCopy

func (in *ScopeDefinitionList) DeepCopy() *ScopeDefinitionList

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

func (*ScopeDefinitionList) DeepCopyInto

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

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

func (*ScopeDefinitionList) DeepCopyObject

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

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

type ScopeDefinitionSpec

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

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

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

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

A ScopeDefinitionSpec defines the desired state of a ScopeDefinition.

func (*ScopeDefinitionSpec) DeepCopy

func (in *ScopeDefinitionSpec) DeepCopy() *ScopeDefinitionSpec

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

func (*ScopeDefinitionSpec) DeepCopyInto

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

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

type Traffic

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

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

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

Traffic defines the traffic rules to apply across revisions.

func (*Traffic) DeepCopy

func (in *Traffic) DeepCopy() *Traffic

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

func (*Traffic) DeepCopyInto

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

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

type TraitDefinition

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

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

A TraitDefinition registers a kind of Kubernetes custom resource as a valid OAM trait kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the trait when it is embedded in an OAM ApplicationConfiguration. +kubebuilder:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={oam} +kubebuilder:subresource:status +kubebuilder:storageversion

func (*TraitDefinition) DeepCopy

func (in *TraitDefinition) DeepCopy() *TraitDefinition

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

func (*TraitDefinition) DeepCopyInto

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

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

func (*TraitDefinition) DeepCopyObject

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

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

func (*TraitDefinition) GetCondition

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

GetCondition gets condition from TraitDefinition

func (*TraitDefinition) SetConditions

func (td *TraitDefinition) SetConditions(c ...runtimev1alpha1.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"`

	// 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

type TraitDefinitionStatus struct {
	// ConditionedStatus reflects the observed status of a resource
	runtimev1alpha1.ConditionedStatus `json:",inline"`
	// ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters.
	ConfigMapRef string `json:"configMapRef,omitempty"`
}

TraitDefinitionStatus is the status of TraitDefinition

func (*TraitDefinitionStatus) DeepCopy

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

func (*TraitDefinitionStatus) DeepCopyInto

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

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

type URIMatch

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

URIMatch defines the rules to match with an URI.

func (*URIMatch) DeepCopy

func (in *URIMatch) DeepCopy() *URIMatch

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

func (*URIMatch) DeepCopyInto

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

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

type WeightedTarget

type WeightedTarget struct {

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

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

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

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

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

func (*WeightedTarget) DeepCopy

func (in *WeightedTarget) DeepCopy() *WeightedTarget

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

func (*WeightedTarget) DeepCopyInto

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

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

type 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:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={oam} +kubebuilder:storageversion

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

GetCondition gets condition from WorkloadDefinition

func (*WorkloadDefinition) SetConditions

func (wd *WorkloadDefinition) SetConditions(c ...runtimev1alpha1.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

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

WorkloadDefinitionStatus is the status of WorkloadDefinition

func (*WorkloadDefinitionStatus) DeepCopy

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

func (*WorkloadDefinitionStatus) DeepCopyInto

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

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

Jump to

Keyboard shortcuts

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