Managing Terraform Open Source product status errors
Terraform Open Source ProvisionProduct failures are routed to the TAINTED
state, allowing each provisioned product to proceed to UpdateProvisionedProduct. When this
occurs:
-
UpdateProvisionedProductdoes not make an attempt to update or correct tags, or to create or modify a resource group. -
UpdateProvisionedProductdoes not consider failures from previous provisioning operations when deciding if the provisioned product should be set toAVAILABLEorTAINTED.
Amazon Service Catalog only applies Tags during ProvisionProduct. Any failed tagging that results from a failure
of the ProvisionProduct operation are not automatically resolved.
Status error examples
Example 1: Amazon Service Catalog does not create a resource group during ProvisionProduct
In the scenario below, you have a provisioned product in the AVAILABLE state even if
there is not a supporting resource group, and without any tags applied to the resources.
-
Your action initiates
ProvisionProduct. -
The Terraform provisioning engine responds to
ProvisionProductwith a workflow failure and does not provide aResourceIdentifier. -
The
ProvisionProductworkflow does not create a resource group, and then sets the provisioned product state toERROR. -
You then initiate the
UpdateProvisionedproductoperation. -
The Terraform provisioning engine responds indicating "success."
-
As a result, the
UpdateprovisionedProductworkflow sets the provisioned product state toAVAILABLE, but does not create a resource group, or attempt to apply any Tags.
Example 2: Amazon Service Catalog creates new resources during UpdateProvisionedProduct
In the scenario below, you have a provisioned product in the AVAILABLE state even if new
resources do not have any tags applied.
-
Your action initiates
ProvisionProduct. -
The Terraform provisioning engine responds indicating "success" and provides a
ResourceIdentifier. -
The
ProvisionProductworkflow creates a resource group and applies tags to all of the identified resources. -
You initiate
UpdateProvisionedProducton a new artifact that creates new resources. -
The Terraform provisioning engine responds indicating "success."
-
The
UpdateProvisionedProductworkflow sets the provisioned product state toAVAILABLEbut does not attempt to apply any additional tags to the new resources.
Status error solution
Amazon Service Catalog ensures that a resource group is created for all provisioned products set to TAINTED
from ProvisionProduct. If the Terraform provisioning engine does not return a
ResourceIdentifier, or if Amazon Service Catalog fails to create a resource group, then the provisioned
product is set to the ERROR state, forcing you to terminate.