convert

package
v3.7.5 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package convert contains functions to convert between different versions of Argo Workflows objects.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LegacyClusterWorkflowTemplate

type LegacyClusterWorkflowTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              LegacyWorkflowSpec `json:"spec"`
}

LegacyClusterWorkflowTemplate wraps ClusterWorkflowTemplate with legacy field support

func (*LegacyClusterWorkflowTemplate) ToCurrent

ToCurrent converts a LegacyClusterWorkflowTemplate to the current ClusterWorkflowTemplate type

type LegacyCronWorkflow

type LegacyCronWorkflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              LegacyCronWorkflowSpec  `json:"spec"`
	Status            wfv1.CronWorkflowStatus `json:"status,omitempty"`
}

LegacyCronWorkflow wraps CronWorkflow with legacy field support

func (*LegacyCronWorkflow) ToCurrent

func (lcw *LegacyCronWorkflow) ToCurrent() *wfv1.CronWorkflow

ToCurrent converts a LegacyCronWorkflow to the current CronWorkflow type

type LegacyCronWorkflowSpec

type LegacyCronWorkflowSpec struct {
	WorkflowSpec               LegacyWorkflowSpec     `json:"workflowSpec"`
	Schedule                   string                 `json:"schedule,omitempty"`  // Deprecated v3.5 and before
	Schedules                  []string               `json:"schedules,omitempty"` // v3.6 and after
	ConcurrencyPolicy          wfv1.ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
	Suspend                    bool                   `json:"suspend,omitempty"`
	StartingDeadlineSeconds    *int64                 `json:"startingDeadlineSeconds,omitempty"`
	SuccessfulJobsHistoryLimit *int32                 `json:"successfulJobsHistoryLimit,omitempty"`
	FailedJobsHistoryLimit     *int32                 `json:"failedJobsHistoryLimit,omitempty"`
	Timezone                   string                 `json:"timezone,omitempty"`
	WorkflowMetadata           *metav1.ObjectMeta     `json:"workflowMetadata,omitempty"`
	StopStrategy               *wfv1.StopStrategy     `json:"stopStrategy,omitempty"`
	When                       string                 `json:"when,omitempty"`
}

LegacyCronWorkflowSpec can parse both old (schedule) and new (schedules) formats

func (*LegacyCronWorkflowSpec) ToCurrent

func (lcs *LegacyCronWorkflowSpec) ToCurrent() wfv1.CronWorkflowSpec

ToCurrent converts a LegacyCronWorkflowSpec to the current CronWorkflowSpec type

type LegacySynchronization

type LegacySynchronization struct {
	// Deprecated v3.5 and before: singular semaphore
	Semaphore *wfv1.SemaphoreRef `json:"semaphore,omitempty"`
	// Deprecated v3.5 and before: singular mutex
	Mutex *wfv1.Mutex `json:"mutex,omitempty"`
	// v3.6 and after: plural semaphores
	Semaphores []*wfv1.SemaphoreRef `json:"semaphores,omitempty"`
	// v3.6 and after: plural mutexes
	Mutexes []*wfv1.Mutex `json:"mutexes,omitempty"`
}

LegacySynchronization can parse both old (semaphore/mutex) and new (semaphores/mutexes) formats

func (*LegacySynchronization) ToCurrent

func (ls *LegacySynchronization) ToCurrent() *wfv1.Synchronization

ToCurrent converts a LegacySynchronization to the current Synchronization type

type LegacyTemplate

type LegacyTemplate struct {
	wfv1.Template
	Synchronization *LegacySynchronization `json:"synchronization,omitempty"`
}

LegacyTemplate wraps Template with legacy synchronization support. The explicit Synchronization field intentionally shadows wfv1.Template.Synchronization to allow parsing both legacy (singular semaphore/mutex) and current (plural) formats. During JSON unmarshaling, the explicit field takes precedence.

func (*LegacyTemplate) ToCurrent

func (lt *LegacyTemplate) ToCurrent() wfv1.Template

ToCurrent converts a LegacyTemplate to the current Template type

type LegacyWorkflow

type LegacyWorkflow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              LegacyWorkflowSpec  `json:"spec"`
	Status            wfv1.WorkflowStatus `json:"status,omitempty"`
}

LegacyWorkflow wraps Workflow with legacy field support

func (*LegacyWorkflow) ToCurrent

func (lw *LegacyWorkflow) ToCurrent() *wfv1.Workflow

ToCurrent converts a LegacyWorkflow to the current Workflow type

type LegacyWorkflowSpec

type LegacyWorkflowSpec struct {
	wfv1.WorkflowSpec
	Synchronization *LegacySynchronization `json:"synchronization,omitempty"`
	Templates       []LegacyTemplate       `json:"templates,omitempty"`
}

LegacyWorkflowSpec wraps WorkflowSpec with legacy synchronization support. The explicit Synchronization and Templates fields intentionally shadow wfv1.WorkflowSpec.Synchronization and wfv1.WorkflowSpec.Templates to allow parsing both legacy (singular semaphore/mutex/schedule) and current (plural) formats. During JSON unmarshaling, explicit fields take precedence.

func (*LegacyWorkflowSpec) ToCurrent

func (lws *LegacyWorkflowSpec) ToCurrent() wfv1.WorkflowSpec

ToCurrent converts a LegacyWorkflowSpec to the current WorkflowSpec type

type LegacyWorkflowTemplate

type LegacyWorkflowTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              LegacyWorkflowSpec `json:"spec"`
}

LegacyWorkflowTemplate wraps WorkflowTemplate with legacy field support

func (*LegacyWorkflowTemplate) ToCurrent

func (lwt *LegacyWorkflowTemplate) ToCurrent() *wfv1.WorkflowTemplate

ToCurrent converts a LegacyWorkflowTemplate to the current WorkflowTemplate type

Jump to

Keyboard shortcuts

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