2017-12-15 4 views
0

Ich lese Terraforming und gefunden zu verstehen:Need Code unten Terraforming resouce Struktur

resource "aws_vpc" "vpc_main" { 
    cidr_block  = "10.0.0.0/16" 

    tags { 
    Name = "Main VPC" 
    } 
} 

Hier konnte ich nicht verstehen, was vpc_main steht für in der Ressourcendefinition. Könnte jemand erklären?

+2

Es ist ein benutzerdefinierter Name für die Ressource. –

+0

Warum brauchen wir diesen Namen? Können wir eine Ressource ohne Namen erstellen? –

Antwort

2

Es ist ein benutzerdefinierter Name für die Ressource - ohne diese wäre es nicht möglich, mehrere Instanzen desselben Ressourcentyps zu unterscheiden.

Weitere Details finden Sie unter the docs.

+0

Verstanden es .. danke –

0

Variable Typen und Namen in anderen Programmiersprachen sind eine gute Analogie. Zum Beispiel in Java, können Sie eine Variable deklarieren, wie folgt:

String foo 

Der Typ der Variablen String und den Namen der Variablen foo ist. Sie müssen einen Namen angeben, damit Sie ihn (a) von anderen Variablen des gleichen Typs unterscheiden können und (b) sich später darauf beziehen.

In Terraforming, es ist im Wesentlichen die gleiche Idee:

resource "aws_instance" "foo" { ... } 

Hier ist der Typ der Ressource aws_instance und der Name ist foo. Sie müssen einen Namen angeben, damit Sie ihn (a) von anderen Ressourcen des gleichen Typs unterscheiden können und (b) sich später darauf beziehen. Um beispielsweise die öffentliche IP-Adresse dieser Instanz auszugeben, könnten Sie Folgendes tun: