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
- Variables
- type AppRollout
- type AppRolloutList
- type AppRolloutSpec
- type AppRolloutStatus
- type AppStatus
- type Application
- type ApplicationComponent
- type ApplicationComponentStatus
- type ApplicationConfiguration
- func (in *ApplicationConfiguration) DeepCopy() *ApplicationConfiguration
- func (in *ApplicationConfiguration) DeepCopyInto(out *ApplicationConfiguration)
- func (in *ApplicationConfiguration) DeepCopyObject() runtime.Object
- func (ac *ApplicationConfiguration) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (ac *ApplicationConfiguration) SetConditions(c ...runtimev1alpha1.Condition)
- type ApplicationConfigurationComponent
- type ApplicationConfigurationList
- type ApplicationConfigurationSpec
- type ApplicationConfigurationStatus
- type ApplicationContext
- type ApplicationContextList
- type ApplicationContextSpec
- type ApplicationList
- type ApplicationPhase
- type ApplicationRevision
- type ApplicationRevisionList
- type ApplicationRevisionSpec
- type ApplicationSpec
- type ApplicationStatus
- type ApplicationTrait
- type ApplicationTraitStatus
- type CPUArchitecture
- type CPUResources
- type CUE
- type ChildResourceKind
- type Component
- func (in *Component) DeepCopy() *Component
- func (in *Component) DeepCopyInto(out *Component)
- func (in *Component) DeepCopyObject() runtime.Object
- func (cm *Component) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (cm *Component) SetConditions(c ...runtimev1alpha1.Condition)
- type ComponentDefinition
- func (in *ComponentDefinition) DeepCopy() *ComponentDefinition
- func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)
- func (in *ComponentDefinition) DeepCopyObject() runtime.Object
- func (cd *ComponentDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (cd *ComponentDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type ComponentDefinitionList
- type ComponentDefinitionSpec
- type ComponentDefinitionStatus
- type ComponentList
- type ComponentParameter
- type ComponentParameterValue
- type ComponentScope
- type ComponentSpec
- type ComponentStatus
- type ComponentTrait
- type ConditionOperator
- type ConditionRequirement
- type Container
- type ContainerConfigFile
- type ContainerEnvVar
- type ContainerHealthProbe
- type ContainerPort
- type ContainerResources
- type ContainerizedWorkload
- func (in *ContainerizedWorkload) DeepCopy() *ContainerizedWorkload
- func (in *ContainerizedWorkload) DeepCopyInto(out *ContainerizedWorkload)
- func (in *ContainerizedWorkload) DeepCopyObject() runtime.Object
- func (wl *ContainerizedWorkload) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (wl *ContainerizedWorkload) SetConditions(c ...runtimev1alpha1.Condition)
- type ContainerizedWorkloadList
- type ContainerizedWorkloadSpec
- type ContainerizedWorkloadStatus
- type DataInput
- type DataInputValueFrom
- type DataOperation
- type DataOperator
- type DataOutput
- type DefinitionReference
- type DependencyFromObject
- type DependencyStatus
- type DependencyToObject
- type DiskResource
- type ExecProbe
- type ExtendedResource
- type GPUResources
- type HTTPGetProbe
- type HTTPHeader
- type HealthScope
- func (hs *HealthScope) AddWorkloadReference(r runtimev1alpha1.TypedReference)
- func (in *HealthScope) DeepCopy() *HealthScope
- func (in *HealthScope) DeepCopyInto(out *HealthScope)
- func (in *HealthScope) DeepCopyObject() runtime.Object
- func (hs *HealthScope) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (hs *HealthScope) GetWorkloadReferences() []runtimev1alpha1.TypedReference
- func (hs *HealthScope) SetConditions(c ...runtimev1alpha1.Condition)
- type HealthScopeList
- type HealthScopeSpec
- type HealthScopeStatus
- type HealthStatus
- type Helm
- type HistoryWorkload
- type ManualScalerTrait
- func (in *ManualScalerTrait) DeepCopy() *ManualScalerTrait
- func (in *ManualScalerTrait) DeepCopyInto(out *ManualScalerTrait)
- func (in *ManualScalerTrait) DeepCopyObject() runtime.Object
- func (tr *ManualScalerTrait) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (tr *ManualScalerTrait) GetWorkloadReference() runtimev1alpha1.TypedReference
- func (tr *ManualScalerTrait) SetConditions(c ...runtimev1alpha1.Condition)
- func (tr *ManualScalerTrait) SetWorkloadReference(r runtimev1alpha1.TypedReference)
- type ManualScalerTraitList
- type ManualScalerTraitSpec
- type ManualScalerTraitStatus
- type MemoryResources
- type OperatingSystem
- type Revision
- type RollingStatus
- type Schematic
- type ScopeDefinition
- type ScopeDefinitionList
- type ScopeDefinitionSpec
- type ScopeHealthCondition
- type ScopeStatus
- type SecretKeySelector
- type Status
- type StoreReference
- type TCPSocketProbe
- type TraitDefinition
- func (in *TraitDefinition) DeepCopy() *TraitDefinition
- func (in *TraitDefinition) DeepCopyInto(out *TraitDefinition)
- func (in *TraitDefinition) DeepCopyObject() runtime.Object
- func (td *TraitDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (td *TraitDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type TraitDefinitionList
- type TraitDefinitionSpec
- type TraitDefinitionStatus
- type TraitStatus
- type TransportProtocol
- type UnstaifiedDependency
- type ValueFrom
- type VolumeAccessMode
- type VolumeResource
- type VolumeSharingPolicy
- type WorkloadDefinition
- func (in *WorkloadDefinition) DeepCopy() *WorkloadDefinition
- func (in *WorkloadDefinition) DeepCopyInto(out *WorkloadDefinition)
- func (in *WorkloadDefinition) DeepCopyObject() runtime.Object
- func (wd *WorkloadDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (wd *WorkloadDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type WorkloadDefinitionList
- type WorkloadDefinitionSpec
- type WorkloadDefinitionStatus
- type WorkloadGVK
- type WorkloadHealthCondition
- type WorkloadScope
- type WorkloadStatus
- type WorkloadTrait
- type WorkloadTypeDescriptor
Constants ¶
const ( // StatusHealthy represents healthy status. StatusHealthy HealthStatus = "HEALTHY" // StatusUnhealthy represents unhealthy status. StatusUnhealthy = "UNHEALTHY" // StatusUnknown represents unknown status. StatusUnknown = "UNKNOWN" )
const ( Group = "core.oam.dev" Version = "v1alpha2" )
Package type metadata.
Variables ¶
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} )
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.
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.
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.
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.
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.
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.
var ( ApplicationContextKind = reflect.TypeOf(ApplicationContext{}).Name() ApplicationContextGroupKind = schema.GroupKind{Group: Group, Kind: ApplicationContextKind}.String() ApplicationContextKindAPIVersion = ApplicationContextKind + "." + SchemeGroupVersion.String() ApplicationContextGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationContextKind) )
ApplicationContext type metadata.
var ( ContainerizedWorkloadKind = reflect.TypeOf(ContainerizedWorkload{}).Name() ContainerizedWorkloadGroupKind = schema.GroupKind{Group: Group, Kind: ContainerizedWorkloadKind}.String() ContainerizedWorkloadKindAPIVersion = ContainerizedWorkloadKind + "." + SchemeGroupVersion.String() ContainerizedWorkloadGroupVersionKind = SchemeGroupVersion.WithKind(ContainerizedWorkloadKind) )
ContainerizedWorkload type metadata.
var ( ManualScalerTraitKind = reflect.TypeOf(ManualScalerTrait{}).Name() ManualScalerTraitGroupKind = schema.GroupKind{Group: Group, Kind: ManualScalerTraitKind}.String() ManualScalerTraitKindAPIVersion = ManualScalerTraitKind + "." + SchemeGroupVersion.String() ManualScalerTraitGroupVersionKind = SchemeGroupVersion.WithKind(ManualScalerTraitKind) )
ManualScalerTrait type metadata.
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.
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.
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.
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 ¶
This section is empty.
Types ¶
type AppRollout ¶ added in v1.0.0
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
func (*AppRollout) DeepCopy ¶ added in v1.0.0
func (in *AppRollout) DeepCopy() *AppRollout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRollout.
func (*AppRollout) DeepCopyInto ¶ added in v1.0.0
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 ¶ added in v1.0.0
func (in *AppRollout) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppRolloutList ¶ added in v1.0.0
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 ¶ added in v1.0.0
func (in *AppRolloutList) DeepCopy() *AppRolloutList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutList.
func (*AppRolloutList) DeepCopyInto ¶ added in v1.0.0
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 ¶ added in v1.0.0
func (in *AppRolloutList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppRolloutSpec ¶ added in v1.0.0
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 ¶ added in v1.0.0
func (in *AppRolloutSpec) DeepCopy() *AppRolloutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutSpec.
func (*AppRolloutSpec) DeepCopyInto ¶ added in v1.0.0
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 ¶ added in v1.0.0
type AppRolloutStatus struct { v1alpha1.RolloutStatus `json:",inline"` // LastUpgradedTargetAppRevision contains the name of the app that we upgraded to // We will restart the rollout if this is not the same as the spec LastUpgradedTargetAppRevision string `json:"lastTargetAppRevision"` // LastSourceAppRevision contains the name of the app that we need to upgrade from. // We will restart the rollout if this is not the same as the spec LastSourceAppRevision string `json:"LastSourceAppRevision,omitempty"` }
AppRolloutStatus defines the observed state of AppRollout
func (*AppRolloutStatus) DeepCopy ¶ added in v1.0.0
func (in *AppRolloutStatus) DeepCopy() *AppRolloutStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutStatus.
func (*AppRolloutStatus) DeepCopyInto ¶ added in v1.0.0
func (in *AppRolloutStatus) DeepCopyInto(out *AppRolloutStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppStatus ¶
type AppStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file v1alpha1.RolloutStatus `json:",inline"` Phase ApplicationPhase `json:"status,omitempty"` // Components record the related Components created by Application Controller Components []runtimev1alpha1.TypedReference `json:"components,omitempty"` // Services record the status of the application services Services []ApplicationComponentStatus `json:"services,omitempty"` // LatestRevision of the application configuration it generates // +optional LatestRevision *Revision `json:"latestRevision,omitempty"` }
AppStatus defines the observed state of Application
func (*AppStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Application ¶
type Application struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationSpec `json:"spec,omitempty"` Status AppStatus `json:"status,omitempty"` }
Application is the Schema for the applications API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam} +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 ¶ 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"` // 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
func (in *ApplicationComponent) DeepCopy() *ApplicationComponent
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 ApplicationComponentStatus ¶ added in v0.3.3
type ApplicationComponentStatus struct { Name string `json:"name"` Healthy bool `json:"healthy"` Message string `json:"message,omitempty"` Traits []ApplicationTraitStatus `json:"traits,omitempty"` }
ApplicationComponentStatus record the health status of App component
func (*ApplicationComponentStatus) DeepCopy ¶ added in v0.3.3
func (in *ApplicationComponentStatus) DeepCopy() *ApplicationComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationComponentStatus.
func (*ApplicationComponentStatus) DeepCopyInto ¶ added in v0.3.3
func (in *ApplicationComponentStatus) DeepCopyInto(out *ApplicationComponentStatus)
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={crossplane,oam} +kubebuilder:subresource:status
func (*ApplicationConfiguration) DeepCopy ¶
func (in *ApplicationConfiguration) DeepCopy() *ApplicationConfiguration
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 ¶
func (ac *ApplicationConfiguration) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition of this ApplicationConfiguration.
func (*ApplicationConfiguration) SetConditions ¶
func (ac *ApplicationConfiguration) SetConditions(c ...runtimev1alpha1.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 ¶
func (in *ApplicationConfigurationComponent) DeepCopy() *ApplicationConfigurationComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfigurationComponent.
func (*ApplicationConfigurationComponent) DeepCopyInto ¶
func (in *ApplicationConfigurationComponent) DeepCopyInto(out *ApplicationConfigurationComponent)
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 ¶
func (in *ApplicationConfigurationList) DeepCopy() *ApplicationConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfigurationList.
func (*ApplicationConfigurationList) DeepCopyInto ¶
func (in *ApplicationConfigurationList) DeepCopyInto(out *ApplicationConfigurationList)
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 ¶
func (in *ApplicationConfigurationSpec) DeepCopy() *ApplicationConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfigurationSpec.
func (*ApplicationConfigurationSpec) DeepCopyInto ¶
func (in *ApplicationConfigurationSpec) DeepCopyInto(out *ApplicationConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationConfigurationStatus ¶
type ApplicationConfigurationStatus struct { runtimev1alpha1.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 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 ¶
func (in *ApplicationConfigurationStatus) DeepCopy() *ApplicationConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationConfigurationStatus.
func (*ApplicationConfigurationStatus) DeepCopyInto ¶
func (in *ApplicationConfigurationStatus) DeepCopyInto(out *ApplicationConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationContext ¶ added in v1.0.0
type ApplicationContext struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationContextSpec `json:"spec,omitempty"` // we need to reuse the AC status Status ApplicationConfigurationStatus `json:"status,omitempty"` }
ApplicationContext is the Schema for the ApplicationContext API +kubebuilder:object:root=true +kubebuilder:resource:shortName=appcontext,categories={oam} +kubebuilder:subresource:status
func (*ApplicationContext) DeepCopy ¶ added in v1.0.0
func (in *ApplicationContext) DeepCopy() *ApplicationContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationContext.
func (*ApplicationContext) DeepCopyInto ¶ added in v1.0.0
func (in *ApplicationContext) DeepCopyInto(out *ApplicationContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationContext) DeepCopyObject ¶ added in v1.0.0
func (in *ApplicationContext) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationContextList ¶ added in v1.0.0
type ApplicationContextList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationContext `json:"items"` }
ApplicationContextList contains a list of ApplicationContext +kubebuilder:object:root=true
func (*ApplicationContextList) DeepCopy ¶ added in v1.0.0
func (in *ApplicationContextList) DeepCopy() *ApplicationContextList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationContextList.
func (*ApplicationContextList) DeepCopyInto ¶ added in v1.0.0
func (in *ApplicationContextList) DeepCopyInto(out *ApplicationContextList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationContextList) DeepCopyObject ¶ added in v1.0.0
func (in *ApplicationContextList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationContextSpec ¶ added in v1.0.0
type ApplicationContextSpec struct { // ApplicationRevisionName points to the snapshot of an Application with all its closure ApplicationRevisionName string `json:"applicationRevisionName"` }
ApplicationContextSpec is the spec of ApplicationContext
func (*ApplicationContextSpec) DeepCopy ¶ added in v1.0.0
func (in *ApplicationContextSpec) DeepCopy() *ApplicationContextSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationContextSpec.
func (*ApplicationContextSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ApplicationContextSpec) DeepCopyInto(out *ApplicationContextSpec)
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 ApplicationPhase ¶
type ApplicationPhase string
ApplicationPhase is a label for the condition of a application at the current time
const ( // ApplicationRollingOut means the app is in the middle of rolling out ApplicationRollingOut ApplicationPhase = "rollingOut" // ApplicationRendering means the app is rendering ApplicationRendering ApplicationPhase = "rendering" // ApplicationRunning means the app finished rendering and applied result to the cluster ApplicationRunning ApplicationPhase = "running" // ApplicationHealthChecking means the app finished rendering and applied result to the cluster, but still unhealthy ApplicationHealthChecking ApplicationPhase = "healthChecking" )
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:shortName=apprev,resource:categories={oam}
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
func (in *ApplicationRevisionList) DeepCopy() *ApplicationRevisionList
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 records the rendered components from Application, it will contains the whole K8s CR of workload in it. Components []*Component `json:"components"` // ApplicationConfiguration records the rendered applicationConfiguration from Application, // it will contains the whole K8s CR of trait and the reference component in it. ApplicationConfiguration ApplicationConfiguration `json:"applicationConfiguration"` }
ApplicationRevisionSpec is the spec of ApplicationRevision
func (*ApplicationRevisionSpec) DeepCopy ¶ added in v1.0.0
func (in *ApplicationRevisionSpec) DeepCopy() *ApplicationRevisionSpec
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"` }
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 ApplicationTraitStatus ¶ added in v0.3.3
type ApplicationTraitStatus struct { Type string `json:"type"` Healthy bool `json:"healthy"` Message string `json:"message,omitempty"` }
ApplicationTraitStatus records the trait health status
func (*ApplicationTraitStatus) DeepCopy ¶ added in v0.3.3
func (in *ApplicationTraitStatus) DeepCopy() *ApplicationTraitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationTraitStatus.
func (*ApplicationTraitStatus) DeepCopyInto ¶ added in v0.3.3
func (in *ApplicationTraitStatus) DeepCopyInto(out *ApplicationTraitStatus)
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 CUE ¶ added in v0.3.6
type CUE struct { // Template defines the abstraction template data of the capability, it will replace the old CUE template in extension field. // Template is a required field if CUE is defined in Capability Definition. Template string `json:"template"` }
CUE defines the encapsulation in CUE format
func (*CUE) DeepCopy ¶ added in v0.3.6
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CUE.
func (*CUE) DeepCopyInto ¶ added in v0.3.6
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChildResourceKind ¶
type ChildResourceKind struct { // APIVersion of the child resource APIVersion string `json:"apiVersion"` // Kind of the child resource Kind string `json:"kind"` // Selector to select the child resources that the workload wants to expose to traits Selector map[string]string `json:"selector,omitempty"` }
A ChildResourceKind defines a child Kubernetes resource kind with a selector
func (*ChildResourceKind) DeepCopy ¶
func (in *ChildResourceKind) DeepCopy() *ChildResourceKind
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChildResourceKind.
func (*ChildResourceKind) DeepCopyInto ¶
func (in *ChildResourceKind) DeepCopyInto(out *ChildResourceKind)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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={crossplane,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Component.
func (*Component) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Component) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Component) GetCondition ¶
func (cm *Component) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition of this Component.
func (*Component) SetConditions ¶
func (cm *Component) SetConditions(c ...runtimev1alpha1.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} +kubebuilder:subresource:status
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 runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from WorkloadDefinition
func (*ComponentDefinition) SetConditions ¶ added in v1.0.0
func (cd *ComponentDefinition) SetConditions(c ...runtimev1alpha1.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
func (in *ComponentDefinitionList) DeepCopy() *ComponentDefinitionList
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 WorkloadTypeDescriptor `json:"workload"` // ChildResourceKinds are the list of GVK of the child resources this workload generates ChildResourceKinds []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 *Status `json:"status,omitempty"` // Schematic defines the data format and template of the encapsulation of the workload // +optional Schematic *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
func (in *ComponentDefinitionSpec) DeepCopy() *ComponentDefinitionSpec
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 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 ¶ added in v1.0.0
func (in *ComponentDefinitionStatus) DeepCopy() *ComponentDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinitionStatus.
func (*ComponentDefinitionStatus) DeepCopyInto ¶ added in v1.0.0
func (in *ComponentDefinitionStatus) DeepCopyInto(out *ComponentDefinitionStatus)
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 ¶
func (in *ComponentParameterValue) DeepCopy() *ComponentParameterValue
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 runtimev1alpha1.TypedReference `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 *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"` runtimev1alpha1.ConditionedStatus `json:",inline"` // LatestRevision of component // +optional LatestRevision *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 ¶
func (in *ConditionRequirement) DeepCopy() *ConditionRequirement
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
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 ¶
func (in *ContainerHealthProbe) DeepCopy() *ContainerHealthProbe
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 ContainerizedWorkload ¶
type ContainerizedWorkload struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ContainerizedWorkloadSpec `json:"spec,omitempty"` Status ContainerizedWorkloadStatus `json:"status,omitempty"` }
A ContainerizedWorkload is a workload that runs OCI containers. +kubebuilder:resource:categories={crossplane,oam} +kubebuilder:subresource:status
func (*ContainerizedWorkload) DeepCopy ¶
func (in *ContainerizedWorkload) DeepCopy() *ContainerizedWorkload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerizedWorkload.
func (*ContainerizedWorkload) DeepCopyInto ¶
func (in *ContainerizedWorkload) DeepCopyInto(out *ContainerizedWorkload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerizedWorkload) DeepCopyObject ¶
func (in *ContainerizedWorkload) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ContainerizedWorkload) GetCondition ¶
func (wl *ContainerizedWorkload) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition of this ContainerizedWorkload.
func (*ContainerizedWorkload) SetConditions ¶
func (wl *ContainerizedWorkload) SetConditions(c ...runtimev1alpha1.Condition)
SetConditions of this ContainerizedWorkload.
type ContainerizedWorkloadList ¶
type ContainerizedWorkloadList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ContainerizedWorkload `json:"items"` }
ContainerizedWorkloadList contains a list of ContainerizedWorkload.
func (*ContainerizedWorkloadList) DeepCopy ¶
func (in *ContainerizedWorkloadList) DeepCopy() *ContainerizedWorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerizedWorkloadList.
func (*ContainerizedWorkloadList) DeepCopyInto ¶
func (in *ContainerizedWorkloadList) DeepCopyInto(out *ContainerizedWorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerizedWorkloadList) DeepCopyObject ¶
func (in *ContainerizedWorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ContainerizedWorkloadSpec ¶
type ContainerizedWorkloadSpec struct { // OperatingSystem required by this workload. // +kubebuilder:validation:Enum=linux;windows // +optional OperatingSystem *OperatingSystem `json:"osType,omitempty"` // CPUArchitecture required by this workload. // +kubebuilder:validation:Enum=i386;amd64;arm;arm64 // +optional CPUArchitecture *CPUArchitecture `json:"arch,omitempty"` // Containers of which this workload consists. Containers []Container `json:"containers"` }
A ContainerizedWorkloadSpec defines the desired state of a ContainerizedWorkload.
func (*ContainerizedWorkloadSpec) DeepCopy ¶
func (in *ContainerizedWorkloadSpec) DeepCopy() *ContainerizedWorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerizedWorkloadSpec.
func (*ContainerizedWorkloadSpec) DeepCopyInto ¶
func (in *ContainerizedWorkloadSpec) DeepCopyInto(out *ContainerizedWorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerizedWorkloadStatus ¶
type ContainerizedWorkloadStatus struct { runtimev1alpha1.ConditionedStatus `json:",inline"` // Resources managed by this containerised workload. Resources []runtimev1alpha1.TypedReference `json:"resources,omitempty"` }
A ContainerizedWorkloadStatus represents the observed state of a ContainerizedWorkload.
func (*ContainerizedWorkloadStatus) DeepCopy ¶
func (in *ContainerizedWorkloadStatus) DeepCopy() *ContainerizedWorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerizedWorkloadStatus.
func (*ContainerizedWorkloadStatus) DeepCopyInto ¶
func (in *ContainerizedWorkloadStatus) DeepCopyInto(out *ContainerizedWorkloadStatus)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataInput.
func (*DataInput) DeepCopyInto ¶
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 DefinitionReference ¶
type DefinitionReference struct { // Name of the referenced CustomResourceDefinition. Name string `json:"name"` // Version indicate which version should be used if CRD has multiple versions // by default it will use the first one if not specified Version string `json:"version,omitempty"` }
A DefinitionReference refers to a CustomResourceDefinition by name.
func (*DefinitionReference) DeepCopy ¶
func (in *DefinitionReference) DeepCopy() *DefinitionReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionReference.
func (*DefinitionReference) DeepCopyInto ¶
func (in *DefinitionReference) DeepCopyInto(out *DefinitionReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependencyFromObject ¶
type DependencyFromObject struct { runtimev1alpha1.TypedReference `json:",inline"` FieldPath string `json:"fieldPath,omitempty"` }
DependencyFromObject represents the object that dependency data comes from.
func (*DependencyFromObject) DeepCopy ¶
func (in *DependencyFromObject) DeepCopy() *DependencyFromObject
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 { runtimev1alpha1.TypedReference `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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecProbe.
func (*ExecProbe) DeepCopyInto ¶
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 ¶
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={crossplane,oam} +kubebuilder:subresource:status +kubebuilder:printcolumn:JSONPath=".status.health",name=HEALTH,type=string
func (*HealthScope) AddWorkloadReference ¶
func (hs *HealthScope) AddWorkloadReference(r runtimev1alpha1.TypedReference)
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 runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition of this HealthScope.
func (*HealthScope) GetWorkloadReferences ¶
func (hs *HealthScope) GetWorkloadReferences() []runtimev1alpha1.TypedReference
GetWorkloadReferences to get all workload references for scope.
func (*HealthScope) SetConditions ¶
func (hs *HealthScope) SetConditions(c ...runtimev1alpha1.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"` // WorkloadReferences to the workloads that are in this scope. WorkloadReferences []runtimev1alpha1.TypedReference `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 { runtimev1alpha1.ConditionedStatus `json:",inline"` // ScopeHealthCondition represents health condition summary of the scope ScopeHealthCondition ScopeHealthCondition `json:"scopeHealthCondition"` // WorkloadHealthConditions represents health condition of workloads in the scope 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 Helm ¶
type Helm struct { // Release records a Helm release used by a Helm module workload. // +kubebuilder:pruning:PreserveUnknownFields Release runtime.RawExtension `json:"release"` // HelmRelease records a Helm repository used by a Helm module workload. // +kubebuilder:pruning:PreserveUnknownFields Repository runtime.RawExtension `json:"repository"` }
A Helm represents resources used by a Helm module
func (*Helm) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Helm.
func (*Helm) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HistoryWorkload ¶
type HistoryWorkload struct { // Revision of this workload Revision string `json:"revision,omitempty"` // Reference to running workload. Reference runtimev1alpha1.TypedReference `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 ManualScalerTrait ¶
type ManualScalerTrait struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ManualScalerTraitSpec `json:"spec,omitempty"` Status ManualScalerTraitStatus `json:"status,omitempty"` }
A ManualScalerTrait determines how many replicas a workload should have. +kubebuilder:resource:categories={crossplane,oam} +kubebuilder:subresource:status
func (*ManualScalerTrait) DeepCopy ¶
func (in *ManualScalerTrait) DeepCopy() *ManualScalerTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalerTrait.
func (*ManualScalerTrait) DeepCopyInto ¶
func (in *ManualScalerTrait) DeepCopyInto(out *ManualScalerTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManualScalerTrait) DeepCopyObject ¶
func (in *ManualScalerTrait) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ManualScalerTrait) GetCondition ¶
func (tr *ManualScalerTrait) GetCondition(ct runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition of this ManualScalerTrait.
func (*ManualScalerTrait) GetWorkloadReference ¶
func (tr *ManualScalerTrait) GetWorkloadReference() runtimev1alpha1.TypedReference
GetWorkloadReference of this ManualScalerTrait.
func (*ManualScalerTrait) SetConditions ¶
func (tr *ManualScalerTrait) SetConditions(c ...runtimev1alpha1.Condition)
SetConditions of this ManualScalerTrait.
func (*ManualScalerTrait) SetWorkloadReference ¶
func (tr *ManualScalerTrait) SetWorkloadReference(r runtimev1alpha1.TypedReference)
SetWorkloadReference of this ManualScalerTrait.
type ManualScalerTraitList ¶
type ManualScalerTraitList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ManualScalerTrait `json:"items"` }
ManualScalerTraitList contains a list of ManualScalerTrait.
func (*ManualScalerTraitList) DeepCopy ¶
func (in *ManualScalerTraitList) DeepCopy() *ManualScalerTraitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalerTraitList.
func (*ManualScalerTraitList) DeepCopyInto ¶
func (in *ManualScalerTraitList) DeepCopyInto(out *ManualScalerTraitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManualScalerTraitList) DeepCopyObject ¶
func (in *ManualScalerTraitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManualScalerTraitSpec ¶
type ManualScalerTraitSpec struct { // ReplicaCount of the workload this trait applies to. ReplicaCount int32 `json:"replicaCount"` // WorkloadReference to the workload this trait applies to. WorkloadReference runtimev1alpha1.TypedReference `json:"workloadRef"` }
A ManualScalerTraitSpec defines the desired state of a ManualScalerTrait.
func (*ManualScalerTraitSpec) DeepCopy ¶
func (in *ManualScalerTraitSpec) DeepCopy() *ManualScalerTraitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalerTraitSpec.
func (*ManualScalerTraitSpec) DeepCopyInto ¶
func (in *ManualScalerTraitSpec) DeepCopyInto(out *ManualScalerTraitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManualScalerTraitStatus ¶
type ManualScalerTraitStatus struct {
runtimev1alpha1.ConditionedStatus `json:",inline"`
}
A ManualScalerTraitStatus represents the observed state of a ManualScalerTrait.
func (*ManualScalerTraitStatus) DeepCopy ¶
func (in *ManualScalerTraitStatus) DeepCopy() *ManualScalerTraitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualScalerTraitStatus.
func (*ManualScalerTraitStatus) DeepCopyInto ¶
func (in *ManualScalerTraitStatus) DeepCopyInto(out *ManualScalerTraitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemoryResources ¶
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 Revision ¶
type Revision struct { Name string `json:"name"` Revision int64 `json:"revision"` // RevisionHash record the hash value of the spec of ApplicationRevision object. RevisionHash string `json:"revisionHash,omitempty"` }
Revision has name and revision number
func (*Revision) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revision.
func (*Revision) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingStatus ¶
type RollingStatus string
RollingStatus represents the rollout phases
const ( // RollingTemplating means that the AC is rolling and need template RollingTemplating RollingStatus = "RollingTemplating" // RollingTemplated means that the AC is rolling and it already templated RollingTemplated RollingStatus = "RollingTemplated" // RollingCompleted means that the AC is the new active revision of the application RollingCompleted RollingStatus = "RollingCompleted" // InactiveAfterRollingCompleted means that the AC is the inactive revision after the rolling is finished InactiveAfterRollingCompleted RollingStatus = "InactiveAfterRollingCompleted" )
type Schematic ¶ added in v0.3.6
Schematic defines the encapsulation of this capability(workload/trait/scope), the encapsulation can be defined in different ways, e.g. CUE/HCL(terraform)/KUBE(K8s Object)/HELM, etc...
func (*Schematic) DeepCopy ¶ added in v0.3.6
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schematic.
func (*Schematic) DeepCopyInto ¶ added in v0.3.6
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={crossplane,oam}
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 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 ¶
func (in *ScopeHealthCondition) DeepCopy() *ScopeHealthCondition
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 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 Status ¶ added in v0.3.3
type Status struct { // CustomStatus defines the custom status message that could display to user // +optional CustomStatus string `json:"customStatus,omitempty"` // HealthPolicy defines the health check policy for the abstraction // +optional HealthPolicy string `json:"healthPolicy,omitempty"` }
Status defines the loop back status of the abstraction by using CUE template
func (*Status) DeepCopy ¶ added in v0.3.3
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶ added in v0.3.3
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 { runtimev1alpha1.TypedReference `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:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={crossplane,oam} +kubebuilder:subresource:status
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 runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from TraitDefinition
func (*TraitDefinition) SetConditions ¶ added in v1.0.0
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 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 *Schematic `json:"schematic,omitempty"` // Status defines the custom health policy and status message for trait // +optional Status *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 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 ¶ added in v1.0.0
func (in *TraitDefinitionStatus) DeepCopy() *TraitDefinitionStatus
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 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 ¶
func (in *UnstaifiedDependency) DeepCopy() *UnstaifiedDependency
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFrom.
func (*ValueFrom) DeepCopyInto ¶
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" )
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:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={crossplane,oam}
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 runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from WorkloadDefinition
func (*WorkloadDefinition) SetConditions ¶ added in v1.0.0
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 ¶
func (in *WorkloadDefinitionList) DeepCopy() *WorkloadDefinitionList
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 DefinitionReference `json:"definitionRef"` // ChildResourceKinds are the list of GVK of the child resources this workload generates ChildResourceKinds []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 *Status `json:"status,omitempty"` // Schematic defines the data format and template of the encapsulation of the workload // +optional Schematic *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 ¶
func (in *WorkloadDefinitionSpec) DeepCopy() *WorkloadDefinitionSpec
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 {
runtimev1alpha1.ConditionedStatus `json:",inline"`
}
WorkloadDefinitionStatus is the status of WorkloadDefinition
func (*WorkloadDefinitionStatus) DeepCopy ¶ added in v1.0.0
func (in *WorkloadDefinitionStatus) DeepCopy() *WorkloadDefinitionStatus
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 WorkloadGVK ¶
WorkloadGVK refer to a Workload Type
func (*WorkloadGVK) DeepCopy ¶
func (in *WorkloadGVK) DeepCopy() *WorkloadGVK
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadGVK.
func (*WorkloadGVK) DeepCopyInto ¶
func (in *WorkloadGVK) DeepCopyInto(out *WorkloadGVK)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadHealthCondition ¶
type WorkloadHealthCondition struct { // ComponentName represents the component name if target is a workload ComponentName string `json:"componentName,omitempty"` TargetWorkload runtimev1alpha1.TypedReference `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"` }
WorkloadHealthCondition represents informative health condition.
func (*WorkloadHealthCondition) DeepCopy ¶
func (in *WorkloadHealthCondition) DeepCopy() *WorkloadHealthCondition
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 runtimev1alpha1.TypedReference `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 runtimev1alpha1.TypedReference `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 runtimev1alpha1.TypedReference `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.
type WorkloadTypeDescriptor ¶
type WorkloadTypeDescriptor struct { // Type ref to a WorkloadDefinition via name Type string `json:"type,omitempty"` // Definition mutually exclusive to workload.type, a embedded WorkloadDefinition Definition WorkloadGVK `json:"definition,omitempty"` }
A WorkloadTypeDescriptor refer to a Workload Type
func (*WorkloadTypeDescriptor) DeepCopy ¶
func (in *WorkloadTypeDescriptor) DeepCopy() *WorkloadTypeDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadTypeDescriptor.
func (*WorkloadTypeDescriptor) DeepCopyInto ¶
func (in *WorkloadTypeDescriptor) DeepCopyInto(out *WorkloadTypeDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.