2016-12-06 8 views
0

私はタグを削除し、それが基本的にタグを削除このterraformのリソースのオーバーライドでプロパティを削除する方法。

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
} 

のように見える持って、それを上書きしたい次

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    tags = { Name = "hello World"} 
} 

のように見えるテラフォームのリソースを持っています。

ここで説明するオーバーライドファイルでこれを行う方法はありますか? https://www.terraform.io/docs/providers/aws/r/instance.html

上記は一例です。一般的には、オーバーライドでプロパティを削除できるかどうかを本当に知りたいです。

答えて

1

はい、Terraformはリソースから属性を削除する必要があります。私のような出力が表示されるはずです、

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
} 

terraform planを実行します。私は.tfファイルを変更した場合、今

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
    tags = { Name = "hello World"} 
} 

:たとえば、私はすでに、次の.tfファイルでterraform applyを実行していたと仮定

これは、名前タグを削除してインスタンスを変更しようとしていることを示しています。 terraform applyを実行すると、タグが削除されます。

あなたは、あなたが明示的に空のマップにタグを設定します(たとえば、override.tf)override fileにタグを削除する場合:

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
    tags = {} 
} 

注はこれらの具体例には、場合にのみ動作しますあなたのus-east-1のアカウントにはまだEC2-Classicのサポートがあります。

+0

あなたの質問を最初に読んだとき、私は[上書きファイル](https://www.terraform.io/docs/configuration/override.html)の使用について質問していました。間違ったリンク)。オーバーライドでこれを行うことはできますが、タグ属性を明示的にクリアする必要があります。例えば、override.tfでは、同じ効果に対して 'tags = {}'を指定することができます。 –

+0

私は、私のユースケースをより正確にする必要があると思います。これは技術的に私の質問に答えるが、私の問題は解決しない。名声。 –

関連する問題