tugboat.schemas package

tugboat.schemas contains classes representing the schemas of Argo Workflows.

All the listed classes are pydantic.BaseModel classes used for input data validation. These classes are immutable and do not allow any extra fields. This ensures that the input data strictly follows the schema and that the data model remains consistent throughout the program’s execution, even when data is transferred between different modules.

All the classes are derived from Argo Workflows’ official Field Reference documentation. If you find any discrepancies between the classes and the official documentation, please report it as a bug.

Currently, many of the members are typed as typing.Any. This means that the field is not yet used in the codebase but is included in the schema for future compatibility. This also provides the basic ability to validate if there are any incompatible fields in the input data.

class tugboat.schemas.Arguments(*, artifacts: Array[Artifact] | None = None, parameters: Array[Parameter] | None = None)

Arguments to a template.

property artifact_dict: dict[str, Artifact]

Artifact name to artifacts mapping.

artifacts: Array[Artifact] | None

Artifacts is the list of artifacts to pass to the template or workflow.

property parameter_dict: dict[str, Parameter]

Parameter name to parameters mapping.

parameters: Array[Parameter] | None

Parameters is the list of parameters to pass to the template or workflow.

class tugboat.schemas.Artifact

Artifact indicates an artifact to place at a specified path.

archive: ArchiveStrategy | None
archiveLogs: bool | None
artifactGc: ArtifactGc | None
artifactory: ArtifactoryArtifact | None
azure: AzureArtifact | None
deleted: bool | None
fromExpression: str | None
from_: str | None
gcs: GcsArtifact | None
git: GitArtifact | None
globalName: str | None
hdfs: HdfsArtifact | None
http: HttpArtifact | None
mode: int | None
name: str
optional: bool
oss: OssArtifact | None
path: str | None
plugin: PluginArtifact | None
raw: RawArtifact | None
recurseMode: bool | None
s3: S3Artifact | None
subPath: str | None
value: Literal[None]

Not a valid field for artifact. Preserve for validation purposes.

class tugboat.schemas.ContainerNode

Represents an individual ContainerNode within a ContainerSetTemplate.

args: Array[str] | None
command: Array[str] | None
dependencies: Array[str] | None
env: Array[EnvVar] | None
envFrom: Array[EnvFromSource] | None
image: str
imagePullPolicy: Literal['Always', 'Never', 'IfNotPresent'] | None
lifecycle: Any | None
livenessProbe: Probe | None
name: str | None
ports: Array[Any] | None
readinessProbe: Probe | None
resizePolicy: Array[Any] | None
resources: ResourceRequirements | None
restartPolicy: Literal['Always'] | None
securityContext: Any | None
startupProbe: Probe | None
stdin: bool | None
stdinOnce: bool | None
terminationMessagePath: str | None
terminationMessagePolicy: Literal['File', 'FallbackToLogsOnError'] | None
tty: bool | None
volumeDevices: Array[Any] | None
volumeMounts: Array[VolumeMount] | None
workingDir: str | None
class tugboat.schemas.ContainerTemplate

A single application container that you want to run within a pod.

args: Array[str] | None
command: Array[str] | None
env: Array[EnvVar] | None
envFrom: Array[EnvFromSource] | None
image: str
imagePullPolicy: Literal['Always', 'Never', 'IfNotPresent'] | None
lifecycle: Any | None
livenessProbe: Probe | None
name: str | None
ports: Array[Any] | None
readinessProbe: Probe | None
resizePolicy: Array[Any] | None
resources: ResourceRequirements | None
restartPolicy: Literal['Always'] | None
securityContext: Any | None
startupProbe: Probe | None
stdin: bool | None
stdinOnce: bool | None
terminationMessagePath: str | None
terminationMessagePolicy: Literal['File', 'FallbackToLogsOnError'] | None
tty: bool | None
volumeDevices: Array[Any] | None
volumeMounts: Array[VolumeMount] | None
workingDir: str | None
class tugboat.schemas.CronWorkflow(*, apiVersion: Literal['argoproj.io/v1alpha1'], kind: Literal['CronWorkflow'], metadata: Metadata, spec: CronWorkflowSpec)

