2017-06-13 4 views
1

Hallo ich bin ein Anfänger in Terraform.Unterschied zwischen Daten und Import in Terraform

Bei der Verwendung bin ich etwas verwirrt über die Verwendung der vorhandenen Infrastruktur als Daten und Verwendung von Import-Befehl. Weil ich die vorhandene infra importiert habe und ich mein Subnetz und Schlüsselpaar verloren habe. Es wird hilfreich sein, wenn jemand erklärt, wie weise wir es benutzen können. Danke im Voraus.

Antwort

2

Die aktuelle Implementierung von Terraform-Import kann nur Ressourcen in den Staat importieren. Es generiert keine Konfiguration.

https://www.terraform.io/docs/import/index.html

Wenn Ressourcen importieren sollten Sie die Konfiguration bereits erstellt haben, so ist Terraforming nicht resource.s

terraform import resource id

terraform plan -out=tfplan.out

Der Plan zerstören wird ausgegeben, welche Änderungen es macht Ressourcen, gelb für modifizieren, grün neu, rot zerstören.

-out = Pfad - Der Pfad zum Speichern des generierten Ausführungsplans. Dieser Plan kann dann mit terraform angewendet werden, um sicherzustellen, dass nur die in diesem Plan gezeigten Änderungen angewendet werden. Lesen Sie die Warnung zu gespeicherten Plänen unten.

https://www.terraform.io/docs/commands/plan.html#out-path

terraform apply tfplan.out

Datenquellen zurückgeben Attribute über die Ressourcen zum Beispiel, wenn die Subnetz-ID die einzige bekannte, kann eine Datenquelle war die andere Informationen über sie, wie VPC-ID ziehen.

variable "subnet_id" {} 

data "aws_subnet" "selected" { 
    id = "${var.subnet_id}" 
} 

resource "aws_security_group" "subnet" { 
    vpc_id = "${data.aws_subnet.selected.vpc_id}" 

    ingress { 
    cidr_blocks = ["${data.aws_subnet.selected.cidr_block}"] 
    from_port = 80 
    to_port  = 80 
    protocol = "tcp" 
    } 
} 

Die Argumente dieser Datenquelle wirken als Filter für die in dem aktuellen Bereich der verfügbaren Subnetze abfragt. Die angegebenen Filter müssen genau einem Subnetz entsprechen, dessen Daten als Attribute exportiert werden.

Verfügbarkeitszone - (Optional) Die Verfügbarkeitszone, in der sich das Subnetz befinden muss.

cidr_block - (Optional) Der cidr-Block des gewünschten Subnetzes.

ipv6_cidr_block - (optional) Der Ipv6 CIDR Block des gewünschten Subnetzes

default_for_az - (Optional) Boolesche Einschränkung für ob die gewünschte Subnetz der Standard Subnetz für seine zugehörige Belegungszone sein muß.

Filter - (Optional) Benutzerdefinierter Filterblock wie unten beschrieben.

ID - (Optional) Die ID des bestimmten abzurufenden Subnetzes.

state - (Optional) Der Status, den das gewünschte Subnetz haben muss.

Tags - (Optional) Eine Zuordnung von Tags, von denen jedes Paar exakt mit einem Paar im gewünschten Subnetz übereinstimmen muss.

vpc_id - (Optional) Die ID der VPC, zu der das gewünschte Subnetz gehört.

https://www.terraform.io/docs/providers/aws/d/subnet.html

+1

Hallo Bro, Vielen Dank zu erklären und es ist ganz klar. Danke noch einmal. – Keeplearning

Verwandte Themen