Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the temporal.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=temporal.io
Index ¶
- Variables
- type AllAtOnceRolloutStrategy
- type DefaultVersionUpdateStrategy
- type GateWorkflowConfig
- type ManualRolloutStrategy
- type QueueStatistics
- type RolloutStep
- type RolloutStrategy
- type SunsetStrategy
- type TaskQueue
- type TemporalConnection
- type TemporalConnectionList
- type TemporalConnectionSpec
- type TemporalConnectionStatus
- type TemporalWorkerDeployment
- func (in *TemporalWorkerDeployment) DeepCopy() *TemporalWorkerDeployment
- func (in *TemporalWorkerDeployment) DeepCopyInto(out *TemporalWorkerDeployment)
- func (in *TemporalWorkerDeployment) DeepCopyObject() runtime.Object
- func (r *TemporalWorkerDeployment) Default()
- func (r *TemporalWorkerDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
- type TemporalWorkerDeploymentList
- type TemporalWorkerDeploymentSpec
- type TemporalWorkerDeploymentStatus
- type VersionStatus
- type WorkerDeploymentVersion
- type WorkerOptions
- type WorkflowExecution
- type WorkflowExecutionStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "temporal.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AllAtOnceRolloutStrategy ¶
type AllAtOnceRolloutStrategy struct{}
func (*AllAtOnceRolloutStrategy) DeepCopy ¶
func (in *AllAtOnceRolloutStrategy) DeepCopy() *AllAtOnceRolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllAtOnceRolloutStrategy.
func (*AllAtOnceRolloutStrategy) DeepCopyInto ¶
func (in *AllAtOnceRolloutStrategy) DeepCopyInto(out *AllAtOnceRolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultVersionUpdateStrategy ¶
type DefaultVersionUpdateStrategy string
DefaultVersionUpdateStrategy describes how to cut over new workflow executions to the target worker deployment version. +kubebuilder:validation:Enum=Manual;AllAtOnce;Progressive
const ( UpdateManual DefaultVersionUpdateStrategy = "Manual" UpdateAllAtOnce DefaultVersionUpdateStrategy = "AllAtOnce" UpdateProgressive DefaultVersionUpdateStrategy = "Progressive" )
type GateWorkflowConfig ¶
type GateWorkflowConfig struct {
WorkflowType string `json:"workflowType"`
}
func (*GateWorkflowConfig) DeepCopy ¶
func (in *GateWorkflowConfig) DeepCopy() *GateWorkflowConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateWorkflowConfig.
func (*GateWorkflowConfig) DeepCopyInto ¶
func (in *GateWorkflowConfig) DeepCopyInto(out *GateWorkflowConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManualRolloutStrategy ¶
type ManualRolloutStrategy struct{}
func (*ManualRolloutStrategy) DeepCopy ¶
func (in *ManualRolloutStrategy) DeepCopy() *ManualRolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualRolloutStrategy.
func (*ManualRolloutStrategy) DeepCopyInto ¶
func (in *ManualRolloutStrategy) DeepCopyInto(out *ManualRolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueueStatistics ¶
type QueueStatistics struct { // The approximate number of tasks backlogged in this task queue. May count expired tasks but eventually converges // to the right value. ApproximateBacklogCount int64 `json:"approximateBacklogCount,omitempty"` // Approximate age of the oldest task in the backlog based on the creation timestamp of the task at the head of the queue. ApproximateBacklogAge metav1.Duration `json:"approximateBacklogAge,omitempty"` // Approximate tasks per second added to the task queue based on activity within a fixed window. This includes both backlogged and // sync-matched tasks. TasksAddRate float32 `json:"tasksAddRate,omitempty"` // Approximate tasks per second dispatched to workers based on activity within a fixed window. This includes both backlogged and // sync-matched tasks. TasksDispatchRate float32 `json:"tasksDispatchRate,omitempty"` }
func (*QueueStatistics) DeepCopy ¶
func (in *QueueStatistics) DeepCopy() *QueueStatistics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatistics.
func (*QueueStatistics) DeepCopyInto ¶
func (in *QueueStatistics) DeepCopyInto(out *QueueStatistics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStep ¶
type RolloutStep struct { // RampPercentage indicates what percentage of new workflow executions should be // routed to the new worker deployment version while this step is active. // // Acceptable range is [0,100]. RampPercentage float32 `json:"rampPercentage"` // PauseDuration indicates how long to pause before progressing to the next step. PauseDuration metav1.Duration `json:"pauseDuration"` }
func (*RolloutStep) DeepCopy ¶
func (in *RolloutStep) DeepCopy() *RolloutStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStep.
func (*RolloutStep) DeepCopyInto ¶
func (in *RolloutStep) DeepCopyInto(out *RolloutStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStrategy ¶
type RolloutStrategy struct { // Specifies how to treat concurrent executions of a Job. // Valid values are: // - "Manual": do not automatically update the default worker deployment version; // - "AllAtOnce": start 100% of new workflow executions on the new worker deployment version as soon as it's healthy; // - "Progressive": ramp up the percentage of new workflow executions targeting the new worker deployment version over time. Strategy DefaultVersionUpdateStrategy `json:"strategy"` // Gate specifies a workflow type that must run once to completion on the new worker deployment version before // any traffic is directed to the new version. Gate *GateWorkflowConfig `json:"gate,omitempty"` // Steps to execute progressive rollouts. Only required when strategy is "Progressive". // +optional Steps []RolloutStep `json:"steps,omitempty" protobuf:"bytes,3,rep,name=steps"` }
RolloutStrategy defines strategy to apply during next rollout
func (*RolloutStrategy) DeepCopy ¶
func (in *RolloutStrategy) DeepCopy() *RolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStrategy.
func (*RolloutStrategy) DeepCopyInto ¶
func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SunsetStrategy ¶
type SunsetStrategy struct { // ScaledownDelay specifies how long to wait after a version is drained before scaling its Deployment to zero. // Defaults to 1 hour. // +optional ScaledownDelay *metav1.Duration `json:"scaledownDelay"` // DeleteDelay specifies how long to wait after a version is drained before deleting its Deployment. // Defaults to 24 hours. // +optional DeleteDelay *metav1.Duration `json:"deleteDelay"` }
SunsetStrategy defines strategy to apply when sunsetting k8s deployments of drained versions.
func (*SunsetStrategy) DeepCopy ¶
func (in *SunsetStrategy) DeepCopy() *SunsetStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SunsetStrategy.
func (*SunsetStrategy) DeepCopyInto ¶
func (in *SunsetStrategy) DeepCopyInto(out *SunsetStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaskQueue ¶
type TaskQueue struct { // Name is the name of the task queue. Name string `json:"name"` }
func (*TaskQueue) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaskQueue.
func (*TaskQueue) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalConnection ¶
type TemporalConnection struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemporalConnectionSpec `json:"spec,omitempty"` Status TemporalConnectionStatus `json:"status,omitempty"` }
TemporalConnection is the Schema for the temporalconnections API
func (*TemporalConnection) DeepCopy ¶
func (in *TemporalConnection) DeepCopy() *TemporalConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnection.
func (*TemporalConnection) DeepCopyInto ¶
func (in *TemporalConnection) DeepCopyInto(out *TemporalConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalConnection) DeepCopyObject ¶
func (in *TemporalConnection) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalConnectionList ¶
type TemporalConnectionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TemporalConnection `json:"items"` }
TemporalConnectionList contains a list of TemporalConnection
func (*TemporalConnectionList) DeepCopy ¶
func (in *TemporalConnectionList) DeepCopy() *TemporalConnectionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionList.
func (*TemporalConnectionList) DeepCopyInto ¶
func (in *TemporalConnectionList) DeepCopyInto(out *TemporalConnectionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalConnectionList) DeepCopyObject ¶
func (in *TemporalConnectionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalConnectionSpec ¶
type TemporalConnectionSpec struct { // The host and port of the Temporal server. HostPort string `json:"hostPort"` // MutualTLSSecret is the name of the Secret that contains the TLS certificate and key // for mutual TLS authentication. The secret must be `type: kubernetes.io/tls` and exist // in the same Kubernetes namespace as the TemporalConnection resource. // // More information about creating a TLS secret: // https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets MutualTLSSecret string `json:"mutualTLSSecret,omitempty"` }
TemporalConnectionSpec defines the desired state of TemporalConnection
func (*TemporalConnectionSpec) DeepCopy ¶
func (in *TemporalConnectionSpec) DeepCopy() *TemporalConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionSpec.
func (*TemporalConnectionSpec) DeepCopyInto ¶
func (in *TemporalConnectionSpec) DeepCopyInto(out *TemporalConnectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalConnectionStatus ¶
type TemporalConnectionStatus struct { }
TemporalConnectionStatus defines the observed state of TemporalConnection
func (*TemporalConnectionStatus) DeepCopy ¶
func (in *TemporalConnectionStatus) DeepCopy() *TemporalConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalConnectionStatus.
func (*TemporalConnectionStatus) DeepCopyInto ¶
func (in *TemporalConnectionStatus) DeepCopyInto(out *TemporalConnectionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalWorkerDeployment ¶
type TemporalWorkerDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TemporalWorkerDeploymentSpec `json:"spec,omitempty"` Status TemporalWorkerDeploymentStatus `json:"status,omitempty"` }
TemporalWorkerDeployment is the Schema for the temporalworkerdeployments API
TODO(jlegrone): Implement default/validate interface https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html
func (*TemporalWorkerDeployment) DeepCopy ¶
func (in *TemporalWorkerDeployment) DeepCopy() *TemporalWorkerDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeployment.
func (*TemporalWorkerDeployment) DeepCopyInto ¶
func (in *TemporalWorkerDeployment) DeepCopyInto(out *TemporalWorkerDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalWorkerDeployment) DeepCopyObject ¶
func (in *TemporalWorkerDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TemporalWorkerDeployment) Default ¶
func (r *TemporalWorkerDeployment) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*TemporalWorkerDeployment) SetupWebhookWithManager ¶
func (r *TemporalWorkerDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
type TemporalWorkerDeploymentList ¶
type TemporalWorkerDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TemporalWorkerDeployment `json:"items"` }
TemporalWorkerDeploymentList contains a list of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentList) DeepCopy ¶
func (in *TemporalWorkerDeploymentList) DeepCopy() *TemporalWorkerDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentList.
func (*TemporalWorkerDeploymentList) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentList) DeepCopyInto(out *TemporalWorkerDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TemporalWorkerDeploymentList) DeepCopyObject ¶
func (in *TemporalWorkerDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TemporalWorkerDeploymentSpec ¶
type TemporalWorkerDeploymentSpec struct { // Number of desired pods. This is a pointer to distinguish between explicit // zero and not specified. Defaults to 1. // This field makes TemporalWorkerDeploymentSpec implement the scale subresource, which is compatible with auto-scalers. // TODO(jlegrone): Configure min replicas per thousand workflow/activity tasks? // +optional Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"` // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // It must match the pod template's labels. // +optional Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"` // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". Template v1.PodTemplateSpec `json:"template"` // Minimum number of seconds for which a newly created pod should be ready // without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty"` // The maximum time in seconds for a deployment to make progress before it // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will // not be estimated during the time a deployment is paused. Defaults to 600s. ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"` // How to cut over new workflow executions to the target version. RolloutStrategy RolloutStrategy `json:"cutover"` // How to manage sunsetting drained versions. SunsetStrategy SunsetStrategy `json:"sunset"` // TODO(jlegrone): add godoc WorkerOptions WorkerOptions `json:"workerOptions"` }
TemporalWorkerDeploymentSpec defines the desired state of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentSpec) DeepCopy ¶
func (in *TemporalWorkerDeploymentSpec) DeepCopy() *TemporalWorkerDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentSpec.
func (*TemporalWorkerDeploymentSpec) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentSpec) DeepCopyInto(out *TemporalWorkerDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemporalWorkerDeploymentStatus ¶
type TemporalWorkerDeploymentStatus struct { // TargetVersion is the desired next version. If TargetVersion.Deployment is nil, // then the controller should create it. If not nil, the controller should // wait for it to become healthy and then move it to the DefaultVersion. TargetVersion *WorkerDeploymentVersion `json:"targetVersion"` // DefaultVersion is the version that is currently registered with // Temporal as the current version of its worker deployment. This must never be nil. // // RampPercentage should always be nil for this version. DefaultVersion *WorkerDeploymentVersion `json:"defaultVersion"` // DeprecatedVersions are deployment versions that are no longer the default. Any // deployment versions that are unreachable should be deleted by the controller. // // RampPercentage should only be set for DeprecatedVersions when rollout // strategy is set to manual. DeprecatedVersions []*WorkerDeploymentVersion `json:"deprecatedVersions,omitempty"` // TODO(jlegrone): Add description VersionConflictToken []byte `json:"versionConflictToken"` }
TemporalWorkerDeploymentStatus defines the observed state of TemporalWorkerDeployment
func (*TemporalWorkerDeploymentStatus) DeepCopy ¶
func (in *TemporalWorkerDeploymentStatus) DeepCopy() *TemporalWorkerDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemporalWorkerDeploymentStatus.
func (*TemporalWorkerDeploymentStatus) DeepCopyInto ¶
func (in *TemporalWorkerDeploymentStatus) DeepCopyInto(out *TemporalWorkerDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionStatus ¶
type VersionStatus string
VersionStatus indicates the status of a version. +enum
const ( // VersionStatusNotRegistered indicates that the version is not registered // with Temporal for any worker deployment. VersionStatusNotRegistered VersionStatus = "NotRegistered" // VersionStatusInactive indicates that the version is registered in a Temporal // worker deployment, but has not been set to current or ramping. // A version is registered in a worker deployment after a poller with appropriate // DeploymentOptions starts polling. VersionStatusInactive VersionStatus = "Inactive" // VersionStatusRamping indicates that the version is the ramping version of its // worker deployment. It is accepting some percentage of new workflow executions. VersionStatusRamping = "Ramping" // VersionStatusCurrent indicates that the version is the current version of its // worker deployment. It is accepting all new workflow executions except for the // percent that are sent to the ramping version, if one exists. VersionStatusCurrent = "Current" // VersionStatusDraining indicates that the version has stopped accepting new workflows // (is no longer ramping or current) and DOES have open workflows pinned to it. VersionStatusDraining VersionStatus = "Draining" // VersionStatusDrained indicates that the version has stopped accepting new workflows // (is no longer ramping or current) and does NOT have open workflows pinned to it. // This version MAY still receive query tasks associated with closed workflows. VersionStatusDrained VersionStatus = "Drained" )
type WorkerDeploymentVersion ¶
type WorkerDeploymentVersion struct { // Healthy indicates whether the deployment version is healthy. // +optional HealthySince *metav1.Time `json:"healthySince"` // The string representation of the deployment version. // Currently, this is always `deployment_name.build_id`. VersionID string `json:"versionID"` // Status indicates whether workers in this version may // be eligible to receive tasks from the Temporal server. Status VersionStatus `json:"status"` // RampPercentage is the percentage of new workflow executions that are // configured to start on this version. // // Acceptable range is [0,100]. RampPercentage *float32 `json:"rampPercentage,omitempty"` // DrainedSince is the time at which the version // became drained. // +optional DrainedSince *metav1.Time `json:"drainedSince"` // RampingSince is time when the version first started ramping. // +optional RampingSince *metav1.Time `json:"rampingSince"` // A pointer to the version's managed k8s deployment. // +optional Deployment *v1.ObjectReference `json:"deployment"` // TaskQueues is a list of task queues that are associated with this version. TaskQueues []TaskQueue `json:"taskQueues,omitempty"` // A TestWorkflow is used to validate the deployment version before making it the default. // +optional TestWorkflows []WorkflowExecution `json:"testWorkflows,omitempty"` // ManagedBy is the identity of the client that is managing the rollout of this version. // +optional ManagedBy string `json:"managedBy,omitempty"` }
func (*WorkerDeploymentVersion) DeepCopy ¶
func (in *WorkerDeploymentVersion) DeepCopy() *WorkerDeploymentVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerDeploymentVersion.
func (*WorkerDeploymentVersion) DeepCopyInto ¶
func (in *WorkerDeploymentVersion) DeepCopyInto(out *WorkerDeploymentVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkerOptions ¶
type WorkerOptions struct { // The name of a TemporalConnection in the same namespace as the TemporalWorkerDeployment. TemporalConnection string `json:"connection"` // The Temporal namespace for the worker to connect to. TemporalNamespace string `json:"temporalNamespace"` }
func (*WorkerOptions) DeepCopy ¶
func (in *WorkerOptions) DeepCopy() *WorkerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerOptions.
func (*WorkerOptions) DeepCopyInto ¶
func (in *WorkerOptions) DeepCopyInto(out *WorkerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowExecution ¶
type WorkflowExecution struct { WorkflowID string `json:"workflowID"` RunID string `json:"runID"` Status WorkflowExecutionStatus `json:"status"` TaskQueue string `json:"taskQueue"` }
func (*WorkflowExecution) DeepCopy ¶
func (in *WorkflowExecution) DeepCopy() *WorkflowExecution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowExecution.
func (*WorkflowExecution) DeepCopyInto ¶
func (in *WorkflowExecution) DeepCopyInto(out *WorkflowExecution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowExecutionStatus ¶
type WorkflowExecutionStatus string
WorkflowExecutionStatus describes the current state of a workflow. +enum
const ( // WorkflowExecutionStatusRunning indicates that the workflow is currently running. WorkflowExecutionStatusRunning WorkflowExecutionStatus = "Running" // WorkflowExecutionStatusCompleted indicates that the workflow has completed successfully. WorkflowExecutionStatusCompleted WorkflowExecutionStatus = "Completed" // WorkflowExecutionStatusFailed indicates that the workflow has failed. WorkflowExecutionStatusFailed WorkflowExecutionStatus = "Failed" // WorkflowExecutionStatusCanceled indicates that the workflow has been canceled. WorkflowExecutionStatusCanceled WorkflowExecutionStatus = "Canceled" // WorkflowExecutionStatusTerminated indicates that the workflow has been terminated. WorkflowExecutionStatusTerminated WorkflowExecutionStatus = "Terminated" // WorkflowExecutionStatusTimedOut indicates that the workflow has timed out. WorkflowExecutionStatusTimedOut WorkflowExecutionStatus = "TimedOut" )