CronWorkflows are workflows that run on a schedule.

apiVersion: Literal['argoproj.io/v1alpha1']
kind: Literal['CronWorkflow']
metadata: Metadata
property name: str | None

Short-cut to the name of the manifest.

spec: CronWorkflowSpec
class tugboat.schemas.DagTask

DAGTask represents a node in the graph during DAG execution.

arguments: Arguments | None
continueOn: Any | None
dependencies: Array[str] | None
depends: str | None
hooks: Any | None
inline: Template | None
name: str
onExit: str | None
template: str | None
templateRef: TemplateRef | None
when: str | None
withItems: Array[str | bool | int | dict[str, Any]] | None
withParam: str | None
withSequence: Any | None
class tugboat.schemas.Manifest(*, apiVersion: str, kind: str, metadata: Metadata, spec: T_Spec)

The base schema for the Kubernetes manifest.

This schema is generic and must be inherited with the T_Spec type parameter, which is the schema for the spec field of the manifest:

class MyManifestSpec(BaseModel):
    ...

class MyManifest(Manifest[MyManifestSpec]):
    ...
apiVersion: str
kind: str
metadata: Metadata
property name: str | None

Short-cut to the name of the manifest.

spec: T_Spec
class tugboat.schemas.Parameter

Parameter indicate a passed string parameter to a service template with an optional default value.

default: str | None
description: str | None
enum: Array[str] | None
globalName: str | None
name: str
value: bool | int | str | None

The literal value to use for the parameter.

Note

While documented as a string type in the official Argo Workflows documentation, this field also accepts boolean and integer values in practice.

valueFrom: ValueFrom | None
class tugboat.schemas.ScriptTemplate

ScriptTemplate is a template subtype to enable scripting through code steps.

command: Array[str] | None
env: Array[EnvVar] | None
envFrom: Array[EnvFromSource] | None
image: str
imagePullPolicy: Literal['Always', 'Never', 'IfNotPresent'] | None
lifecycle: Any | None
livenessProbe: Probe | None
name: str | None
ports: Array[Any] | None
readinessProbe: Probe | None
resizePolicy: Array[Any] | None
resources: ResourceRequirements | None
restartPolicy: Literal['Always'] | None
securityContext: Any | None
source: str
startupProbe: Probe | None
stdin: bool | None
stdinOnce: bool | None
terminationMessagePath: str | None
terminationMessagePolicy: Literal['File', 'FallbackToLogsOnError'] | None
tty: bool | None
volumeDevices: Array[Any] | None
volumeMounts: Array[VolumeMount] | None
workingDir: str | None
class tugboat.schemas.Step

Step is a reference to a template to execute in a series of step.

arguments: Arguments | None
continueOn: Any | None
hooks: Any | None
inline: Template | None
name: str
onExit: str | None
template: str | None
templateRef: TemplateRef | None
when: str | None
withItems: Array[str | bool | int | dict[str, Any]] | None
withParam: str | None
withSequence: Any | None
class tugboat.schemas.Template

Template is a reusable and composable unit of execution in a workflow.

activeDeadlineSeconds: int | str | None
affinity: Any | None
annotations: Dict[str, str] | None
archiveLocation: Any | None
automountServiceAccountToken: bool | None
container: ContainerTemplate | None
containerSet: ContainerSetTemplate | None
daemon: bool | None
dag: DagTemplate | None
data: Any | None
executor: Any | None
failFast: bool | None
hostAliases: Array[Any] | None
http: Any | None
initContainers: Array[Any] | None
inputs: Arguments | None
memoize: Any | None
metadata: Any | None
metrics: Metrics | None
name: str | None
nodeSelector: Dict[str, str] | None
outputs: Arguments | None
parallelism: int | None
plugins: Any | None
podSpecPatch: str | None
priority: int | None
priorityClassName: str | None
resource: Any | None
retryStrategy: Any | None
schedulerName: str | None
script: ScriptTemplate | None
securityContext: Any | None
serviceAccountName: str | None
sidecars: Array[Any] | None
property step_dict: dict[str, Step]

