Skip to content
GitmoapAPIBeta
Schema

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 many input waits for every connection feeding it.
        • schema_idPortSchemaId (string) or nulloptionalFor a custom port, 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 many input waits for every connection feeding it.
        • schema_idPortSchemaId (string) or nulloptionalFor a custom port, 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_warnings rather than failed.
      • 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
        • approversarray of ApproverRefoptional
        • 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 a production environment; this tells them apart.
        • slugEnvironmentSlug (string)
        • tierEnvironmentTierdevelopmenttestingstagingproductionWhat kind of environment this is, whatever it is called: development, testing, staging or production. A production environment is protected by default.
        • accept_fromAcceptFrompeople_signed_inpeoplepeople_and_service_accountspeople_and_agentsoptionalWhich kinds of approval count toward a rule.
        • approversarray of ApproverRefoptional
        • 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: queue waits for it, skip skips this step, cancel_previous cancels the other run.
        • max_lock_wait_secondsinteger · int32optional0–∞How long a queued step waits for the lock before failing, in seconds. 0 means 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, or rg: 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. 0 means it waits for as long as the pipeline's timeout allows.
        • modeConcurrencyModequeueskipcancel_previousWhat happens when another run holds the group: queue waits for it, skip skips 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_from names 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. strict waits for every step in every earlier stage to finish, so a failure anywhere stops what follows. lenient waits only for the steps a given step actually depends on, so an unrelated branch failing does not block it. strict is 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

Returned by 0 operations

No operation returns it directly.