Skip to content

Commit

Permalink
Added WorkflowStatus and NodeStatus types to the Open API Spec. (#1614)
Browse files Browse the repository at this point in the history
  • Loading branch information
Premkumar Masilamani authored and jessesuen committed Sep 21, 2019
1 parent ffb281a commit 20e91ea
Show file tree
Hide file tree
Showing 3 changed files with 357 additions and 2 deletions.
130 changes: 130 additions & 0 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,92 @@
}
}
},
"io.argoproj.workflow.v1alpha1.NodeStatus": {
"description": "NodeStatus contains status information about an individual node in the workflow",
"type": "object",
"required": [
"id",
"name",
"displayName",
"type"
],
"properties": {
"boundaryID": {
"description": "BoundaryID indicates the node ID of the associated template root node in which this node belongs to",
"type": "string"
},
"children": {
"description": "Children is a list of child node IDs",
"type": "array",
"items": {
"type": "string"
}
},
"daemoned": {
"description": "Daemoned tracks whether or not this node was daemoned and need to be terminated",
"type": "boolean"
},
"displayName": {
"description": "DisplayName is a human readable representation of the node. Unique within a template boundary",
"type": "string"
},
"finishedAt": {
"description": "Time at which this node completed",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"id": {
"description": "ID is a unique identifier of a node within the worklow It is implemented as a hash of the node name, which makes the ID deterministic",
"type": "string"
},
"inputs": {
"description": "Inputs captures input parameter values and artifact locations supplied to this template invocation",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Inputs"
},
"message": {
"description": "A human readable message indicating details about why the node is in this condition.",
"type": "string"
},
"name": {
"description": "Name is unique name in the node tree used to generate the node ID",
"type": "string"
},
"outboundNodes": {
"description": "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.\n\nIn 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.",
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"description": "Outputs captures output parameter values and artifact locations produced by this template invocation",
"$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.",
"type": "string"
},
"podIP": {
"description": "PodIP captures the IP of the pod for daemoned steps",
"type": "string"
},
"startedAt": {
"description": "Time at which this node started",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"templateName": {
"description": "TemplateName is the template name which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"type": "string"
},
"templateRef": {
"description": "TemplateRef is the reference to the template resource which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.TemplateRef"
},
"type": {
"description": "Type indicates type of node",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.NoneStrategy": {
"description": "NoneStrategy indicates to skip tar process and upload the files or directory tree as independent files. Note that if the artifact is a directory, the artifact driver must support the ability to save/load the directory appropriately.",
"type": "object"
Expand Down Expand Up @@ -1459,6 +1545,50 @@
}
}
},
"io.argoproj.workflow.v1alpha1.WorkflowStatus": {
"description": "WorkflowStatus contains overall status information about a workflow",
"type": "object",
"properties": {
"compressedNodes": {
"description": "Compressed and base64 decoded Nodes map",
"type": "string"
},
"finishedAt": {
"description": "Time at which this workflow completed",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"message": {
"description": "A human readable message indicating details about why the workflow is in this condition.",
"type": "string"
},
"nodes": {
"description": "Nodes is a mapping between a node ID and the node's status.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.NodeStatus"
}
},
"outputs": {
"description": "Outputs captures output values and artifact locations produced by the workflow via global outputs",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Outputs"
},
"persistentVolumeClaims": {
"description": "PersistentVolumeClaims tracks all PVCs that were created as part of the workflow. The contents of this list are drained at the end of the workflow.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Volume"
}
},
"phase": {
"description": "Phase a simple, high-level summary of where the workflow is in its lifecycle.",
"type": "string"
},
"startedAt": {
"description": "Time at which this workflow started",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
}
},
"io.argoproj.workflow.v1alpha1.WorkflowStep": {
"description": "WorkflowStep is a reference to a template to execute in a series of step",
"type": "object",
Expand Down
227 changes: 227 additions & 0 deletions pkg/apis/workflow/v1alpha1/openapi_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 20e91ea

Please sign in to comment.