Step name to step data model mapping.

Note

Duplicate names will be overwritten and the empty name will be ignored.

steps: Array[Array[Step]] | None
suspend: SuspendTemplate | None
synchronization: Any | None
timeout: str | None
tolerations: Array[Any] | None
property type: TemplateType | None

Return the template type as a string.

volumes: Array[Any] | None
class tugboat.schemas.Workflow(*, apiVersion: Literal['argoproj.io/v1alpha1'], kind: Literal['Workflow'], metadata: Metadata, spec: WorkflowSpec)

Workflows are the top-level resource in Argo Workflows that define a single unit of work.

apiVersion: Literal['argoproj.io/v1alpha1']
kind: Literal['Workflow']
metadata: Metadata
property name: str | None

Short-cut to the name of the manifest.

spec: WorkflowSpec
property template_dict: dict[str, Template]

Template name to template data model mapping.

Note

Duplicate names will be overwritten and the empty name will be ignored.

class tugboat.schemas.WorkflowTemplate(*, apiVersion: Literal['argoproj.io/v1alpha1'], kind: Literal['WorkflowTemplate'], metadata: Metadata, spec: WorkflowSpec)

WorkflowTemplates are reusable Workflow definitions stored in the cluster.

apiVersion: Literal['argoproj.io/v1alpha1']
kind: Literal['WorkflowTemplate']
metadata: Metadata
property name: str | None

Short-cut to the name of the manifest.

spec: WorkflowSpec
property template_dict: dict[str, Template]

Template name to template data model mapping.

Note

Duplicate names will be overwritten and the empty name will be ignored.

tugboat.schemas.arguments.artifact module

