Skip to main content

BlueprintInstance

idstringrequired

The ID of the blueprint instance.

Example: a97cf86f-2a5e-4614-984e-da480a0daa7a
namestringrequired

A user-defined unique name for the blueprint instance.

Example: my-blueprint-instance
statusintegerrequired

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]

Example: 2
lastStatusUpdateTimestampintegernullable

The unix timestamp when the blueprint instance status was last updated.

Example: 1678901234
lastDeployedTimestampintegerrequired

The unix timestamp when the blueprint instance was last deployed.

Example: 1678901234
lastDeployAttemptTimestampintegerrequired

The unix timestamp for when the last attempt to deploy the blueprint instance was made.

Example: 1678901234
resourceIds objectrequired

A mapping of logical resource definition names to the resource IDs that are created from the resource definitions.

property name*string

The ID of the resource.

Example: 60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
resources objectrequired

A mapping of resource IDs to the resource state.

property name* ResourceState
idstringrequired

A globally unique identifier for the resource.

Example: 60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
namestringrequired

The logical name of the resource in the blueprint.

Example: my-existing-resource
typestringrequired

The type of the resource.

Example: aws/lambda/function
templateNamestringnullable

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.

Example: my-template
instanceIdstringrequired

The ID of the blueprint instance that the resource belongs to.

Example: a97cf86f-2a5e-4614-984e-da480a0daa7a
statusintegerrequired

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]

Example: 2
preciseStatusintegerrequired

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]

Example: 3
lastStatusUpdateTimestampintegernullable

The unix timestamp when the resource deployment status was last updated.

Example: 1678901234
lastDeployedTimestampintegerrequired

The unix timestamp when the resource was last deployed.

Example: 1678901234
lastDeployAttemptTimestampintegerrequired

The unix timestamp for when the last attempt was made to deploy the resource.

Example: 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.

property name*any

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.

Example: {"functionName":"my-lambda-function","handler":"index.handler","runtime":"nodejs20.x","arn":"arn:aws:lambda:us-east-1:123456789012:function:my-lambda-function"}
descriptionstringnullable

A description of the resource.

Example: 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.

displayNamestringnullable

A human-friendly display name for the resource.

Example: My Lambda Function
annotations object

Annotations for the resource.

labels object

Labels for the resource.

property name*string

The label value.

Example: processing
customobject

Custom metadata for the resource.

dependsOnResourcesstring[]

The names of resources that this resource depends on in the blueprint.

dependsOnChildrenstring[]

The names of child blueprints that this resource depends on in the blueprint.

failureReasonsstring[]required

The reasons why the resource deployment has failed, if applicable.

driftedbooleannullable

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.

Example: false
lastDriftDetectedTimestampintegernullable

The unix timestamp when the resource was last detected to be drifted.

Example: 1678901234
durations objectnullable

Duration information for the latest deployment of the resource.

configCompleteDurationnumbernullable

The duration in milliseconds for the resource to be configured. This will only be set if the resource has reached the config complete status.

Example: 10000
totalDurationnumbernullable

The duration in milliseconds for the resource change to reach the final status.

Example: 20000
attemptDurationsnumber[]

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
idstringrequired

A globally unique identifier for the link.

Example: 60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
namestringrequired

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".

Example: vpc::subnet
instanceIdstringrequired

The ID of the blueprint instance that the link belongs to.

Example: a97cf86f-2a5e-4614-984e-da480a0daa7a
statusintegerrequired

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]

Example: 2
preciseStatusintegerrequired

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]

Example: 2
lastStatusUpdateTimestampintegernullable

The unix timestamp when the link deployment status was last updated.

Example: 1678901234
lastDeployedTimestampintegerrequired

The unix timestamp when the link was last deployed.

Example: 1678901234
lastDeployAttemptTimestampintegerrequired

The unix timestamp when an attempt was last made to deploy the link.

Example: 1678901234
intermediaryResourceStates object[]required

A list of intermediary resources that are created by a provider's implementation of a link.

  • Array [
  • idstringrequired

    The ID of the intermediary resource.

    Example: 60d7c6c5-3984-42b9-a3c1-ae8a47a9bf55
    instanceIdstringrequired

    The ID of the blueprint instance that the intermediary resource belongs to.

    Example: a97cf86f-2a5e-4614-984e-da480a0daa7a
    statusintegerrequired

    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]

    Example: 2
    preciseStatusintegerrequired

    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]

    Example: 3
    lastDeployedTimestampintegerrequired

    The unix timestamp when the intermediary resource was last deployed.

    Example: 1678901234
    lastDeployAttemptTimestampintegerrequired

    The unix timestamp when the last attempt was made to deploy the intermediary resource.

    Example: 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.

    failureReasonsstring[]nullable

    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.

    failureReasonsstring[]required

    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.

    totalDurationnumbernullable

    The duration in milliseconds for the link component change to reach the final status.

    Example: 20000
    attemptDurationsnumber[]

    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.

    totalDurationnumbernullable

    The duration in milliseconds for the link component change to reach the final status.

    Example: 20000
    attemptDurationsnumber[]

    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.

    totalDurationnumbernullable

    The duration in milliseconds for the link component change to reach the final status.

    Example: 20000
    attemptDurationsnumber[]

    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
    valueAnyValuerequired

    The value of the exported field.

    typestringrequired

    The type of the exported field.

    Possible values: [string, object, integer, float, array, boolean]

    Example: string
    descriptionstringnullable

    A description of the exported field.

    Example: The ARN of the lambda function
    fieldstringrequired

    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.

    Example: 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
    dependsOnResourcesstring[]nullable

    The names of resources that a child blueprint or resource depends on in the blueprint.

    dependsOnChildrenstring[]nullable

    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.

    prepareDurationnumbernullable

    The duration in milliseconds for the preparation phase of a blueprint instance deployment to be completed.

    Example: 10000
    totalDurationnumbernullable

    The duration in milliseconds for the blueprint instance to reach the final status.

    Example: 20000
    BlueprintInstance
    {
    "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
    }
    }