Lors de l'utilisation de valeurs de transformer le terrain en lui-même n'est pas directement gérer, vous avez quelques options.
La première, l'option la plus simple est juste de coder en dur la valeur que vous avez fait ici. C'est une réponse simple si vous vous attendez à ce que la valeur ne changera jamais. Étant donné que ces "conserve politiques" sont documentés, haut-AWS caractéristiques il est probable qu'ils correspondent à ce critère.
La deuxième option est de créer un Terraform module et de coder en dur la valeur en queet faire référence à ce module à partir de plusieurs autres modules. Cela permet de gérer la valeur de manière centralisée et de l'utiliser plusieurs fois. Un module qui contient uniquement les sorties d'un modèle commun pour ce genre de chose, bien que vous pourriez aussi choisir de faire un module qui contient un aws_iam_role_policy_attachment
des ressources avec le jeu de rôle à partir d'une variable.
La troisième option consiste à placer la valeur dans un endroit que Terraform pouvez récupérer les valeurs d', comme Consul, puis de les récupérer à partir de là à l'aide d'une source de données. Avec seulement transformer le terrain en jeu, cela finit par être largement équivalente à la deuxième option, même si cela signifie transformer le terrain de re-lire à chaque actualisation plutôt que seulement lorsque vous mettez à jour le module à l'aide de terraform init -upgrade
, et donc cela pourrait être une meilleure option pour les valeurs qui changent souvent.
La quatrième option est d'utiliser une source de données spécialisée qui permet de lire directement la valeur de la source de la vérité. Terraform n'a pas actuellement avoir une source de données pour récupérer des informations sur AWS géré politiques, donc ce n'est pas une option pour votre situation actuelle, mais peut être utilisé pour récupérer d'autres AWS de données défini comme AWS plages d'adresses IP, le service ARNs, etc.
Laquelle de ces est approprié pour une situation donnée dépendra de la façon dont souvent les changements de valeur, qui gère des modifications, et sur la disponibilité d'spécialisés Terraform sources de données.