class tugboat.schemas.arguments.artifact.ArchiveStrategy
none: Empty | None
tar: TarStrategy | None
zip: Empty | None
class tugboat.schemas.arguments.artifact.ArtifactGc(*, podMetadata: PodMetadata | None = None, serviceAccountName: str | None = None, strategy: str)
podMetadata: PodMetadata | None
serviceAccountName: str | None
strategy: str
class tugboat.schemas.arguments.artifact.ArtifactoryArtifact(*, passwordSecret: ConfigKeySelector, url: str, usernameSecret: ConfigKeySelector)
passwordSecret: ConfigKeySelector
url: str
usernameSecret: ConfigKeySelector
class tugboat.schemas.arguments.artifact.AzureArtifact(*, accountKeySecret: ConfigKeySelector, blob: str, container: str, endpoint: str, useSDKCreds: bool | None = None)
accountKeySecret: ConfigKeySelector
blob: str
container: str
endpoint: str
useSdkCreds: bool | None
class tugboat.schemas.arguments.artifact.BasicAuth(*, passwordSecret: ConfigKeySelector, usernameSecret: ConfigKeySelector)
passwordSecret: ConfigKeySelector
usernameSecret: ConfigKeySelector
class tugboat.schemas.arguments.artifact.ClientCertAuth(*, clientCertSecret: ConfigKeySelector | None = None, clientKeySecret: ConfigKeySelector)
clientCertSecret: ConfigKeySelector | None
clientKeySecret: ConfigKeySelector
class tugboat.schemas.arguments.artifact.CreateS3BucketOptions(*, objectLocking: bool)
objectLocking: bool
class tugboat.schemas.arguments.artifact.GcsArtifact(*, bucket: str, key: str, serviceAccountKeySecret: ConfigKeySelector)
bucket: str
key: str
serviceAccountKeySecret: ConfigKeySelector
class tugboat.schemas.arguments.artifact.GitArtifact(*, branch: str | None = None, depth: int | None = None, disableSubmodules: bool | None = None, fetch: Array[str] | None = None, insecureIgnoreHostKey: bool | None = None, insecureSkipTLS: bool | None = None, passwordSecret: ConfigKeySelector | None = None, repo: str, revision: str | None = None, singleBranch: bool | None = None, sshPrivateKeySecret: ConfigKeySelector | None = None, usernameSecret: ConfigKeySelector | None = None)
branch: str | None
depth: int | None
disableSubmodules: bool | None
fetch: Array[str] | None
insecureIgnoreHostKey: bool | None
insecureSkipTls: bool | None
passwordSecret: ConfigKeySelector | None
repo: str
revision: str | None
singleBranch: bool | None
sshPrivateKeySecret: ConfigKeySelector | None
usernameSecret: ConfigKeySelector | None
class tugboat.schemas.arguments.artifact.HdfsArtifact(*, addresses: Array[str], dataTransferProtection: str | None = None, force: bool | None = None, hdfsUser: str, krbCCacheSecret: ConfigKeySelector | None = None, krbConfigConfigMap: ConfigKeySelector | None = None, krbKeytabSecret: ConfigKeySelector | None = None, krbRealm: str | None = None, krbServicePrincipalName: str | None = None, krbUsername: str | None = None, path: str)
addresses: Array[str]
dataTransferProtection: str | None
force: bool | None
hdfsUser: str
krbCCacheSecret: ConfigKeySelector | None
krbConfigConfigMap: ConfigKeySelector | None
krbKeytabSecret: ConfigKeySelector | None
krbRealm: str | None
krbServicePrincipalName: str | None
krbUsername: str | None
path: str
class tugboat.schemas.arguments.artifact.HttpArtifact
auth: HttpAuth | None
headers: Array[NameValuePair] | None
url: str
class tugboat.schemas.arguments.artifact.HttpAuth
basic: BasicAuth | None
clientCert: ClientCertAuth | None
oauth2: OAuth2Auth | None
class tugboat.schemas.arguments.artifact.OAuth2Auth(*, clientIDSecret: ConfigKeySelector, clientSecretSecret: ConfigKeySelector, endpointParams: Array[KeyValuePair] | None = None, scopes: Array[str] | None = None, tokenURLSecret: ConfigKeySelector | None = None)
clientIdSecret: ConfigKeySelector
clientSecretSecret: ConfigKeySelector
endpointParams: Array[KeyValuePair] | None
scopes: Array[str] | None
tokenUrlSecret: ConfigKeySelector | None
class tugboat.schemas.arguments.artifact.OssArtifact
accessKeySecret: ConfigKeySelector | None
bucket: str
createBucketIfNotPresent: bool | None
endpoint: str | None
key: str
lifecycleRule: OssLifecycleRule | None
secretKeySecret: ConfigKeySelector | None
securityToken: str | None
useSdkCreds: bool | None
class tugboat.schemas.arguments.artifact.OssLifecycleRule(*, markDeletionAfterDays: int | None = None, markInfrequentAccessAfterDays: int | None = None)
markDeletionAfterDays: int | None
markInfrequentAccessAfterDays: int | None
class tugboat.schemas.arguments.artifact.PluginArtifact(*, configuration: str | None = None, connectionTimeoutSeconds: int | None = None, key: str | None = None, name: str | None)

PluginArtifact is the location of an artifact plugin.

