BlueprintInstance
The ID of the blueprint instance.
a97cf86f-2a5e-4614-984e-da480a0daa7a
A user-defined unique name for the blueprint instance.
my-blueprint-instance
The status of the blueprint instance.
The following status codes are supported:
- Preparing (0) - The status used when a blueprint instance is being prepared to be deployed, updated or destroyed.
- Deploying (1) - The status used when a blueprint instance is being deployed.
- Deployed (2) - The status used when a blueprint instance has been deployed successfully.
- Deploy Failed (3) - The status used when the deployment of a blueprint instance has failed.
- Deploy Rolling Back (4) - The status used when a blueprint instance deployment has failed and is being rolled back to a previous state.
- Deploy Rollback Failed (5) - The status used when a blueprint instance deployment has failed and the rollback to a previous state has failed.
- Deploy Rollback Complete (6) - The status used when a blueprint instance deployment has failed and the rollback to a previous state has completed successfully.
- Destroying (7) - The status used when a blueprint instance is being destroyed.
- Destroyed (8) - The status used when a blueprint instance has been destroyed.
- Destroy Failed (9) - The status used when the destruction of a blueprint instance has failed.
- Destroy Rolling Back (10) - The status used when a blueprint instance destruction has failed and is being rolled back to a previous state.
- Destroy Rollback Failed (11) - The status used when a blueprint instance destruction has failed and the rollback to a previous state has failed.
- Destroy Rollback Complete (12) - The status used when a blueprint instance destruction has failed and the rollback to a previous state has completed successfully.
- Updating (13) - The status used when a blueprint instance is being updated.
- Updated (14) - The status used when a blueprint instance has been updated successfully.
- Update Failed (15) - The status used when the update of a blueprint instance has failed.
- Update Rolling Back (16) - The status used when a blueprint instance update has failed and is being rolled back to a previous state.
- Update Rollback Failed (17) - The status used when a blueprint instance update has failed and the rollback to a previous state has failed.
- Update Rollback Complete (18) - The status used when a blueprint instance update has failed and the rollback to a previous state has completed successfully.
- Not Deployed (19) - The status used when a blueprint instance has not had its first deployment. This is useful for persisting a skeleton for an instance before the first deployment of a new blueprint instance.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
, 19
]
2
The unix timestamp when the blueprint instance status was last updated.
1678901234
The unix timestamp when the blueprint instance was last deployed.
1678901234
The unix timestamp for when the last attempt to deploy the blueprint instance was made.
1678901234
resourceIds objectrequired
A mapping of logical resource definition names to the resource IDs that are created from the resource definitions.
The ID of the resource.
60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
resources objectrequired
A mapping of resource IDs to the resource state.
property name* ResourceState
A globally unique identifier for the resource.
60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
The logical name of the resource in the blueprint.
my-existing-resource
The type of the resource.
aws/lambda/function
The name of the resource template in the source blueprint that the resource is derived from. This will be empty, null or not set if the resource is not derived from a template.
my-template
The ID of the blueprint instance that the resource belongs to.
a97cf86f-2a5e-4614-984e-da480a0daa7a
The high level status of the resource.
The following high level status codes are supported:
- Unknown (0) - The status used when we can't determine an accurate status for a resource.
- Creating (1) - The status used when an initial resource deployment is currently in progress.
- Created (2) - The status used when a resource has been deployed successfully for the first time.
- Create Failed (3) - The status used when the first creation of a resource has failed.
- Destroying (4) - The status used when a resource is in the process of being destroyed.
- Destroyed (5) - The status used when a resource has been destroyed.
- Destroy Failed (6) - The status used when the destruction of a resource fails.
- Updating (7) - The status used when a resource is being updated.
- Updated (8) - The status used when a resource has been updated successfully.
- Update Failed (9) - The status used when the update of a resource fails.
- Rolling Back (10) - The status used when another change in the same blueprint has failed and the latest change involving the current resource is being rolled back.
- Rollback Failed (11) - The status used when another change in the same blueprint has failed and the latest change involving the current resource could not be rolled back.
- Rollback Complete (12) - The status used when another change in the same blueprint has failed and the latest change involving the current resource has been rolled back.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
]
2
The precise status of the resource.
The following precise status codes are supported:
- Unknown (0) - The precise status used when we can't determine an accurate status for a resource.
- Creating (1) - The precise status used when an initial resource deployment is currently in progress.
- Config Compelte (2) - The precise status used when a resource has been configured successfully.
- Created (3) - The precise status used when a resource has been deployed successfully and is considered stable.
- Create Failed (4) - The precise status used when the first creation of a resource has failed.
- Create Rolling Back (5) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully created is being rolled back.
- Create Rollback Failed (6) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully created could not be rolled back.
- Create Rollback Complete (7) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully created has been rolled back.
- Destroying (8) - The precise status used when a resource is in the process of being destroyed.
- Destroyed (9) - The precise status used when a resource has been destroyed.
- Destroy Failed (10) - The precise status used when the destruction of a resource fails.
- Destroy Rolling Back (11) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully destroyed is being rolled back.
- Destroy Rollback Failed (12) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully destroyed could not be rolled back.
- Destroy Rollback Config Complete (13) - The precise status used when another change in the same blueprint has failed and the current resource that was succesfully removed has been rolled back (recreated) but is not yet in a stable state.
- Destroy Rollback Complete (14) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully removed has been rolled back (recreated) and is in a stable state.
- Updating (15) - The precise status used when a resource is being updated.
- Update Config Complete (16) - The precise status used when a resource being updated has been configured successfully.
- Updated (17) - The precise status used when a resource has been updated successfully and is considered stable.
- Update Failed (18) - The precise status used when the update of a resource fails.
- Update Rolling Back (19) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully updated is being rolled back.
- Update Rollback Failed (20) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully updated could not be rolled back.
- Update Rollback Config Complete (21) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully updated has been rolled back but is not yet in a stable state.
- Update Rollback Complete (22) - The precise status used when another change in the same blueprint has failed and the current resource that was successfully updated has been rolled back and is in a stable state.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
, 19
, 20
, 21
, 22
]
3
The unix timestamp when the resource deployment status was last updated.
1678901234
The unix timestamp when the resource was last deployed.
1678901234
The unix timestamp for when the last attempt was made to deploy the resource.
1678901234
specData objectrequired
The resolved resource spec for the currently deployed version of the resource along with computed fields derived from the deployed resource in the upstream provider.
The resolved resource spec for the currently deployed version of the resource along with computed fields derived from the deployed resource in the upstream provider.
{"functionName":"my-lambda-function","handler":"index.handler","runtime":"nodejs20.x","arn":"arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function"}
A description of the resource.
A lambda function for processing events
metadata object
The metadata for the resource that is derived from a source blueprint that includes additional information that allows for extensions built on top of the blueprint framework along with the storage of labels, annotations and a human-friendly display name for the resource.
A human-friendly display name for the resource.
My Lambda Function
annotations object
Annotations for the resource.
labels object
Labels for the resource.
The label value.
processing
Custom metadata for the resource.
The names of resources that this resource depends on in the blueprint.
The names of child blueprints that this resource depends on in the blueprint.
The reasons why the resource deployment has failed, if applicable.
If true, the resource has drifted from the current state stored in the Deploy Engine. This is used to indicate that the resource has been modified in the upstream provider outside of the Deploy Engine.
false
The unix timestamp when the resource was last detected to be drifted.
1678901234
durations objectnullable
Duration information for the latest deployment of the resource.
The duration in milliseconds for the resource to be configured. This will only be set if the resource has reached the config complete status.
10000
The duration in milliseconds for the resource change to reach the final status.
20000
The durations in milliseconds for each attempt to deploy the resource.
links objectrequired
A mapping of logical link definition names to the state of each link in the blueprint instance.
property name* LinkState
A globally unique identifier for the link.
60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
The logical name of the link in the blueprint. This is a combination of the logical names of the 2 resources that are linked. For example, if a link is between a VPC and a subnet, the link name would be "vpc::subnet".
vpc::subnet
The ID of the blueprint instance that the link belongs to.
a97cf86f-2a5e-4614-984e-da480a0daa7a
The high level status of the link.
The following high level status codes are supported:
- Unknown (0) - The status used when we can't determine an accurate status for a link.
- Creating (1) - The status used when an initial link deployment is currently in progress.
- Created (2) - The status sed when a link has been deployed successfully.
- Create Failed (3) - The status used when the first creation of a link has failed.
- Create Rolling Back (4) - The status used when another change in the same blueprint has failed and the current link that was successfully created is being rolled back.
- Create Rollback Failed (5) - The status used when another change in the same blueprint has failed and the current link that was successfully created could not be rolled back.
- Create Rollback Complete (6) - The status used when another change in the same blueprint has failed and the current link that was successfully created has been rolled back.
- Destroying (7) - The status used when a link is in the process of being destroyed.
- Destroyed (8) - The status used when a link has been destroyed.
- Destroy Failed (9) - The status used when the destruction of a link fails.
- Destroy Rolling Back (10) - The status used when another change in the same blueprint has failed and the current link that was successfully destroyed is being rolled back.
- Destroy Rollback Failed (11) - The status used when another change in the same blueprint has failed and the current link that was successfully destroyed could not be rolled back.
- Destroy Rollback Complete (12) - The status used when another change in the same blueprint has failed and the current link that was successfully destroyed has been rolled back.
- Updating (13) - The status used when a link is being updated.
- Updated (14) - The status used when a link has been updated successfully.
- Update Failed (15) - The status used when the update of a link fails.
- Update Rolling Back (16) - The status used when another change in the same blueprint has failed and the current link that was successfully updated is being rolled back.
- Update Rollback Failed (17) - The status used when another change in the same blueprint has failed and the current link that was successfully updated could not be rolled back.
- Update Rollback Complete (18) - The status used when another change in the same blueprint has failed and the current link that was successfully updated has been rolled back.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
]
2
The precise status of the link.
The following precise status codes are supported:
- Unknown (0) - The precise status used when we can't determine an accurate status for a link.
- Updating Resource A (1) - The precise status used when the configuration for a link is being applied to resource A in the link.
- Resource A Updated (2) - The precise status used when the configuration for a link has been applied to resource A in the link.
- Resource A Update Failed (3) - The precise status used when the configuration for a link has failed to be applied to resource A in the link.
- Resource A Update Rolling Back (4) - The precise status used when another change in the same blueprint has failed and the current link for which resource A was successfully updated is being rolled back.
- Resource A Update Rollback Failed (5) - The precise status used when another change in the same blueprint has failed and the current link for which resource A was successfully updated could not be rolled back.
- Resource A Update Rollback Complete (6) - The precise status used when another change in the same blueprint has failed and the current link for which resource A was successfully updated has been rolled back.
- Updating Resource B (7) - The precise status used when the configuration for a link is being applied to resource B in the link.
- Resource B Updated (8) - The precise status used when the configuration for a link has been applied to resource B in the link.
- Resource B Update Failed (9) - The precise status used when the configuration for a link has failed to be applied to resource B in the link.
- Resource B Update Rolling Back (10) - The precise status used when another change in the same blueprint has failed and the current link for which resource B was successfully updated is being rolled back.
- Resource B Update Rollback Failed (11) - The precise status used when another change in the same blueprint has failed and the current link for which resource B was successfully updated could not be rolled back.
- Resource B Update Rollback Complete (12) - The precise status used when another change in the same blueprint has failed and the current link for which resource B was successfully updated has been rolled back.
- Updating Intermediary Resources (13) - The precise status used when intermediary resources are being created, updated or destroyed. This status is a high level of indication of progress, the status of each intermediary resource should be checked to determine the extract state of each intermediary resource in the link.
- Intermediary Resources Updated (14) - The precise status used when all intermediary resources have been successfully updated, created or destroyed.
- Intermediary Resource Update Failed (15) - The precise status used when an intermediary resource has failed to be updated, created or destroyed.
- Intermediary Resource Update Rolling Back (16) - The precise status used when another change in the same blueprint has failed and the current link for which intermediary resources were successfully updated is being rolled back.
- Intermediary Resource Update Rollback Failed (17) - The precise status used when another change in the same blueprint has failed and the current link for which intermediary resources were successfully updated failed to be rolled back.
- Intermediary Resource UpdateRollback Complete (18) - The precise status used when another change in the same blueprint has failed and the current link for which intermediary resources were succesfully updated has been rolled back.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
]
2
The unix timestamp when the link deployment status was last updated.
1678901234
The unix timestamp when the link was last deployed.
1678901234
The unix timestamp when an attempt was last made to deploy the link.
1678901234
intermediaryResourceStates object[]required
A list of intermediary resources that are created by a provider's implementation of a link.
The ID of the intermediary resource.
60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
The ID of the blueprint instance that the intermediary resource belongs to.
a97cf86f-2a5e-4614-984e-da480a0daa7a
The high level status of the intermediary resource.
See the status codes for the ResourceState
schema definition for what each status means.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
]
2
The precise status of the intermediary resource.
See the precise status codes for the ResourceState
schema definition for what each status means.
Possible values: [0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
, 19
, 20
, 21
, 22
]
3
The unix timestamp when the intermediary resource was last deployed.
1678901234
The unix timestamp when the last attempt was made to deploy the intermediary resource.
1678901234
resourceSpecData objectrequired
The resolved resource spec for the intermediary resource that is generated by a provider's implementation of a link based on link data derived from the two primary resources that are linked together and rules in the link implementation.
The reasons why the intermediary resource deployment has failed, if applicable.
data objectrequired
An object that holds the "raw" link data that is a projection of the data that is stored across the 2 resources that are linked together along with optional intermediary resources.
The reasons why the link deployment has failed, if applicable.
durations objectnullable
Duration information for the latest deployment of the link.
resourceAUpdate objectnullable
Duration information for the update of resource A in the link. This will only be present if the link has reached resource A updated status.
The duration in milliseconds for the link component change to reach the final status.
20000
The durations in milliseconds for each attempt to deploy the link component. Attempt durations are in order as per the "attempt" field in a status update event.
resourceBUpdate objectnullable
Duration information for the update of resource B in the link. This will only be present if the link has reached resource B updated status.
The duration in milliseconds for the link component change to reach the final status.
20000
The durations in milliseconds for each attempt to deploy the link component. Attempt durations are in order as per the "attempt" field in a status update event.
intermediaryResources objectnullable
Duration information for the update, creation or removal of intermediary resources in the link. This will only be present if the link has reached intermediary resources updated status.
The duration in milliseconds for the link component change to reach the final status.
20000
The durations in milliseconds for each attempt to deploy the link component. Attempt durations are in order as per the "attempt" field in a status update event.
metadata objectrequired
Metadata that is used to store additional non-structured information that is relevant to the Deploy Engine and other tools or applications that use blueprints to store information.
exports objectrequired
A mapping of export names as defined in the source blueprint to the export values created as a result of the deployment of the blueprint instance.
property name* ExportState
The value of the exported field.
The type of the exported field.
Possible values: [string
, object
, integer
, float
, array
, boolean
]
string
A description of the exported field.
The ARN of the lambda function
The path of a field in a blueprint element that should be exported. This is used to retain information about the source of the export from within the blueprint.
resources["my-resource"].spec.arn
childBlueprints objectrequired
A mapping of child blueprint instance IDs to the child blueprint instance state. This is used to store information about child blueprints that are created as part of the deployment of the parent blueprint instance.
childDependencies objectnullable
A mapping of child blueprint logical names to their dependencies in the same parent blueprint instance.
property name* DependencyInfo
The names of resources that a child blueprint or resource depends on in the blueprint.
The names of child blueprints that a child blueprint or resource depends on in the blueprint.
durations objectnullable
Duration information for the latest deployment of the blueprint instance.
The duration in milliseconds for the preparation phase of a blueprint instance deployment to be completed.
10000
The duration in milliseconds for the blueprint instance to reach the final status.
20000
{
"id": "a97cf86f-2a5e-4614-984e-da480a0daa7a",
"name": "my-blueprint-instance",
"status": 2,
"lastStatusUpdateTimestamp": 1678901234,
"lastDeployedTimestamp": 1678901234,
"lastDeployAttemptTimestamp": 1678901234,
"resourceIds": {
"my-resource": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55"
},
"resources": {
"60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55": {
"id": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"name": "my-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"
},
"metadata": {
"displayName": "My Lambda Function",
"annotations": {
"processing": true
},
"labels": {
"processing": true
},
"custom": {
"my-custom-metadata": "my-custom-metadata-value"
}
},
"dependsOnResources": [
"my-other-resource"
],
"dependsOnChildren": [
"my-other-child-blueprint"
],
"failureReasons": [
"The resource could not be created because the IAM role does not exist."
],
"drifted": true,
"lastDriftDetectedTimestamp": 1678901234,
"durations": {
"configCompleteDuration": 10000,
"totalDuration": 20000,
"attemptDurations": [
20000
]
}
}
},
"links": {
"vpc::subnet": {
"id": "60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55",
"name": "vpc::subnet",
"instanceId": "a97cf86f-2a5e-4614-984e-da480a0daa7a",
"status": 2,
"preciseStatus": 3,
"lastStatusUpdateTimestamp": 1678901234,
"lastDeployAttemptTimestamp": 1678901234,
"intermediaryResourceStates": [],
"data": {
"subnetId": "subnet-1234567890abcdef0",
"vpcId": "vpc-1234567890abcdef0"
},
"failureReasons": [
"The link could not be created because the VPC does not exist."
]
}
},
"metadata": {},
"exports": {
"my-export": {
"value": "arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function",
"type": "string",
"description": "The ARN of the lambda function",
"field": "resources[\"my-resource\"].spec.arn"
}
},
"childBlueprints": {},
"childDependencies": {},
"durations": {
"prepareDuration": 10000,
"totalDuration": 20000
}
}