ValidatePipelineRunRequest
Checks the steps of a resolved pipeline graph against the provider catalog, as starting a run would, without starting one.
Shape
resolved_dagResolvedDag
- The ResolvedDag schema
edgesarray of ResolvedEdge
- The ResolvedEdge schema
- from_nodeNodeId (string)
- to_nodeNodeId (string)
- from_portPortName (string) or nulloptionalAbsent on a dependency-only connection — one that orders two steps and carries nothing.
- to_portPortName (string) or nulloptionalAbsent on a dependency-only edge.
nodesarray of ResolvedNode
- The ResolvedNode schema
- capability_idCapabilityId (string)
- configobjectThe step's own settings, in whatever shape its capability defines. Passed through unread.
inputsarray of NodePortSpec
- The NodePortSpec schema
- namePortName (string)
- port_typePortTypegit_refartifactcontainer_imagetest_reportdeployment_refcredentialsevidencevaluecustomWhat kind of data a port carries. Two ports connect only when their types match.
- requiredboolean
- cardinalityPortCardinalityonemanyoptionalHow many connections this port accepts (input ports only). A
manyinput waits for every connection feeding it. - schema_idPortSchemaId (string) or nulloptionalFor a
customport, the id of the schema it carries (e.g.aws.ecs.task-definition/v1).
- max_retriesinteger · int320–∞
- node_idNodeId (string)
outputsarray of NodePortSpec
- The NodePortSpec schema
- namePortName (string)
- port_typePortTypegit_refartifactcontainer_imagetest_reportdeployment_refcredentialsevidencevaluecustomWhat kind of data a port carries. Two ports connect only when their types match.
- requiredboolean
- cardinalityPortCardinalityonemanyoptionalHow many connections this port accepts (input ports only). A
manyinput waits for every connection feeding it. - schema_idPortSchemaId (string) or nulloptionalFor a
customport, the id of the schema it carries (e.g.aws.ecs.task-definition/v1).
- provider_idProviderId (string)
- provider_imagestringThe container image this step runs. Set by the platform from the capability and version the step resolved to; a value supplied by the caller is ignored.
- retry_delay_secondsinteger · int320–∞
secret_refsarray of SecretRefThe credentials this step needs, named rather than valued — a secret's value never appears here.
- The SecretRef schema
- connection_idConnectionId (string · uuid)The provider connection the credential comes from.
- keystringA JSON path within the connection's credentials (e.g.
$.password). It does not select part of them: the step receives the connection's credentials whole. - logical_namestringThe name the step's provider knows this credential by.
- stage_idStageId (string)
- stage_indexinteger · int320–∞
- timeout_secondsinteger · int320–∞
- allow_failurebooleanoptionalWhether the step is allowed to fail: if it fails or times out, only the steps that depend on it are skipped, and the run ends
succeeded_with_warningsrather thanfailed. approvalManualApproval or nulloptionalThe approval gate on this step itself, if the pipeline put one there. A step can also inherit a gate from the environment it deploys to.
- The ManualApproval schema
- requiredinteger · int32 or nulloptional0–∞Distinct approvals needed, 1–10. On a gated environment the larger of this and the environment's own count applies.
- cache_enabledbooleanoptionalWhether this step uses the build cache, as its capability declares.
- cpustring or nulloptionalHow much CPU this step asked for. Unset means the default for its capability.
environmentResolvedEnvironment or nulloptionalThe environment this step deploys to, frozen as it was when the run was triggered.
- The ResolvedEnvironment schema
- environment_idEnvironmentId (string · uuid)
- full_pathstringThe environment's unique name: the full path of the group or repository that owns it,
:, then its slug (e.g.acme/platform:production). Two groups may each have aproductionenvironment; this tells them apart. - slugEnvironmentSlug (string)
- tierEnvironmentTierdevelopmenttestingstagingproductionWhat kind of environment this is, whatever it is called:
development,testing,stagingorproduction. Aproductionenvironment is protected by default. - accept_fromAcceptFrompeople_signed_inpeoplepeople_and_service_accountspeople_and_agentsoptionalWhich kinds of approval count toward a rule.
- concurrency_keyConcurrencyKey (string) or nulloptionalThe lock deploys to this environment take, so that only one runs at a time. Absent when the environment allows deploys to run at the same time.
- concurrency_modeConcurrencyModequeueskipcancel_previousoptionalWhat happens when another run holds the lock:
queuewaits for it,skipskips this step,cancel_previouscancels the other run. - max_lock_wait_secondsinteger · int32optional0–∞How long a queued step waits for the lock before failing, in seconds.
0means it waits for as long as the pipeline's timeout allows. - prevent_self_approvalbooleanoptional
- requiredinteger · int32optional0–∞
- requires_approvalbooleanoptional
- variablesarray of ResolvedEnvironmentVariableoptionalThe environment's variables, in name order. A secret appears here by name only — its value is never included.
- wait_timer_secondsinteger · int32optional0–∞
- image_digeststring or nulloptionalThe exact build of the container image this step runs, when the catalog records one. Pinned, so the step cannot pick up a different build behind the same tag.
- memorystring or nulloptional
- namestringoptionalThe step's display name, as the pipeline's author wrote it when the run started. Empty for older runs recorded without one.
oidc_federationNodeOidcFederation or nulloptionalThe cloud role this step assumes with a short-lived identity token, when its connection uses OIDC federation. Absent for steps that use only stored credentials.
- The NodeOidcFederation schema
- role_arnRoleArn (string)The IAM role the step assumes with
sts:AssumeRoleWithWebIdentity. - audiencestring or nulloptionalA custom audience for the identity token, when the connection sets one. The standard audience is
sts.amazonaws.com. - regionAwsRegion (string) or nulloptionalThe AWS region for the step's calls, when the connection sets one.
originNodeOrigin or nulloptionalThe component this step came from, when the author wrote a component instance rather than the step itself. Absent for a step the pipeline declares directly.
- The NodeOrigin schema
- component_idComponentId (string · uuid)
- component_nameComponentName (string)
- inner_node_idNodeId (string)This node's identifier inside the component body — what its author called it, before expansion prefixed it with the instance.
- instance_idNodeId (string)The component instance in the pipeline the author wrote.
- versionComponentVersion (string)The version the instance's reference resolved to.
- requires_dockerbooleanoptionalWhether this step needs a Docker daemon, as its capability declares.
resource_groupResolvedResourceGroup or nulloptionalThe resource group this step holds while it runs, so no other step naming the same group runs at the same time.
- The ResolvedResourceGroup schema
- keyConcurrencyKey (string)The lock a step takes so that only one step holding it runs at a time:
env:followed by an environment's id, orrg:followed by your organization's id and a resource group's name. Set by the platform. - max_lock_wait_secondsinteger · int320–∞How long a queued step waits before failing, in seconds.
0means it waits for as long as the pipeline's timeout allows. - modeConcurrencyModequeueskipcancel_previousWhat happens when another run holds the group:
queuewaits for it,skipskips this step.
- service_idServiceId (string · uuid) or nulloptionalThe catalog service this step acts on, as it was identified when the run started.
variables_fromResolvedEnvironmentVariables or nulloptionalThe environment whose plain variables this step reads without deploying there, as it stood when the run was triggered.
- The ResolvedEnvironmentVariables schema
- environment_idEnvironmentId (string · uuid)The environment the step reads from.
- full_pathstringThe environment's unique name: the full path of the group or repository that owns it,
:, then its slug (e.g.acme/platform:production). - slugEnvironmentSlug (string)The environment's slug, as the step's
variables_fromnames it. - plainarray of ResolvedPlainVariableoptionalThe environment's non-secret variables, in name order, with their values.
- withheldarray of EnvironmentVariableName (string)optionalThe names of the environment's secrets, in name order. The step does not receive them.
- versionProviderVersion (string) or nulloptionalThe provider version this step runs: the one the pipeline pins, or else the provider's default version for the repository when the run started. It must be enabled and allowed by the provider policy that applies.
stagesarray of ResolvedStage
- The ResolvedStage schema
- barrier_modeBarrierModestrictlenientWhen a stage is allowed to start.
strictwaits for every step in every earlier stage to finish, so a failure anywhere stops what follows.lenientwaits only for the steps a given step actually depends on, so an unrelated branch failing does not block it.strictis the default. - stage_idStageId (string)
- stage_indexinteger · int320–∞
pipeline_variablesarray of ResolvedPipelineVariableoptionalThe variables available to every step in this run, resolved from the repository and the groups above it when the run was triggered. Changing a variable afterwards does not affect a run already under way, and re-running uses the values the run started with.
- The ResolvedPipelineVariable schema
- nameEnvironmentVariableName (string)
- scope_idstringThe id of the group or repository that declared the variable.
- valueEnvironmentVariableValue (string) or nulloptional
Example
Synthesized example{
"resolved_dag": {
"edges": [
{
"from_node": "from-node-13c9",
"to_node": "to-node-b317"
},
{
"from_node": "from-node-07f4",
"to_node": "to-node-88d2"
}
],
"nodes": [
{
"capability_id": "5feec781-f73b-49bf-a423-9a38b0a5e7e6",
"config": {},
"inputs": [],
"max_retries": 24,
"node_id": "1681e446-9101-4700-b3bf-4f76b8ba0724",
"outputs": [],
"provider_id": "c0af137a-d0d1-4793-b1f1-a8d91e567e88",
"provider_image": "provider-image-0147",
"retry_delay_seconds": 49,
"secret_refs": [],
"stage_id": "76859b8f-2f33-4370-b00a-4b91e0f112ea",
"stage_index": 2,
"timeout_seconds": 58
},
{
"capability_id": "eb9b5d77-b3e7-4618-9a7a-4693f925a1a5",
"config": {},
"inputs": [],
"max_retries": 29,
"node_id": "3fddc047-f8c0-42a6-82b0-d20b25a8acde",
"outputs": [],
"provider_id": "e21640da-cfc0-469f-9a2b-8bf3712dcba1",
"provider_image": "provider-image-0079",
"retry_delay_seconds": 74,
"secret_refs": [],
"stage_id": "85306d79-a999-4aa2-bff6-d85d9a0f1fb3",
"stage_index": 3,
"timeout_seconds": 11
}
],
"stages": [
{
"barrier_mode": "strict",
"stage_id": "e7e23480-1730-436c-abd7-3d5780100acf",
"stage_index": 6
}
],
"pipeline_variables": [
{
"name": "payments-api",
"scope_id": "b565fe48-703b-4d56-a95f-87ef7f7b5bfd"
}
]
}
}
Graph
Used inside
No schema contains this one.
Contains
Used by
Sent by 1 operation
Returned by 0 operations
No operation returns it directly.