configuration: str | None
connectionTimeoutSeconds: int | None
key: str | None
name: str | None
class tugboat.schemas.arguments.artifact.RawArtifact(*, data: str)
data: str
class tugboat.schemas.arguments.artifact.S3Artifact
accessKeySecret: ConfigKeySelector | None
bucket: str | None
caSecret: ConfigKeySelector | None
createBucketIfNotPresent: CreateS3BucketOptions | None
encryptionOptions: S3EncryptionOptions | None
endpoint: str | None
insecure: bool | None
key: str
region: str | None
roleArn: str | None
secretKeySecret: ConfigKeySelector | None
sessionTokenSecret: ConfigKeySelector | None
useSdkCreds: bool | None
class tugboat.schemas.arguments.artifact.S3EncryptionOptions(*, enableEncryption: bool | None = None, kmsEncryptionContext: str | None = None, kmsKeyId: str | None = None, serverSideCustomerKeySecret: ConfigKeySelector | None = None)
enableEncryption: bool | None
kmsEncryptionContext: str | None
kmsKeyId: str | None
serverSideCustomerKeySecret: ConfigKeySelector | None
class tugboat.schemas.arguments.artifact.TarStrategy(*, compressionLevel: int | None = None)
compressionLevel: int | None

tugboat.schemas.arguments.parameter module

class tugboat.schemas.arguments.parameter.ValueFrom(*, configMapKeyRef: ConfigKeySelector | None = None, default: str | None = None, event: str | None = None, expression: str | None = None, jqFilter: str | None = None, jsonPath: str | None = None, parameter: str | None = None, path: str | None = None, supplied: Empty | None = None)

ValueFrom describes a location in which to obtain the value to a parameter.

configMapKeyRef: ConfigKeySelector | None
default: str | None
event: str | None
expression: str | None
jqFilter: str | None
jsonPath: str | None
parameter: str | None
path: str | None
supplied: Empty | None

tugboat.schemas.basic module

class tugboat.schemas.basic.Array

A type alias for tuple, representing an immutable sequence.

class tugboat.schemas.basic.ConfigKeySelector(*, key: str, name: str, optional: bool | None = None)

Represents a reference to a key within a ConfigMap or Secret. This class is utilized by both the ConfigMapKeySelector and SecretKeySelector classes.

key: str
name: str
optional: bool | None
class tugboat.schemas.basic.Dict(*args, **kwargs)

A frozen dictionary type that can be used in Pydantic models.

class tugboat.schemas.basic.Empty
class tugboat.schemas.basic.KeyValuePair(*, key: str, value: str)
key: str
value: str
class tugboat.schemas.basic.NameValuePair(*, name: str, value: str)
name: str
value: str
class tugboat.schemas.basic.PodMetadata(*, annotations: Dict[str, str] | None = None, labels: Dict[str, str] | None = None)
annotations: Dict[str, str] | None
labels: Dict[str, str] | None

tugboat.schemas.cron_workflow module

class tugboat.schemas.cron_workflow.CronWorkflowSpec(*, concurrencyPolicy: str | None = None, failedJobsHistoryLimit: int | None = None, schedule: str | None = None, schedules: Array[str] | None = None, startingDeadlineSeconds: int | None = None, successfulJobsHistoryLimit: int | None = None, suspend: bool | None = None, timezone: str | None = None, when: str | None = None, workflowSpec: WorkflowSpec, stopStrategy: Any | None = None, workflowMetadata: Any | None = None)

CronWorkflowSpec is the specification of a CronWorkflow.

concurrencyPolicy: str | None
failedJobsHistoryLimit: int | None
schedule: str | None
schedules: Array[str] | None
startingDeadlineSeconds: int | None
stopStrategy: Any | None
successfulJobsHistoryLimit: int | None
suspend: bool | None
timezone: str | None
when: str | None
workflowMetadata: Any | None
workflowSpec: WorkflowSpec

tugboat.schemas.manifest module

class tugboat.schemas.manifest.Metadata(*, name: Annotated[str | None, MinLen(min_length=1), MaxLen(max_length=253)] = None, generateName: Annotated[str | None, MinLen(min_length=1), MaxLen(max_length=248)] = None, labels: Dict[str, str] | None = None, annotations: Dict[str, str] | None = None)

