From 6efb47c18094d28ab9afcc9619790f14aca17770 Mon Sep 17 00:00:00 2001 From: Alan Clucas Date: Sun, 19 Mar 2023 15:58:24 +0000 Subject: [PATCH] docs: Document possible phase values (#10698) Signed-off-by: Alan Clucas --- api/jsonschema/schema.json | 4 ++-- api/openapi-spec/swagger.json | 4 ++-- docs/fields.md | 4 ++-- pkg/apis/workflow/v1alpha1/generated.proto | 4 ++++ pkg/apis/workflow/v1alpha1/openapi_generated.go | 4 ++-- pkg/apis/workflow/v1alpha1/workflow_types.go | 4 ++++ sdks/java/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md | 2 +- .../client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md | 2 +- .../model/io_argoproj_workflow_v1alpha1_node_status.py | 4 ++-- .../model/io_argoproj_workflow_v1alpha1_workflow_status.py | 4 ++-- .../client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md | 2 +- .../client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md | 2 +- 12 files changed, 24 insertions(+), 16 deletions(-) diff --git a/api/jsonschema/schema.json b/api/jsonschema/schema.json index bd01cead8280..b33c2d052193 100644 --- a/api/jsonschema/schema.json +++ b/api/jsonschema/schema.json @@ -5532,7 +5532,7 @@ "description": "Outputs captures output parameter values and artifact locations produced by this template invocation" }, "phase": { - "description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.", + "description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.", "type": "string" }, "podIP": { @@ -7498,7 +7498,7 @@ "type": "array" }, "phase": { - "description": "Phase a simple, high-level summary of where the workflow is in its lifecycle.", + "description": "Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed.", "type": "string" }, "progress": { diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index a3aa4c702898..e13d385878bf 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -9468,7 +9468,7 @@ "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Outputs" }, "phase": { - "description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.", + "description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.", "type": "string" }, "podIP": { @@ -11411,7 +11411,7 @@ } }, "phase": { - "description": "Phase a simple, high-level summary of where the workflow is in its lifecycle.", + "description": "Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed.", "type": "string" }, "progress": { diff --git a/docs/fields.md b/docs/fields.md index 34c2a6f41568..a2abaad5c6bc 100644 --- a/docs/fields.md +++ b/docs/fields.md @@ -846,7 +846,7 @@ WorkflowStatus contains overall status information about a workflow |`offloadNodeStatusVersion`|`string`|Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. This will actually be populated with a hash of the offloaded data.| |`outputs`|[`Outputs`](#outputs)|Outputs captures output values and artifact locations produced by the workflow via global outputs| |`persistentVolumeClaims`|`Array<`[`Volume`](#volume)`>`|PersistentVolumeClaims tracks all PVCs that were created as part of the io.argoproj.workflow.v1alpha1. The contents of this list are drained at the end of the workflow.| -|`phase`|`string`|Phase a simple, high-level summary of where the workflow is in its lifecycle.| +|`phase`|`string`|Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be "" (Unknown), "Pending", or "Running" before the workflow is completed, and "Succeeded", "Failed" or "Error" once the workflow has completed.| |`progress`|`string`|Progress to completion| |`resourcesDuration`|`Map< integer , int64 >`|ResourcesDuration is the total for the workflow| |`startedAt`|[`Time`](#time)|Time at which this workflow started| @@ -1805,7 +1805,7 @@ NodeStatus contains status information about an individual node in the workflow |`name`|`string`|Name is unique name in the node tree used to generate the node ID| |`outboundNodes`|`Array< string >`|OutboundNodes tracks the node IDs which are considered "outbound" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as "outbound". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step.In the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the "outbound" node. In the case of DAGs, outbound nodes are the "target" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children.| |`outputs`|[`Outputs`](#outputs)|Outputs captures output parameter values and artifact locations produced by this template invocation| -|`phase`|`string`|Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.| +|`phase`|`string`|Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values "Pending", "Running" before the node is completed, or "Succeeded", "Skipped", "Failed", "Error", or "Omitted" as a final state.| |`podIP`|`string`|PodIP captures the IP of the pod for daemoned steps| |`progress`|`string`|Progress to completion| |`resourcesDuration`|`Map< integer , int64 >`|ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes.| diff --git a/pkg/apis/workflow/v1alpha1/generated.proto b/pkg/apis/workflow/v1alpha1/generated.proto index cdd8865d6cde..76ca9659f6b2 100644 --- a/pkg/apis/workflow/v1alpha1/generated.proto +++ b/pkg/apis/workflow/v1alpha1/generated.proto @@ -1002,6 +1002,8 @@ message NodeStatus { // Phase a simple, high-level summary of where the node is in its lifecycle. // Can be used as a state machine. + // Will be one of these values "Pending", "Running" before the node is completed, or "Succeeded", + // "Skipped", "Failed", "Error", or "Omitted" as a final state. optional string phase = 7; // BoundaryID indicates the node ID of the associated template root node in which this node belongs to @@ -2014,6 +2016,8 @@ message WorkflowSpec { // WorkflowStatus contains overall status information about a workflow message WorkflowStatus { // Phase a simple, high-level summary of where the workflow is in its lifecycle. + // Will be "" (Unknown), "Pending", or "Running" before the workflow is completed, and "Succeeded", + // "Failed" or "Error" once the workflow has completed. optional string phase = 1; // Time at which this workflow started diff --git a/pkg/apis/workflow/v1alpha1/openapi_generated.go b/pkg/apis/workflow/v1alpha1/openapi_generated.go index bcb38a2b8df8..ef2b2cfe7f7a 100644 --- a/pkg/apis/workflow/v1alpha1/openapi_generated.go +++ b/pkg/apis/workflow/v1alpha1/openapi_generated.go @@ -4020,7 +4020,7 @@ func schema_pkg_apis_workflow_v1alpha1_NodeStatus(ref common.ReferenceCallback) }, "phase": { SchemaProps: spec.SchemaProps{ - Description: "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.", + Description: "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.", Type: []string{"string"}, Format: "", }, @@ -7532,7 +7532,7 @@ func schema_pkg_apis_workflow_v1alpha1_WorkflowStatus(ref common.ReferenceCallba Properties: map[string]spec.Schema{ "phase": { SchemaProps: spec.SchemaProps{ - Description: "Phase a simple, high-level summary of where the workflow is in its lifecycle.", + Description: "Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed.", Type: []string{"string"}, Format: "", }, diff --git a/pkg/apis/workflow/v1alpha1/workflow_types.go b/pkg/apis/workflow/v1alpha1/workflow_types.go index a879f034042c..41a47398db46 100644 --- a/pkg/apis/workflow/v1alpha1/workflow_types.go +++ b/pkg/apis/workflow/v1alpha1/workflow_types.go @@ -1856,6 +1856,8 @@ type UserContainer struct { // WorkflowStatus contains overall status information about a workflow type WorkflowStatus struct { // Phase a simple, high-level summary of where the workflow is in its lifecycle. + // Will be "" (Unknown), "Pending", or "Running" before the workflow is completed, and "Succeeded", + // "Failed" or "Error" once the workflow has completed. Phase WorkflowPhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=WorkflowPhase"` // Time at which this workflow started @@ -2145,6 +2147,8 @@ type NodeStatus struct { // Phase a simple, high-level summary of where the node is in its lifecycle. // Can be used as a state machine. + // Will be one of these values "Pending", "Running" before the node is completed, or "Succeeded", + // "Skipped", "Failed", "Error", or "Omitted" as a final state. Phase NodePhase `json:"phase,omitempty" protobuf:"bytes,7,opt,name=phase,casttype=NodePhase"` // BoundaryID indicates the node ID of the associated template root node in which this node belongs to diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md index 447ca4b0d245..04129681b54b 100644 --- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md +++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md @@ -22,7 +22,7 @@ Name | Type | Description | Notes **name** | **String** | Name is unique name in the node tree used to generate the node ID | **outboundNodes** | **List<String>** | OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step. In the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children. | [optional] **outputs** | [**IoArgoprojWorkflowV1alpha1Outputs**](IoArgoprojWorkflowV1alpha1Outputs.md) | | [optional] -**phase** | **String** | Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. | [optional] +**phase** | **String** | Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state. | [optional] **podIP** | **String** | PodIP captures the IP of the pod for daemoned steps | [optional] **progress** | **String** | Progress to completion | [optional] **resourcesDuration** | **Map<String, Long>** | ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes. | [optional] diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md index 3d614b0af7bc..b82d09dbe094 100644 --- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md +++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md @@ -19,7 +19,7 @@ Name | Type | Description | Notes **offloadNodeStatusVersion** | **String** | Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. This will actually be populated with a hash of the offloaded data. | [optional] **outputs** | [**IoArgoprojWorkflowV1alpha1Outputs**](IoArgoprojWorkflowV1alpha1Outputs.md) | | [optional] **persistentVolumeClaims** | [**List<io.kubernetes.client.openapi.models.V1Volume>**](io.kubernetes.client.openapi.models.V1Volume.md) | PersistentVolumeClaims tracks all PVCs that were created as part of the io.argoproj.workflow.v1alpha1. The contents of this list are drained at the end of the workflow. | [optional] -**phase** | **String** | Phase a simple, high-level summary of where the workflow is in its lifecycle. | [optional] +**phase** | **String** | Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed. | [optional] **progress** | **String** | Progress to completion | [optional] **resourcesDuration** | **Map<String, Long>** | ResourcesDuration is the total for the workflow | [optional] **startedAt** | **java.time.Instant** | | [optional] diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_node_status.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_node_status.py index 4c3c95b6ead8..d186d241de01 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_node_status.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_node_status.py @@ -211,7 +211,7 @@ def _from_openapi_data(cls, id, name, type, *args, **kwargs): # noqa: E501 message (str): A human readable message indicating details about why the node is in this condition.. [optional] # noqa: E501 outbound_nodes ([str]): OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step. In the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children.. [optional] # noqa: E501 outputs (IoArgoprojWorkflowV1alpha1Outputs): [optional] # noqa: E501 - phase (str): Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.. [optional] # noqa: E501 + phase (str): Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.. [optional] # noqa: E501 pod_ip (str): PodIP captures the IP of the pod for daemoned steps. [optional] # noqa: E501 progress (str): Progress to completion. [optional] # noqa: E501 resources_duration ({str: (int,)}): ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes.. [optional] # noqa: E501 @@ -321,7 +321,7 @@ def __init__(self, id, name, type, *args, **kwargs): # noqa: E501 message (str): A human readable message indicating details about why the node is in this condition.. [optional] # noqa: E501 outbound_nodes ([str]): OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step. In the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children.. [optional] # noqa: E501 outputs (IoArgoprojWorkflowV1alpha1Outputs): [optional] # noqa: E501 - phase (str): Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine.. [optional] # noqa: E501 + phase (str): Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.. [optional] # noqa: E501 pod_ip (str): PodIP captures the IP of the pod for daemoned steps. [optional] # noqa: E501 progress (str): Progress to completion. [optional] # noqa: E501 resources_duration ({str: (int,)}): ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes.. [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_workflow_status.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_workflow_status.py index ac6b048edbe2..46f8aef406ec 100644 --- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_workflow_status.py +++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_workflow_status.py @@ -201,7 +201,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 offload_node_status_version (str): Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. This will actually be populated with a hash of the offloaded data.. [optional] # noqa: E501 outputs (IoArgoprojWorkflowV1alpha1Outputs): [optional] # noqa: E501 persistent_volume_claims ([Volume]): PersistentVolumeClaims tracks all PVCs that were created as part of the io.argoproj.workflow.v1alpha1. The contents of this list are drained at the end of the workflow.. [optional] # noqa: E501 - phase (str): Phase a simple, high-level summary of where the workflow is in its lifecycle.. [optional] # noqa: E501 + phase (str): Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed.. [optional] # noqa: E501 progress (str): Progress to completion. [optional] # noqa: E501 resources_duration ({str: (int,)}): ResourcesDuration is the total for the workflow. [optional] # noqa: E501 started_at (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501 @@ -300,7 +300,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 offload_node_status_version (str): Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. This will actually be populated with a hash of the offloaded data.. [optional] # noqa: E501 outputs (IoArgoprojWorkflowV1alpha1Outputs): [optional] # noqa: E501 persistent_volume_claims ([Volume]): PersistentVolumeClaims tracks all PVCs that were created as part of the io.argoproj.workflow.v1alpha1. The contents of this list are drained at the end of the workflow.. [optional] # noqa: E501 - phase (str): Phase a simple, high-level summary of where the workflow is in its lifecycle.. [optional] # noqa: E501 + phase (str): Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed.. [optional] # noqa: E501 progress (str): Progress to completion. [optional] # noqa: E501 resources_duration ({str: (int,)}): ResourcesDuration is the total for the workflow. [optional] # noqa: E501 started_at (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501 diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md index bdefdbd4d386..3db201a0d997 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1NodeStatus.md @@ -20,7 +20,7 @@ Name | Type | Description | Notes **message** | **str** | A human readable message indicating details about why the node is in this condition. | [optional] **outbound_nodes** | **[str]** | OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step. In the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children. | [optional] **outputs** | [**IoArgoprojWorkflowV1alpha1Outputs**](IoArgoprojWorkflowV1alpha1Outputs.md) | | [optional] -**phase** | **str** | Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. | [optional] +**phase** | **str** | Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state. | [optional] **pod_ip** | **str** | PodIP captures the IP of the pod for daemoned steps | [optional] **progress** | **str** | Progress to completion | [optional] **resources_duration** | **{str: (int,)}** | ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes. | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md index 3d6c50ccff76..5c16f28239b5 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1WorkflowStatus.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **offload_node_status_version** | **str** | Whether on not node status has been offloaded to a database. If exists, then Nodes and CompressedNodes will be empty. This will actually be populated with a hash of the offloaded data. | [optional] **outputs** | [**IoArgoprojWorkflowV1alpha1Outputs**](IoArgoprojWorkflowV1alpha1Outputs.md) | | [optional] **persistent_volume_claims** | [**[Volume]**](Volume.md) | PersistentVolumeClaims tracks all PVCs that were created as part of the io.argoproj.workflow.v1alpha1. The contents of this list are drained at the end of the workflow. | [optional] -**phase** | **str** | Phase a simple, high-level summary of where the workflow is in its lifecycle. | [optional] +**phase** | **str** | Phase a simple, high-level summary of where the workflow is in its lifecycle. Will be \"\" (Unknown), \"Pending\", or \"Running\" before the workflow is completed, and \"Succeeded\", \"Failed\" or \"Error\" once the workflow has completed. | [optional] **progress** | **str** | Progress to completion | [optional] **resources_duration** | **{str: (int,)}** | ResourcesDuration is the total for the workflow | [optional] **started_at** | **datetime** | Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers. | [optional]