Le site aws_cloudformation_stack
ressource permet la création de piles CloudFormation dans Terraform, exposant ainsi toutes les fonctionnalités de CloudFormation dans une configuration Terraform :
resource "aws_cloudformation_stack" "example" {
name = "example-custom-resource"
template_body = <<STACK
{
"Resources" : {
"ExampleCustomResource": {
"Type" : "Custom::ExampleResource",
"Properties" : {
"ServiceToken": "...",
(other properties specific to the resource)
}
}
}
}
STACK
}
Le site Type
peut être n'importe quelle chaîne de caractères commençant par Custom::
. Die ServiceToken
identifie le fournisseur de ressources personnalisées qui gérera cette ressource personnalisée. Toutes les autres propriétés prises en charge par la ressource personnalisée peuvent être fournies en tant qu'attributs supplémentaires dans l'attribut Properties
objet.
Puisque le format de template_body
est juste un modèle CloudFormation standard, la documentation pour CustomResource
donne tous les détails sur le fonctionnement de cette fonctionnalité.
Terraform ne directement prend en charge les ressources personnalisées CloudFormation en tant que ressources Terraform natives, mais les aws_cloudformation_stack
est fournie comme un moyen d'obtenir le meilleur des deux mondes, en donnant accès aux fonctionnalités spécifiques à CloudFormation lorsque cela est nécessaire.