Kubernetes manifest metadata.

annotations: Dict[str, str] | None
generateName: str | None
labels: Dict[str, str] | None
name: str | None

tugboat.schemas.template module

class tugboat.schemas.template.DagTemplate

DAGTemplate is a template subtype for directed acyclic graph templates.

failFast: bool | None
target: str | None
tasks: Array[DagTask]
class tugboat.schemas.template.SuspendTemplate(*, duration: str | None = None)

SuspendTemplate is a template subtype to suspend a workflow at a predetermined point in time.

duration: str | None
class tugboat.schemas.template.TemplateRef(*, clusterScope: bool | None = None, name: str, template: str)

TemplateRef is a reference of template resource.

clusterScope: bool | None
name: str
template: str

tugboat.schemas.template.env module

class tugboat.schemas.template.env.EnvFromSource

EnvFromSource represents the source of a set of ConfigMaps.

configMapRef: OptionalName | None
prefix: str | None
secretRef: OptionalName | None
class tugboat.schemas.template.env.EnvVar

EnvVar represents an environment variable present in a Container.

name: str
value: str | None
valueFrom: EnvVarSource | None
class tugboat.schemas.template.env.EnvVarSource
configMapKeyRef: ConfigKeySelector | None
fieldRef: ObjectFieldSelector | None
resourceFieldRef: ResourceFieldSelector | None
secretKeyRef: ConfigKeySelector | None
class tugboat.schemas.template.env.ObjectFieldSelector(*, apiVersion: str | None = None, fieldPath: str)
apiVersion: str | None
fieldPath: str
class tugboat.schemas.template.env.OptionalName(*, name: str, optional: bool | None = None)

Represents a reference to a ConfigMap or Secret. This class is utilized by both the ConfigMapEnvSource and SecretEnvSource classes.

name: str
optional: bool | None
class tugboat.schemas.template.env.ResourceFieldSelector(*, containerName: str | None = None, divisor: str | None = None, resource: str)
containerName: str | None
divisor: str | None
resource: str

tugboat.schemas.template.container module

class tugboat.schemas.template.container.ContainerSetRetryStrategy(*, duration: Annotated[str | None, _PydanticGeneralMetadata(pattern='\\d+(ns|us|µs|ms|s|m|h)')] = None, retries: int | str)
duration: str | None
retries: int | str
class tugboat.schemas.template.container.ContainerSetTemplate

ContainerSetTemplate to specify multiple containers to run within a single pod.

containers: Array[ContainerNode]
retryStrategy: ContainerSetRetryStrategy | None
volumeMounts: Array[VolumeMount] | None
class tugboat.schemas.template.container.Quantity(expr: str)

Quantity is a fixed-point representation of a number.

expr: str
value: Decimal
class tugboat.schemas.template.container.ResourceClaim(*, name: str, request: str | None = None)

ResourceClaim references one entry in PodSpec.ResourceClaims.

name: str
request: str | None
class tugboat.schemas.template.container.ResourceQuantities

ResourceQuantity is a class to represent resource quantities in Kubernetes.

cpu: Quantity | None
memory: Quantity | None
class tugboat.schemas.template.container.ResourceRequirements

ResourceRequirements describes the compute resource requirements.

claims: Array[ResourceClaim] | None
limits: ResourceQuantities | None
requests: ResourceQuantities | None

tugboat.schemas.template.volume module

class tugboat.schemas.template.volume.VolumeMount(*, mountPath: str, mountPropagation: str | None = None, name: str, readOnly: bool | None = None, recursiveReadOnly: bool | None = None, subPath: str | None = None, subPathExpr: str | None = None)

VolumeMount describes a mounting of a Volume within a container.

mountPath: str
mountPropagation: str | None
name: str
readOnly: bool | None
recursiveReadOnly: bool | None
subPath: str | None
subPathExpr: str | None

tugboat.schemas.template.probe module

