AWS Proton -Parameter - AWS Proton

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Proton -Parameter

Sie können Parameter in Ihren Infrastructure as Code (IaC)-Dateien definieren und verwenden, um sie flexibel und wiederverwendbar zu machen. Sie lesen einen Parameterwert in Ihren IaC-Dateien, indem Sie auf den Namen des Parameters im AWS Proton Parameter-Namespace verweisen. AWS Proton Injects Parameterwerte in die gerenderten IaC-Dateien, die während der Ressourcenbereitstellung generiert werden. Um AWS CloudFormation IaC-Parameter zu verarbeiten, AWS Proton verwendet Jinja . Um Terraform-IaC-Parameter zu verarbeiten, AWS Proton generiert eine Terraform-Parameterwertdatei und stützt sich auf die in HCL integrierten Parametrisierungsfunktionen.

Mit AWS Proton generiert eine EingabedateiCodeBuildBereitstellung, die Ihr Code importieren kann. Die Datei ist eine JSON- oder HCL-Datei, abhängig von einer Eigenschaft im Manifest Ihrer Vorlage. Weitere Informationen finden Sie unter CodeBuild Details und Beispiele für Bereitstellungsparameter.

Sie können mit den folgenden Anforderungen auf Parameter in Ihren IaC-Dateien oder Komponenten verweisen:

  • Die Länge der einzelnen Parameternamen darf 100 Zeichen nicht überschreiten.

  • Die Länge des Parameter-Namespaces und des Ressourcennamens zusammengenommen überschreitet das Zeichenlimit für den Ressourcennamen nicht.

AWS Proton Die Bereitstellung schlägt fehl, wenn diese Kontingente überschritten werden.

Parametertypen

Die folgenden Parametertypen stehen Ihnen als Referenz in AWS Proton IaC-Dateien zur Verfügung:

Eingabeparameter

Umgebungen und Service-Instances können Eingabeparameter übernehmen, die Sie in einer Schemadatei definieren, die Sie der Umgebung oder Servicevorlage zuordnen. Sie können auf die Eingabeparameter einer Ressource in der IaC-Datei der Ressource verweisen. Komponenten-IaC-Dateien können sich auf Eingabeparameter der Service-Instance beziehen, an die die Komponente angefügt ist.

AWS Proton überprüft die Namen der Eingabeparameter anhand Ihrer Schemadatei und gleicht sie mit den Parametern ab, auf die in Ihren IaC-Dateien verwiesen wird, um die Eingabewerte einzufügen, die Sie während der Ressourcenbereitstellung in einer Spezifikationsdatei angeben.

Ausgabeparameter

Sie können Ausgaben in jeder Ihrer IaC-Dateien definieren. Eine Ausgabe kann beispielsweise ein Name, eine ID oder ein ARN einer der Ressourcen sein, die die Vorlage bereitstellt, oder sie kann eine Möglichkeit sein, eine der Eingaben der Vorlage zu durchlaufen. Sie können auf diese Ausgaben in IaC-Dateien anderer Ressourcen verweisen.

Definieren Sie in CloudFormation IaC-Dateien Ausgabeparameter im -Outputs:Block. Definieren Sie in einer Terraform-IaC-Datei jeden Ausgabeparameter mithilfe einer -outputAnweisung.

Ressourcenparameter

AWS Proton erstellt automatisch AWS Proton Ressourcenparameter. Diese Parameter stellen Eigenschaften des AWS Proton Ressourcenobjekts bereit. Ein Beispiel für einen Ressourcenparameter ist environment.name.

Verwenden von AWS Proton Parametern in Ihren IaC-Dateien

Um einen Parameterwert in einer IaC-Datei zu lesen, verweisen Sie auf den Namen des Parameters im AWS Proton Parameter-Namespace. Für AWS CloudFormation IaC-Dateien verwenden Sie die Jinja-Syntax und umgeben den Parameter mit Paaren von geschweiften Klammern und Anführungszeichen.

Die folgende Tabelle zeigt die Referenzsyntax für jede unterstützte Vorlagensprache, mit einem Beispiel.

Vorlagensprache Syntax Beispiel: Umgebungseingabe mit dem Namen „VPC“

CloudFormation

"{{ parameter-name }}"

"{{ environment.inputs.VPC }}"

Terraform

var.parameter-name

var.environment.inputs.VPC

Generierte Terraform-Variablendefinitionen

Anmerkung

Wenn Sie CloudFormation dynamische Parameter in Ihrer IaC-Datei verwenden, müssen Sie sie mit Escape-Zeichen versehen, um Jinja-Fehler bei der Fehlinterpretation zu vermeiden. Weitere Informationen finden Sie unter Fehlerbehebung für AWS Proton.

In der folgenden Tabelle sind Namespace-Namen für alle AWS Proton Ressourcenparameter aufgeführt. Jeder Vorlagendateityp kann eine andere Teilmenge des Parameter-Namespace verwenden.

Vorlagendatei Parametertyp Parametername Beschreibung

Umgebung

Ressource

environment.name

Environment name

input

environment.inputs.input-name

Schemadefinierte Umgebungseingaben

Service

Ressource

environment.name

environment.account_id

Name und AWS-Konto ID der Umgebung

output

environment.outputs.output-name

Umgebungs-IaC-Dateiausgaben

Ressource

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Servicename und Code-Repository

Ressource

service_instance.name

Name der Service-Instance

input

service_instance.inputs.input-name

Schemadefinierte Service-Instance-Eingaben

Ressource

service_instance.components.default.name

Angefügter Standardkomponentenname

output

service_instance.components.default.outputs.output-name

Angefügte IaC-Standarddateiausgaben der Komponente

Pipeline

Ressource

service_instance.environment.name

service_instance.environment.account_id

Name und AWS-Konto ID der Service-Instance-Umgebung

output

service_instance.environment.outputs.output-name

IaC-Dateiausgaben der Service-Instance-Umgebung

input

pipeline.inputs.input-name

Schemadefinierte Pipeline-Eingaben

Ressource

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Servicename und Code-Repository

input

service_instance.inputs.input-name

Schemadefinierte Service-Instance-Eingaben

collection

{% for service_instance in service_instances %}...{% endfor %}

Eine Sammlung von Service-Instances, die Sie durchlaufen können

Komponente

Ressource

environment.name

environment.account_id

Umgebungsname und AWS-Konto Konto-ID

output

environment.outputs.output-name

Umgebungs-IaC-Dateiausgaben

Ressource

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Servicename und Code-Repository (angefügte Komponenten)

Ressource

service_instance.name

Name der Service-Instance (angefügte Komponenten)

input

service_instance.inputs.input-name

Schemadefinierte Service-Instance-Eingaben (angefügte Komponenten)

Ressource

component.name

Name der Komponente

Weitere Informationen und Beispiele finden Sie in den Unterthemen zu Parametern in IaC-Vorlagendateien für verschiedene Ressourcentypen und Vorlagensprachen.