HTTP API Referencev1
Get a Change Set
Retrieve a change set for a blueprint deployment. This will return the current status of the change staging process. If complete, the response will include a full set of changes that will be applied when deploying the change set.
AuthorizationBearer <token>
OAuth2/OIDC auth using JWT Bearer tokens. The token issuer will be configured independently for each Deploy Engine instance.
In: header
Path Parameters
idstring
The ID of the change set.
Header Parameters
Bluelink-Signature-V1?string
The Bluelink Signature v1 authentication mechanism can be used to authenticate requests to the Deploy Engine. See the Bluelink Signature v1 documentation for more information on how to use this authentication mechanism. This is not required if the request is authenticated using an OAuth2/OIDC-issued JWT or an API key.
Response Body
curl -X GET "https://{host}/{basePath}/v1/deployments/changes/16ef8989-af00-4a4a-8164-72493ceb1aa0" \ -H "Bluelink-Signature-V1: string"
{
"id": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"instanceId": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"destroy": false,
"status": "STAGING_CHANGES",
"blueprintLocation": "file:///path/to/blueprint-directory/project.blueprint.yml",
"changes": {
"value": {
"newResources": {
"my-new-resource": {
"appliedResourceInfo": {
"resourceId": "",
"resourceName": "my-new-resource",
"instanceId": "",
"currentResourceState": {},
"resourceWithResolvedSubs": {}
},
"mustRecreate": false,
"modifiedFields": [],
"newFields": [],
"removedFields": [],
"unchangedFields": [],
"computedFields": [],
"fieldChangesKnownOnDeploy": false,
"conditionKnownOnDeploy": false,
"newOutboundLinks": [],
"outboundLinkChanges": [],
"removedOutboundLinks": []
}
},
"resourceChanges": {
"my-existing-resource": {
"appliedResourceInfo": {
"resourceId": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"resourceName": "my-existing-resource",
"instanceId": "a97cf86f-2a5e-4614-984e-da480a0daa7a",
"currentResourceState": {
"resourceId": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"name": "my-existing-resource",
"type": "aws/lambda/function",
"instanceId": "a97cf86f-2a5e-4614-984e-da480a0daa7a",
"status": 2,
"preciseStatus": 3,
"lastStatusUpdateTimestamp": 1678901234,
"lastDeployedTimestamp": 1678901234,
"lastDeployAttemptTimestamp": 1678901234,
"specData": {
"functionName": "my-lambda-function",
"handler": "index.handler",
"runtime": "nodejs20.x",
"arn": "arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function"
},
"description": "A lambda function for processing events",
"metadata": {
"displayName": "My Lambda Function",
"annotations": {},
"labels": {
"system": "processing"
},
"custom": {
"owner": "bluelink",
"version": "1.0.0"
}
},
"dependsOnResources": [],
"dependsOnChildren": [],
"failureReasons": [],
"drifted": false,
"durations": {
"configCompleteDuration": 10000,
"totalDuration": 20000,
"attemptDurations": [
20000
]
}
},
"resourceWithResolvedSubs": {
"type": "aws/lambda/function",
"description": "A lambda function for processing events",
"metadata": {
"displayName": "My Lambda Function Updated",
"annotations": {},
"labels": {
"system": "processing2"
},
"custom": {
"owner": "bluelink",
"version": "1.0.0"
}
},
"spec": {
"functionName": "my-lambda-function",
"handler": "index.handlerUpdated",
"runtime": "nodejs20.x"
}
}
},
"mustRecreate": false,
"modifiedFields": [
"field1"
],
"newFields": [],
"removedFields": [],
"unchangedFields": [
"field2"
],
"computedFields": [
"field3"
],
"fieldChangesKnownOnDeploy": true,
"conditionKnownOnDeploy": false,
"newOutboundLinks": [],
"outboundLinkChanges": [],
"removedOutboundLinks": []
}
},
"removedResources": [
"my-old-resource"
],
"removedLinks": [
"my-old-link"
],
"newChildren": {
"my-new-child": {
"newResources": {
"my-new-resource": {
"appliedResourceInfo": {
"resourceId": "",
"resourceName": "my-new-resource",
"instanceId": "",
"currentResourceState": {},
"resourceWithResolvedSubs": {}
},
"mustRecreate": false,
"modifiedFields": [],
"newFields": [],
"removedFields": [],
"unchangedFields": [],
"computedFields": [],
"fieldChangesKnownOnDeploy": false,
"conditionKnownOnDeploy": false,
"newOutboundLinks": [],
"outboundLinkChanges": [],
"removedOutboundLinks": []
}
},
"newChildren": {},
"newExports": {
"my-new-export": {
"fieldPath": "my-new-export",
"prevValue": "",
"newValue": "my-new-export",
"mustRecreate": false
}
}
}
},
"childChanges": {},
"recreateChildren": [
"another-child-blueprint"
],
"removedChildren": [
"old-child-blueprint"
],
"newExports": {
"parent-new-export": {
"fieldPath": "parent-new-export",
"prevValue": "",
"newValue": "parent-new-export",
"mustRecreate": false
}
},
"exportChanges": {
"parent-existing-export": {
"fieldPath": "parent-existing-export",
"prevValue": "old-value",
"newValue": "new-value",
"mustRecreate": false
}
},
"unchangedExports": [
"parent-unchanged-export"
],
"removedExports": [
"parent-removed-export"
],
"metadataChanges": {
"newFields": [
{
"fieldPath": "metadata.new-field",
"prevValue": "",
"newValue": "new-value",
"mustRecreate": false
}
],
"modifiedFields": [
{
"fieldPath": "metadata.modified-field",
"prevValue": "old-value",
"newValue": "new-value",
"mustRecreate": false
}
],
"unchangedFields": [
"metadata.unchanged-field"
],
"removedFields": [
"metadata.removed-field"
]
},
"resolveOnDeploy": [
"resources[\"my-new-resource\"].spec.field1",
"resources[\"my-existing-resource\"].spec.field2"
]
}
},
"created": 1678901234
}
{
"message": "Unauthorized"
}
{
"message": "Not found"
}
{
"message": "An unexpected error occurred"
}