class tugboat.schemas.template.probe.ExecAction(*, command: Array[str])

ExecAction describes a “run in container” action.

command: Array[str]
class tugboat.schemas.template.probe.GrpcAction(*, port: int, service: str | None = None)
port: int
service: str | None
class tugboat.schemas.template.probe.HttpGetAction

HttpGetAction describes an action based on HTTP Get requests.

host: str | None
httpHeaders: Array[HttpHeader] | None
path: str
port: int | str
scheme: Literal['HTTP', 'HTTPS'] | None
class tugboat.schemas.template.probe.HttpHeader
name: str
value: str | None
valueFrom: HttpHeaderSource | None
class tugboat.schemas.template.probe.HttpHeaderSource(*, secretKeyRef: ConfigKeySelector)
secretKeyRef: ConfigKeySelector
class tugboat.schemas.template.probe.Probe
exec: ExecAction | None
failureThreshold: int | None
grpc: GrpcAction | None
httpGet: HttpGetAction | None
initialDelaySeconds: int | None
periodSeconds: int | None
successThreshold: int | None
tcpSocket: TcpSocketAction | None
terminationGracePeriodSeconds: int | None
timeoutSeconds: int | None
class tugboat.schemas.template.probe.TcpSocketAction(*, host: str | None = None, port: int | str)

TcpSocketAction describes an action based on opening a socket.

host: str | None
port: int | str

tugboat.schemas.metrics module

class tugboat.schemas.metrics.Counter(*, value: str)

Counter is a prometheus counter metric.

value: str
class tugboat.schemas.metrics.Gauge(*, operation: str | None = None, realtime: bool | None = None, value: str)

Gauge is a prometheus gauge metric.

operation: str | None
realtime: bool | None
value: str
class tugboat.schemas.metrics.Histogram(*, buckets: Array[int | float], value: str)

Histogram is a prometheus histogram metric.

buckets: Array[int | float]
value: str
class tugboat.schemas.metrics.Metrics

Metrics are a list of metrics emitted from a Workflow or Template.

prometheus: Array[Prometheus]
class tugboat.schemas.metrics.Prometheus

Prometheus is a prometheus metric to be emitted.

counter: Counter | None
gauge: Gauge | None
help: str
histogram: Histogram | None
labels: Array[KeyValuePair] | None
name: str
when: str | None

tugboat.schemas.workflow module

class tugboat.schemas.workflow.WorkflowSpec(**data: Any)

WorkflowSpec is the specification of a Workflow.

activeDeadlineSeconds: int | None
affinity: Any | None
archiveLogs: bool | None
arguments: Arguments | None
artifactGc: Any | None
artifactRepositoryRef: Any | None
automountServiceAccountToken: bool | None
dnsConfig: Any | None
dnsPolicy: str | None
entrypoint: str | None
executor: Any | None
hooks: Any | None
hostAliases: Array[Any] | None
hostNetwork: bool | None
imagePullSecrets: Array[Any] | None
metrics: Metrics | None
nodeSelector: Dict[str, str] | None
onExit: str | None
parallelism: int | None
podDisruptionBudget: Any | None
podGc: Any | None
podMetadata: Any | None
podPriorityClassName: str | None
podSpecPatch: str | None
priority: int | None
retryStrategy: Any | None
schedulerName: str | None
securityContext: Any | None
serviceAccountName: str | None
shutdown: str | None
suspend: bool | None
synchronization: Any | None
templateDefaults: Template | None
templates: Array[Template] | None
tolerations: Array[Any] | None
ttlStrategy: Any | None
volumeClaimGc: Any | None
volumeClaimTemplates: Array[Any] | None
volumes: Array[Any] | None
workflowMetadata: Any | None
workflowTemplateRef: WorkflowTemplateRef | None
class tugboat.schemas.workflow.WorkflowTemplateRef(*, name: str, clusterScope: bool | None = None)
clusterScope: bool | None
name: str