Aktionsmodule, die vom AWSTOE Komponentenmanager unterstützt werden - EC2 Image Builder

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.

Aktionsmodule, die vom AWSTOE Komponentenmanager unterstützt werden

Image-Building-Services wie EC2 Image Builder verwenden AWSTOE Aktionsmodule, um die EC2-Instances zu konfigurieren, die zum Erstellen und Testen von benutzerdefinierten Computer-Images verwendet werden. In diesem Abschnitt werden die Funktionen häufig verwendeter AWSTOE Aktionsmodule und deren Konfiguration sowie Beispiele beschrieben.

AWSTOE Komponenten werden mit Klartext-YAML-Dokumenten verfasst. Weitere Hinweise zur Dokumentensyntax finden Sie unter. Verwenden Sie das AWSTOE Component Document Framework für benutzerdefinierte Komponenten

Anmerkung

Alle Aktionsmodule verwenden dasselbe Konto wie der Systems Manager Manager-Agent, wenn sie ausgeführt werden, was root unter Linux und NT Authority\SYSTEM unter Windows der Fall ist.

Allgemeine Ausführungsmodule

Der folgende Abschnitt enthält Einzelheiten zu Aktionsmodulen, die allgemeine Befehle und Anweisungen zur Ausführung ausführen.

Allgemeine Aktionsmodule für die Ausführung

ExecuteBash

Das ExecuteBashAktionsmodul ermöglicht es Ihnen, Bash-Skripte mit Inline-Shell-Code/Befehlen auszuführen. Dieses Modul unterstützt Linux.

Alle Befehle und Anweisungen, die Sie im Befehlsblock angeben, werden in eine Datei konvertiert (zum Beispielinput.sh) und mit der Bash-Shell ausgeführt. Das Ergebnis der Ausführung der Shell-Datei ist der Exit-Code des Schritts.

Das ExecuteBashModul verarbeitet Systemneustarts, wenn das Skript mit dem Exit-Code beendet wird. 194 Wenn das Programm initiiert wird, führt es eine der folgenden Aktionen aus:

  • Die Anwendung übergibt dem Aufrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent führt den Systemneustart durch und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.

  • Die Anwendung speichert die aktuellen Datenexecutionstate, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.

Nach dem Systemneustart führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.

Eingabe
Primitiv Beschreibung Typ Erforderlich
commands Enthält eine Liste von Anweisungen oder Befehlen, die gemäß der Bash-Syntax ausgeführt werden sollen. Mehrzeiliges YAML ist zulässig. Auflisten Ja

Eingabebeispiel: Vor und nach einem Neustart

name: ExitCode194Example description: This shows how the exit code can be used to restart a system with ExecuteBash schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecuteBash inputs: commands: - | REBOOT_INDICATOR=/var/tmp/reboot-indicator if [ -f "${REBOOT_INDICATOR}" ]; then echo 'The reboot file exists. Deleting it and exiting with success.' rm "${REBOOT_INDICATOR}" exit 0 fi echo 'The reboot file does not exist. Creating it and triggering a restart.' touch "${REBOOT_INDICATOR}" exit 194
Output
Feld Beschreibung Typ
stdout Standardausgabe der Befehlsausführung. Zeichenfolge

Wenn Sie einen Neustart starten und den Exit-Code 194 als Teil des Aktionsmoduls zurückgeben, wird der Build mit demselben Aktionsmodulschritt fortgesetzt, der den Neustart initiiert hat. Wenn Sie einen Neustart ohne den Exit-Code starten, schlägt der Build-Prozess möglicherweise fehl.

Ausgabebeispiel: Vor dem Neustart (zum ersten Mal über das Dokument)

{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }

Ausgabebeispiel: Nach dem Neustart (zweites Mal durch das Dokument)

{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }

ExecuteBinary

Das ExecuteBinaryAktionsmodul ermöglicht es Ihnen, Binärdateien mit einer Liste von Befehlszeilenargumenten auszuführen.

Das ExecuteBinaryModul verarbeitet Systemneustarts, wenn die Binärdatei mit dem Exit-Code 194 (Linux) oder 3010 (Windows) beendet wird. In diesem Fall führt das Programm eine der folgenden Aktionen aus:

  • Die Anwendung übergibt dem Aufrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent übernimmt den Neustart des Systems und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.

  • Die Anwendung speichert den aktuellen Statusexecutionstate, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.

Nach dem Neustart des Systems führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.

Eingabe
Primitiv Beschreibung Typ Erforderlich
path Der Pfad zur Binärdatei für die Ausführung. String Ja
arguments Enthält eine Liste von Befehlszeilenargumenten, die beim Ausführen der Binärdatei verwendet werden sollen. Liste der Zeichenketten Nein

Eingabebeispiel: .NET installieren

- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Output
Feld Beschreibung Typ
stdout Standardausgabe der Befehlsausführung. Zeichenfolge

Output example

{ "stdout": "success" }

ExecuteDocument

Das ExecuteDocumentAktionsmodul bietet Unterstützung für verschachtelte Komponentendokumente, sodass mehrere Komponentendokumente von einem Dokument aus ausgeführt werden. AWSTOE validiert das Dokument, das zur Laufzeit im Eingabeparameter übergeben wird.

Einschränkungen
  • Dieses Aktionsmodul wird einmal ausgeführt. Wiederholungen sind nicht zulässig und es besteht keine Option zum Festlegen von Timeoutlimits. ExecuteDocumentlegt die folgenden Standardwerte fest und gibt einen Fehler zurück, wenn Sie versuchen, sie zu ändern.

    • timeoutSeconds: -1

    • maxAttempts: 1

    Anmerkung

    Sie können diese Werte leer lassen und AWSTOE die Standardwerte verwenden.

  • Die Verschachtelung von Dokumenten ist bis zu drei Ebenen zulässig, jedoch nicht mehr. Drei Verschachtelungsebenen bedeuten vier Dokumentebenen, da die oberste Ebene nicht verschachtelt ist. In diesem Szenario darf das Dokument der untersten Ebene keine anderen Dokumente aufrufen.

  • Die zyklische Ausführung von Komponentendokumenten ist nicht zulässig. Jedes Dokument, das sich selbst außerhalb eines sich wiederholenden Konstrukts aufruft oder ein anderes Dokument aufruft, das in der aktuellen Ausführungskette weiter oben steht, leitet einen Zyklus ein, der zu einer Endlosschleife führen kann. Wenn eine zyklische Ausführung AWSTOE erkannt wird, stoppt es die Ausführung und zeichnet den Fehler auf.

Einschränkungen auf Verschachtelungsebene für das ExecuteDocument Aktionsmodul.

Wenn ein Komponentendokument versucht, sich selbst oder eines der Komponentendokumente auszuführen, die in der aktuellen Ausführungskette weiter oben stehen, schlägt die Ausführung fehl.

Eingabe

Primitiv Beschreibung Typ Erforderlich
document

Pfad des Komponentendokuments. Gültige Optionen sind unter anderem:

  • Lokale Dateipfade

  • S3-URIs

  • ARNs der Build-Version der EC2 Image Builder-Komponente

String Ja
document-s3-bucket-owner

Die Konto-ID des S3-Bucket-Besitzers für den S3-Bucket, in dem Komponentendokumente gespeichert sind. (Empfohlen, wenn Sie S3-URIs in Ihrem Komponentendokument verwenden.)

String Nein
phases

Phasen, die im Komponentendokument ausgeführt werden sollen, ausgedrückt als kommagetrennte Liste. Wenn keine Phasen angegeben sind, werden alle Phasen ausgeführt.

String Nein
parameters

Eingabeparameter, die zur Laufzeit als Schlüssel-Wert-Paare an das Komponentendokument übergeben werden.

Liste der Parameterzuordnungen Nein

Eingabe der Parameterzuweisung

Primitiv Beschreibung Typ Erforderlich
name

Der Name des Eingabeparameters, der an das Komponentendokument übergeben werden soll, das das ExecuteDocumentAktionsmodul ausführt.

String Ja
value

Der Wert des Eingabeparameters.

String Ja
Beispiele für die Eingabe

Die folgenden Beispiele zeigen Variationen der Eingaben für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.

Eingabebeispiel: Lokaler Dokumentpfad

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: Sample-1.yaml phases: build parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2

Eingabebeispiel: S3-URI als Dokumentenpfad

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: s3://my-bucket/Sample-1.yaml document-s3-bucket-owner: 123456789012 phases: build,validate parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2

Eingabebeispiel: ARN der EC2 Image Builder Builder-Komponente als Dokumentpfad

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: arn:aws:imagebuilder:us-west-2:aws:component/Sample-Test/1.0.0 phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2

Verwenden einer ForEach Schleife zum Ausführen von Dokumenten

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument loop: name: 'myForEachLoop' forEach: - Sample-1.yaml - Sample-2.yaml inputs: document: "{{myForEachLoop.value}}" phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2

Verwenden einer For-Schleife zum Ausführen von Dokumenten

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument loop: name: 'myForLoop' for: start: 1 end: 2 updateBy: 1 inputs: document: "Sample-{{myForLoop.value}}.yaml" phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Output

AWSTOE erstellt eine Ausgabedatei, die detailedoutput.json bei jeder Ausführung aufgerufen wird. Die Datei enthält Details zu jeder Phase und jedem Schritt jedes Komponentendokuments, das während der Ausführung aufgerufen wird. Für das ExecuteDocumentAktionsmodul finden Sie in dem outputs Feld eine kurze Zusammenfassung der Laufzeit sowie Einzelheiten zu den Phasen, Schritten und Dokumenten, in denen es ausgeführt wird. detailedOutput

{ \"executedStepCount\":1,\"executionId\":\"97054e22-06cc-11ec-9b14-acde48001122\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\" }",

Das Ausgabe-Übersichtsobjekt jedes Komponentendokuments enthält die folgenden Details, wie hier gezeigt, mit Beispielwerten:

  • executedStepCount„:1

  • „Ausführungs-ID“: „12345a67-89bc-01de-2f34-abcd56789012"

  • failedStepCount„: 0

  • „Fehlermeldung“: "“

  • „ignoredFailedStepAnzahl“ :0

  • „Protokoll-URL“: "“

  • „status“: „erfolgreich“

Ausgabebeispiel

Das folgende Beispiel zeigt die Ausgabe des ExecuteDocumentAktionsmoduls, wenn eine verschachtelte Ausführung stattfindet. In diesem Beispiel führt das main.yaml Komponentendokument das Komponentendokument erfolgreich aus. Sample-1.yaml

{ "executionId": "12345a67-89bc-01de-2f34-abcd56789012", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "main.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteNestedDocument", "status": "success", "failureMessage": "", "timeoutSeconds": -1, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteDocument", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"document\":\"Sample-1.yaml\",\"document-s3-bucket-owner\":\"\",\"phases\":\"\",\"parameters\":null}]", "outputs": "[{\"executedStepCount\":1,\"executionId\":\"98765f43-21ed-09cb-8a76-fedc54321098\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\"}]", "loop": null, "detailedOutput": [ { "executionId": "98765f43-21ed-09cb-8a76-fedc54321098", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "Sample-1.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteBashStep", "status": "success", "failureMessage": "", "timeoutSeconds": 7200, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteBash", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"commands\":[\"echo \\\"Hello World!\\\"\"]}]", "outputs": "[{\"stdout\":\"Hello World!\"}]", "loop": null, "detailedOutput": null }] }] }] }] }] }] }] }

ExecutePowerShell

Das ExecutePowerShellAktionsmodul ermöglicht es Ihnen, PowerShell Skripts mit Inline-Shell-Code/Befehlen auszuführen. Dieses Modul unterstützt die Windows-Plattform und Windows. PowerShell

Alle im Befehlsblock angegebenen Befehle/Anweisungen werden in eine Skriptdatei konvertiert (z. B.input.ps1) und unter Windows ausgeführt. PowerShell Das Ergebnis der Ausführung der Shell-Datei ist der Exit-Code.

Das ExecutePowerShellModul verarbeitet Systemneustarts, wenn der Shell-Befehl mit dem Exit-Code von beendet wird. 3010 Nach der Initiierung führt das Programm eine der folgenden Aktionen aus:

  • Übergibt dem Anrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent führt den Systemneustart durch und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.

  • Speichert den aktuellen Statusexecutionstate, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.

Nach dem Systemneustart führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.

Eingabe
Primitiv Beschreibung Typ Erforderlich
commands Enthält eine Liste von Anweisungen oder Befehlen, die gemäß der PowerShell Syntax ausgeführt werden sollen. Mehrzeiliges YAML ist zulässig. String-Liste

Ja. Muss commands oder angebenfile, nicht beides.

file Enthält den Pfad zu einer PowerShell Skriptdatei. PowerShell wird mit dem -file Befehlszeilenargument gegen diese Datei ausgeführt. Der Pfad muss auf eine .ps1 Datei verweisen. String

Ja. Muss commands oderfile, nicht beides, angeben.

Eingabebeispiel: Vor und nach einem Neustart

name: ExitCode3010Example description: This shows how the exit code can be used to restart a system with ExecutePowerShell schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecutePowerShell inputs: commands: - | $rebootIndicator = Join-Path -Path $env:SystemDrive -ChildPath 'reboot-indicator' if (Test-Path -Path $rebootIndicator) { Write-Host 'The reboot file exists. Deleting it and exiting with success.' Remove-Item -Path $rebootIndicator -Force | Out-Null [System.Environment]::Exit(0) } Write-Host 'The reboot file does not exist. Creating it and triggering a restart.' New-Item -Path $rebootIndicator -ItemType File | Out-Null [System.Environment]::Exit(3010)
Output
Feld Beschreibung Typ
stdout Standardausgabe der Befehlsausführung. Zeichenfolge

Wenn Sie einen Neustart ausführen und den Exit-Code 3010 als Teil des Aktionsmoduls zurückgeben, wird der Build mit demselben Aktionsmodulschritt fortgesetzt, der den Neustart initiiert hat. Wenn Sie einen Neustart ohne den Exit-Code ausführen, schlägt der Build-Prozess möglicherweise fehl.

Ausgabebeispiel: Vor dem Neustart (zum ersten Mal über das Dokument)

{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }

Ausgabebeispiel: Nach dem Neustart (zweites Mal durch das Dokument)

{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }

Module zum Herunterladen und Hochladen von Dateien

Der folgende Abschnitt enthält Informationen zu Aktionsmodulen, die Befehle und Anweisungen zum Herunterladen und Hochladen ausführen.

Laden Sie Aktionsmodule herunter und laden Sie sie hoch

S3 herunterladen

Mit dem S3Download Aktionsmodul können Sie ein Amazon S3 S3-Objekt oder eine Reihe von Objekten in eine lokale Datei oder einen Ordner herunterladen, den Sie mit dem destination Pfad angeben. Wenn am angegebenen Speicherort bereits eine Datei vorhanden ist und das overwrite Flag auf true gesetzt ist, wird die Datei S3Download überschrieben.

Ihr source Standort kann auf ein bestimmtes Objekt in Amazon S3 verweisen, oder Sie können ein key prefix mit einem Sternchen als Platzhalter (*) verwenden, um eine Reihe von Objekten herunterzuladen, die dem Schlüsselpräfixpfad entsprechen. Wenn Sie an Ihrem source Standort ein key prefix angeben, lädt das S3Download Aktionsmodul alles herunter, was dem Präfix entspricht (einschließlich Dateien und Ordner). Stellen Sie sicher, dass das key prefix mit einem Schrägstrich endet, gefolgt von einem Sternchen (/*), damit Sie alles herunterladen, was dem Präfix entspricht. Zum Beispiel: s3://my-bucket/my-folder/*.

Anmerkung

Alle Ordner im Zielpfad müssen vor dem Herunterladen vorhanden sein, andernfalls schlägt der Download fehl.

Wenn die S3Download Aktion für ein bestimmtes key prefix während eines Downloads fehlschlägt, wird der Ordnerinhalt nicht auf den Zustand vor dem Fehler zurückgesetzt. Der Zielordner bleibt so, wie er zum Zeitpunkt des Fehlers war.

Unterstützte Anwendungsfälle

Das S3Download Aktionsmodul unterstützt die folgenden Anwendungsfälle:

  • Das Amazon S3 S3-Objekt wird in einen lokalen Ordner heruntergeladen, wie im Download-Pfad angegeben.

  • Amazon S3 S3-Objekte (mit einem key prefix im Amazon S3 S3-Dateipfad) werden in den angegebenen lokalen Ordner heruntergeladen, der rekursiv alle Amazon S3 S3-Objekte, die dem key prefix entsprechen, in den lokalen Ordner kopiert.

IAM-Anforderungen

Die IAM-Rolle, die Sie Ihrem Instanzprofil zuordnen, muss über Berechtigungen zum Ausführen des S3Download Aktionsmoduls verfügen. Die folgenden IAM-Richtlinien müssen der IAM-Rolle angehängt werden, die dem Instanzprofil zugeordnet ist:

  • Einzelne Datei: für den s3:GetObject Bucket/das Objekt (z. B.). arn:aws:s3:::BucketName/*

  • Mehrere Dateien: s3:ListBucket gegen den Bucket/das Objekt (zum Beispielarn:aws:s3:::BucketName) und s3:GetObject gegen den Bucket/das Objekt (zum Beispiel). arn:aws:s3:::BucketName/*

Eingabe

Primitiv

Beschreibung

Typ

Erforderlich

Standard

source

Der Amazon S3 S3-Bucket, der die Quelle für Ihren Download ist. Sie können einen Pfad zu einem bestimmten Objekt angeben oder ein key prefix verwenden, das mit einem Schrägstrich endet, gefolgt von einem Sternchen-Platzhalter (/*), um eine Gruppe von Objekten herunterzuladen, die dem key prefix entsprechen.

String

Ja

N/A

destination

Der lokale Pfad, in den die Amazon S3 S3-Objekte heruntergeladen werden. Um eine einzelne Datei herunterzuladen, müssen Sie den Dateinamen als Teil des Pfads angeben. z. B. /myfolder/package.zip.

String

Ja

N/A

expectedBucketOwner

Erwartete Besitzerkonto-ID des im source Pfad angegebenen Buckets. Wir empfehlen Ihnen, die Inhaberschaft des in der Quelle angegebenen Amazon S3 S3-Buckets zu überprüfen.

String

Nein

N/A

overwrite

Wenn diese Einstellung auf true gesetzt ist und bereits eine Datei mit demselben Namen im Zielordner für den angegebenen lokalen Pfad existiert, überschreibt die Download-Datei die lokale Datei. Wenn der Wert auf false gesetzt ist, ist die vorhandene Datei auf dem lokalen System vor dem Überschreiben geschützt, und das Aktionsmodul schlägt mit einem Download-Fehler fehl.

Beispiel: Error: S3Download: File already exists and "overwrite" property for "destination" file is set to false. Cannot download.

Boolesch

Nein

true

Anmerkung

In den folgenden Beispielen kann der Windows-Ordnerpfad durch einen Linux-Pfad ersetzt werden. C:\myfolder\package.zipKann beispielsweise durch ersetzt werden/myfolder/package.zip.

Eingabebeispiel: Kopieren Sie ein Amazon S3 S3-Objekt in eine lokale Datei

Das folgende Beispiel zeigt, wie ein Amazon S3 S3-Objekt in eine lokale Datei kopiert wird.

- name: DownloadMyFile action: S3Download inputs: - source: s3://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: false - source: s3://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: true - source: s3://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022
Eingabebeispiel: Alle Amazon S3 S3-Objekte in einem Amazon S3 S3-Bucket mit key prefix in einen lokalen Ordner kopieren

Das folgende Beispiel zeigt, wie alle Amazon S3 S3-Objekte in einem Amazon S3-Bucket mit dem key prefix in einen lokalen Ordner kopiert werden. Amazon S3 hat kein Ordnerkonzept, daher werden alle Objekte kopiert, die dem key prefix entsprechen. Die maximale Anzahl von Objekten, die heruntergeladen werden können, beträgt 1000.

- name: MyS3DownloadKeyprefix action: S3Download maxAttempts: 3 inputs: - source: s3://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022 overwrite: false - source: s3://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022 overwrite: true - source: s3://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022
Output

Keine.

S3 Upload

Mit dem Aktionsmodul S3Upload können Sie eine Datei aus einer Quelldatei oder einem Quellordner an einen Amazon S3 S3-Speicherort hochladen. Sie können einen Platzhalter (*) in dem für Ihren Quellspeicherort angegebenen Pfad verwenden, um alle Dateien hochzuladen, deren Pfad dem Platzhaltermuster entspricht.

Wenn die rekursive S3Upload-Aktion fehlschlägt, verbleiben alle Dateien, die bereits hochgeladen wurden, im Amazon S3-Ziel-Bucket.

Unterstützte Anwendungsfälle
  • Lokale Datei zum Amazon S3 S3-Objekt.

  • Lokale Dateien im Ordner (mit Platzhalter) zum Amazon S3 S3-Schlüsselpräfix.

  • Kopieren Sie den lokalen Ordner (muss auf recurse eingestellt seintrue) in das Amazon S3 S3-Schlüsselpräfix.

IAM-Anforderungen

Die IAM-Rolle, die Sie Ihrem Instanzprofil zuordnen, muss über Berechtigungen zum Ausführen des S3Upload Aktionsmoduls verfügen. Die folgende IAM-Richtlinie muss der IAM-Rolle angehängt werden, die dem Instanzprofil zugeordnet ist. Die Richtlinie muss dem Amazon S3 S3-Ziel-Bucket s3:PutObject Berechtigungen gewähren. Beispiel, arn:aws:s3:::BucketName/*).

Eingabe

Primitiv

Beschreibung

Typ

Erforderlich

Standard

source

Der lokale Pfad, aus dem die Quelldateien/-ordner stammen. Der source unterstützt einen Sternchen-Platzhalter (). *

String

Ja

N/A

destination

Der Pfad für den Amazon S3-Ziel-Bucket, in den Quelldateien/-ordner hochgeladen werden.

String

Ja

N/A

recurse

Wenn auf gesetzt, wird true S3Upload rekursiv ausgeführt.

String

Nein

false

expectedBucketOwner

Die erwartete Besitzerkonto-ID für den Amazon S3 S3-Bucket, der im Zielpfad angegeben ist. Wir empfehlen Ihnen, die Inhaberschaft des Amazon S3 S3-Buckets zu überprüfen, der im Ziel angegeben ist.

String

Nein

N/A

Eingabebeispiel: Eine lokale Datei in ein Amazon S3 S3-Objekt kopieren

Das folgende Beispiel zeigt, wie eine lokale Datei in ein Amazon S3 S3-Objekt kopiert wird.

- name: MyS3UploadFile action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\package.zip destination: s3://mybucket/path/to/package.zip expectedBucketOwner: 123456789022
Eingabebeispiel: Kopieren Sie alle Dateien in einem lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix

Das folgende Beispiel zeigt, wie Sie alle Dateien im lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix kopieren. In diesem Beispiel werden keine Unterordner oder deren Inhalt kopiert, da dies nicht angegeben recurse ist. Die Standardeinstellung ist. false

- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\* destination: s3://mybucket/path/to/ expectedBucketOwner: 123456789022
Eingabebeispiel: Alle Dateien und Ordner rekursiv von einem lokalen Ordner in einen Amazon S3 S3-Bucket kopieren

Das folgende Beispiel zeigt, wie alle Dateien und Ordner rekursiv von einem lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix kopiert werden.

- name: MyS3UploadFolder action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\* destination: s3://mybucket/path/to/ recurse: true expectedBucketOwner: 123456789022
Output

Keine.

WebDownload

Das WebDownloadAktionsmodul ermöglicht es Ihnen, Dateien und Ressourcen von einem entfernten Standort über das HTTP/HTTPS-Protokoll herunterzuladen (HTTPS wird empfohlen). Die Anzahl oder Größe der Downloads ist unbegrenzt. Dieses Modul verarbeitet Wiederholungsversuche und exponentielle Backoff-Logik.

Jedem Download-Vorgang werden je nach Benutzereingabe maximal 5 Versuche zugewiesen, um erfolgreich zu sein. Diese Versuche unterscheiden sich von den im maxAttempts Dokumentfeld angegebenen Versuchensteps, die sich auf Fehler im Aktionsmodul beziehen.

Dieses Aktionsmodul verarbeitet implizit Weiterleitungen. Alle HTTP-Statuscodes mit Ausnahme 200 von führen zu einem Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standard
source Die gültige HTTP/HTTPS-URL (HTTPS wird empfohlen), die dem RFC 3986-Standard entspricht. Verkettungsausdrücke sind zulässig. String

Ja

N/A
destination Ein absoluter oder relativer Datei- oder Ordnerpfad auf dem lokalen System. Ordnerpfade müssen mit enden/. Wenn sie nicht mit enden/, werden sie als Dateipfade behandelt. Das Modul erstellt alle erforderlichen Dateien oder Ordner für erfolgreiche Downloads. Verkettungsausdrücke sind zulässig. String Ja N/A
overwrite Wenn diese Option aktiviert ist, werden alle vorhandenen Dateien auf dem lokalen System mit der heruntergeladenen Datei oder Ressource überschrieben. Wenn diese Option nicht aktiviert ist, werden alle vorhandenen Dateien auf dem lokalen System nicht überschrieben, und das Aktionsmodul schlägt mit einem Fehler fehl. Wenn Überschreiben aktiviert ist und Prüfsumme und Algorithmus angegeben sind, lädt das Aktionsmodul die Datei nur herunter, wenn die Prüfsumme und der Hash aller bereits vorhandenen Dateien nicht übereinstimmen. Boolesch Nein true
checksum Wenn Sie die Prüfsumme angeben, wird sie mit dem Hash der heruntergeladenen Datei verglichen, der mit dem mitgelieferten Algorithmus generiert wurde. Damit die Dateiüberprüfung aktiviert werden kann, müssen sowohl die Prüfsumme als auch der Algorithmus angegeben werden. Verkettungsausdrücke sind zulässig. String Nein N/A
algorithm Der zur Berechnung der Prüfsumme verwendete Algorithmus. Die Optionen sind MD5, SHA1, SHA256 und SHA512. Damit die Dateiüberprüfung aktiviert werden kann, müssen sowohl die Prüfsumme als auch der Algorithmus angegeben werden. Verkettungsausdrücke sind zulässig. String Nein N/A
ignoreCertificateErrors Die SSL-Zertifikatsvalidierung wird ignoriert, wenn sie aktiviert ist. Boolesch Nein false
Output
Primitiv Beschreibung Typ
destination Zeichenfolge durch Zeilenumbruch, die den Zielpfad angibt, in dem die heruntergeladenen Dateien oder Ressourcen gespeichert sind. String

Eingabebeispiel: Laden Sie die Remote-Datei in ein lokales Ziel herunter

- name: DownloadRemoteFile action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\testfolder\package.zip

Ausgabe:

{ "destination": "C:\\testfolder\\package.zip" }

Eingabebeispiel: Laden Sie mehr als eine Remote-Datei an mehr als ein lokales Ziel herunter

- name: DownloadRemoteFiles action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: /tmp/java14_renamed.zip - source: https://testdomain/path/to/java14.zip destination: /tmp/create_new_folder_and_add_java14_as_zip/

Ausgabe:

{ "destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip" }

Eingabebeispiel: Laden Sie eine Remote-Datei herunter, ohne das lokale Ziel zu überschreiben, und laden Sie eine weitere Remote-Datei mit Dateiüberprüfung herunter

- name: DownloadRemoteMultipleProperties action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder\java14_renamed.zip overwrite: false - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder_and_add_java14_as_zip\ checksum: ac68bbf921d953d1cfab916cb6120864 algorithm: MD5 overwrite: true

Ausgabe:

{ "destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip" }

Eingabebeispiel: Remote-Datei herunterladen und SSL-Zertifizierungsvalidierung ignorieren

- name: DownloadRemoteIgnoreValidation action: WebDownload maxAttempts: 3 inputs: - source: https://www.bad-ssl.com/resource destination: /tmp/downloads/ ignoreCertificateErrors: true

Ausgabe:

{ "destination": "/tmp/downloads/resource" }

Betriebsmodule für das Dateisystem

Der folgende Abschnitt enthält Einzelheiten zu Aktionsmodulen, die Befehle und Anweisungen für den Betrieb des Dateisystems ausführen.

AppendFile

Das AppendFileAktionsmodul fügt dem bereits vorhandenen Inhalt einer Datei den angegebenen Inhalt hinzu.

Wenn sich der Dateicodierungswert vom Standardwert encoding (utf-8) unterscheidet, können Sie den Dateicodierungswert mithilfe der encoding Option angeben. Standardmäßig wird davon ausgegangen, utf-16 dass utf-32 sie die Little-Endian-Kodierung verwenden.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Die angegebene Datei ist zur Laufzeit nicht vorhanden.

  • Sie haben keine Schreibberechtigungen, um den Dateiinhalt zu ändern.

  • Das Modul stößt während des Dateivorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Ja
content Der Inhalt, der an die Datei angehängt werden soll. String Nein Leere Zeichenfolge N/A Ja
encoding Der Kodierungsstandard. String Nein utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, und utf-32-BE. Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. Ja

Eingabebeispiel: Datei ohne Kodierung anhängen (Linux)

- name: AppendingFileWithOutEncodingLinux action: AppendFile inputs: - path: ./Sample.txt content: "The string to be appended to the file"

Eingabebeispiel: Datei ohne Kodierung anhängen (Windows)

- name: AppendingFileWithOutEncodingWindows action: AppendFile inputs: - path: C:\MyFolder\MyFile.txt content: "The string to be appended to the file"

Eingabebeispiel: Datei mit Kodierung anhängen (Linux)

- name: AppendingFileWithEncodingLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32

Eingabebeispiel: Datei mit Kodierung anhängen (Windows)

- name: AppendingFileWithEncodingWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32

Eingabebeispiel: Datei mit leerer Zeichenfolge anhängen (Linux)

- name: AppendingEmptyStringLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt

Eingabebeispiel: Datei mit leerer Zeichenfolge anhängen (Windows)

- name: AppendingEmptyStringWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt
Output

Keine.

CopyFile

Das CopyFileAktionsmodul kopiert Dateien von der angegebenen Quelle zum angegebenen Ziel. Standardmäßig erstellt das Modul den Zielordner rekursiv, wenn er zur Laufzeit nicht vorhanden ist.

Wenn eine Datei mit dem angegebenen Namen bereits im angegebenen Ordner vorhanden ist, überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück. Diese Option funktioniert genauso wie der cp Befehl unter Linux, der standardmäßig überschreibt.

Der Name der Quelldatei kann einen Platzhalter () * enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/oder\) akzeptiert. Wenn der Quelldateiname Platzhalterzeichen enthält, werden alle Dateien, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als eine Datei mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden, das angibt, dass es sich bei der Zieleingabe um einen Ordner handelt.

Wenn sich der Zieldateiname vom Quelldateinamen unterscheidet, können Sie den Zieldateinamen mithilfe der destination Option angeben. Wenn Sie keinen Zieldateinamen angeben, wird der Name der Quelldatei verwendet, um die Zieldatei zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/oder\) folgt, wird als Dateiname behandelt. Wenn Sie denselben Dateinamen wie die Quelldatei verwenden möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, eine Datei im angegebenen Ordner zu erstellen.

  • Die Quelldateien sind zur Laufzeit nicht vorhanden.

  • Es gibt bereits einen Ordner mit dem angegebenen Dateinamen und die overwrite Option ist auf eingestelltfalse.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
source Der Pfad der Quelldatei. String Ja N/A Ja
destination Der Zieldateipfad. String Ja N/A Ja
overwrite Wenn der Wert auf false gesetzt ist, werden die Zieldateien nicht ersetzt, wenn sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet. Boolesch Nein true N/A Ja

Eingabebeispiel: Eine Datei kopieren (Linux)

- name: CopyingAFileLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt

Eingabebeispiel: Eine Datei kopieren (Windows)

- name: CopyingAFileWindows action: CopyFile inputs: - source: C:\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt

Eingabebeispiel: Kopiert eine Datei unter Verwendung des Quelldateinamens (Linux)

- name: CopyingFileWithSourceFileNameLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/

Eingabebeispiel: Kopieren Sie eine Datei unter Verwendung des Quelldateinamens (Windows)

- name: CopyingFileWithSourceFileNameWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\

Eingabebeispiel: Kopiert eine Datei mit dem Platzhalterzeichen (Linux)

- name: CopyingFilesWithWildCardLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/

Eingabebeispiel: Kopiert eine Datei mit dem Platzhalterzeichen (Windows)

- name: CopyingFilesWithWildCardWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\

Eingabebeispiel: Eine Datei kopieren, ohne sie zu überschreiben (Linux)

- name: CopyingFilesWithoutOverwriteLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false

Eingabebeispiel: Eine Datei kopieren, ohne sie zu überschreiben (Windows)

- name: CopyingFilesWithoutOverwriteWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output

Keine.

CopyFolder

Das CopyFolderAktionsmodul kopiert einen Ordner von der angegebenen Quelle zum angegebenen Ziel. Die Eingabe für die source Option ist der zu kopierende Ordner, und die Eingabe für die destination Option ist der Ordner, in den der Inhalt des Quellordners kopiert wird. Standardmäßig erstellt das Modul den Zielordner rekursiv, wenn er zur Laufzeit nicht vorhanden ist.

Wenn im angegebenen Ordner bereits ein Ordner mit dem angegebenen Namen vorhanden ist, überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.

Der Name des Quellordners kann einen Platzhalter () * enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/oder\) akzeptiert. Wenn Platzhalterzeichen im Quellordnernamen enthalten sind, werden alle Ordner, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als einen Ordner mithilfe eines Platzhalterzeichens kopieren möchten, muss die Eingabe für die destination Option mit einem Dateipfadtrennzeichen (/oder\) enden, was darauf hinweist, dass es sich bei der Zieleingabe um einen Ordner handelt.

Wenn sich der Name des Zielordners vom Namen des Quellordners unterscheidet, können Sie den Namen des Zielordners mithilfe der destination Option angeben. Wenn Sie keinen Zielordnernamen angeben, wird der Name des Quellordners verwendet, um den Zielordner zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/oder\) folgt, wird als Ordnername behandelt. Wenn Sie denselben Ordnernamen wie den Quellordner verwenden möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, einen Ordner im angegebenen Ordner zu erstellen.

  • Die Quellordner sind zur Laufzeit nicht vorhanden.

  • Es gibt bereits einen Ordner mit dem angegebenen Ordnernamen und die overwrite Option ist auf gesetztfalse.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
source Der Pfad des Quellordners. String Ja N/A Ja
destination Der Pfad des Zielordners. String Ja N/A Ja
overwrite Wenn der Wert auf False gesetzt ist, werden die Zielordner nicht ersetzt, wenn sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet. Boolesch Nein true N/A Ja

Eingabebeispiel: Einen Ordner kopieren (Linux)

- name: CopyingAFolderLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder

Eingabebeispiel: Einen Ordner kopieren (Windows)

- name: CopyingAFolderWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder

Eingabebeispiel: Kopieren Sie einen Ordner unter Verwendung des Quellordnernamens (Linux)

- name: CopyingFolderSourceFolderNameLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/

Eingabebeispiel: Kopieren Sie einen Ordner unter Verwendung des Quellordnernamens (Windows)

- name: CopyingFolderSourceFolderNameWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\

Eingabebeispiel: Kopieren Sie einen Ordner mit dem Platzhalterzeichen (Linux)

- name: CopyingFoldersWithWildCardLinux action: CopyFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/

Eingabebeispiel: Einen Ordner mit dem Platzhalterzeichen kopieren (Windows)

- name: CopyingFoldersWithWildCardWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\

Eingabebeispiel: Einen Ordner kopieren, ohne ihn zu überschreiben (Linux)

- name: CopyingFoldersWithoutOverwriteLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder overwrite: false

Eingabebeispiel: Einen Ordner kopieren, ohne ihn zu überschreiben (Windows)

- name: CopyingFoldersWithoutOverwrite action: CopyFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output

Keine.

CreateFile

Das CreateFileAktionsmodul erstellt eine Datei an einem bestimmten Ort. Standardmäßig erstellt das Modul bei Bedarf auch rekursiv die übergeordneten Ordner.

Wenn die Datei bereits im angegebenen Ordner vorhanden ist, kürzt oder überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.

Wenn sich der Wert für die Dateikodierung vom Standardwert für die Kodierung (utf-8) unterscheidet, können Sie den Wert für die Dateikodierung mithilfe der encoding Option angeben. Standardmäßig wird davon ausgegangen, utf-16 dass utf-32 sie die Little-Endian-Kodierung verwenden.

owner, und sind group optionale Eingaben. permissions Die Eingabe für permissions muss ein Zeichenkettenwert sein. Dateien werden mit Standardwerten erstellt, wenn sie nicht angegeben werden. Diese Optionen werden auf Windows-Plattformen nicht unterstützt. Dieses Aktionsmodul validiert und gibt einen Fehler zurück, wenn die permissions Optionen ownergroup, und auf Windows-Plattformen verwendet werden.

Dieses Aktionsmodul kann eine Datei mit Berechtigungen erstellen, die durch den umask Standardwert des Betriebssystems definiert sind. Sie müssen den umask Wert festlegen, wenn Sie den Standardwert überschreiben möchten.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, eine Datei oder einen Ordner im angegebenen übergeordneten Ordner zu erstellen.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Ja
content Der Textinhalt der Datei. String Nein N/A N/A Ja
encoding Der Kodierungsstandard. String Nein utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, und utf-32-BE. Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. Ja
owner Der Benutzername oder die ID. String Nein N/A N/A Wird unter Windows nicht unterstützt.
group Der Gruppenname oder die ID. String Nein Der aktuelle Benutzer. N/A Wird unter Windows nicht unterstützt.
permissions Die Dateiberechtigungen. String Nein 0666 N/A Wird unter Windows nicht unterstützt.
overwrite Wenn der Name der angegebenen Datei bereits existiert, wird durch das Einstellen dieses Werts auf false verhindert, dass die Datei standardmäßig gekürzt oder überschrieben wird. Boolesch Nein true N/A Ja

Eingabebeispiel: Eine Datei ohne Überschreiben erstellen (Linux)

- name: CreatingFileWithoutOverwriteLinux action: CreateFile inputs: - path: /home/UserName/Sample.txt content: The text content of the sample file. overwrite: false

Eingabebeispiel: Erstellen Sie eine Datei ohne Überschreiben (Windows)

- name: CreatingFileWithoutOverwriteWindows action: CreateFile inputs: - path: C:\Temp\Sample.txt content: The text content of the sample file. overwrite: false

Eingabebeispiel: Erstellen Sie eine Datei mit Dateieigenschaften

- name: CreatingFileWithFileProperties action: CreateFile inputs: - path: SampleFolder/Sample.txt content: The text content of the sample file. encoding: UTF-16 owner: Ubuntu group: UbuntuGroup permissions: 0777 - path: SampleFolder/SampleFile.txt permissions: 755 - path: SampleFolder/TextFile.txt encoding: UTF-16 owner: root group: rootUserGroup

Eingabebeispiel: Erstellen Sie eine Datei ohne Dateieigenschaften

- name: CreatingFileWithoutFileProperties action: CreateFile inputs: - path: ./Sample.txt - path: Sample1.txt

Eingabebeispiel: Erstellen Sie eine leere Datei, um einen Abschnitt im Linux-Bereinigungsskript zu überspringen

- name: CreateSkipCleanupfile action: CreateFile inputs: - path: <skip section file name>

Weitere Informationen finden Sie unter Überschreiben Sie das Linux-Bereinigungsskript.

Output

Keine.

CreateFolder

Das CreateFolderAktionsmodul erstellt einen Ordner an einem bestimmten Ort. Standardmäßig erstellt das Modul bei Bedarf auch rekursiv die übergeordneten Ordner.

Wenn der Ordner bereits im angegebenen Ordner vorhanden ist, kürzt oder überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.

ownergroup, und permissions sind optionale Eingaben. Die Eingabe für permissions muss ein Zeichenkettenwert sein. Diese Optionen werden auf Windows-Plattformen nicht unterstützt. Dieses Aktionsmodul validiert und gibt einen Fehler zurück, wenn die permissions Optionen ownergroup, und auf Windows-Plattformen verwendet werden.

Dieses Aktionsmodul kann einen Ordner mit Berechtigungen erstellen, die durch den umask Standardwert des Betriebssystems definiert sind. Sie müssen den umask Wert festlegen, wenn Sie den Standardwert überschreiben möchten.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, einen Ordner am angegebenen Speicherort zu erstellen.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Ordnerpfad. String Ja N/A Ja
owner Der Benutzername oder die ID. String Nein Der aktuelle Benutzer. N/A Wird unter Windows nicht unterstützt.
group Der Gruppenname oder die ID. String Nein Die Gruppe des aktuellen Benutzers. N/A Wird unter Windows nicht unterstützt.
permissions Die Ordnerberechtigungen. String Nein 0777 N/A Wird unter Windows nicht unterstützt.
overwrite Wenn der Name der angegebenen Datei bereits existiert, wird durch das Einstellen dieses Werts auf false verhindert, dass die Datei standardmäßig gekürzt oder überschrieben wird. Boolesch Nein true N/A Ja

Eingabebeispiel: Erstellen Sie einen Ordner (Linux)

- name: CreatingFolderLinux action: CreateFolder inputs: - path: /Sample/MyFolder/

Eingabebeispiel: Erstellen Sie einen Ordner (Windows)

- name: CreatingFolderWindows action: CreateFolder inputs: - path: C:\MyFolder

Eingabebeispiel: Erstellen Sie einen Ordner, in dem die Ordnereigenschaften angegeben sind

- name: CreatingFolderWithFolderProperties action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ owner: SampleOwnerName group: SampleGroupName permissions: 0777 - path: /Sample/MyFolder/SampleFoler/ permissions: 777

Eingabebeispiel: Erstellen Sie einen Ordner, der den vorhandenen Ordner überschreibt, falls es einen gibt.

- name: CreatingFolderWithOverwrite action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ overwrite: true
Output

Keine.

Das CreateSymlinkAktionsmodul erstellt symbolische Links oder Dateien, die einen Verweis auf eine andere Datei enthalten. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.

Die Eingabe für die target Optionen path und kann entweder ein absoluter oder ein relativer Pfad sein. Handelt es sich bei der Eingabe für die path Option um einen relativen Pfad, wird dieser bei der Erstellung des Links durch den absoluten Pfad ersetzt.

Wenn ein Link mit dem angegebenen Namen bereits im angegebenen Ordner vorhanden ist, gibt das Aktionsmodul standardmäßig einen Fehler zurück. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die force Option auf setzentrue. Wenn die force Option auf gesetzt isttrue, überschreibt das Modul den vorhandenen Link.

Wenn kein übergeordneter Ordner vorhanden ist, erstellt das Aktionsmodul den Ordner standardmäßig rekursiv.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Die Zieldatei ist zur Laufzeit nicht vorhanden.

  • Eine nichtsymbolische Linkdatei mit dem angegebenen Namen ist bereits vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Wird unter Windows nicht unterstützt.
target Der Zieldateipfad, auf den der symbolische Link verweist. String Ja N/A Wird unter Windows nicht unterstützt.
force Erzwingt die Erstellung eines Links, wenn bereits ein Link mit demselben Namen vorhanden ist. Boolesch Nein false N/A Wird unter Windows nicht unterstützt.

Eingabebeispiel: Erstellen Sie einen symbolischen Link, der die Erstellung eines Links erzwingt

- name: CreatingSymbolicLinkWithForce action: CreateSymlink inputs: - path: /Folder2/Symboliclink.txt target: /Folder/Sample.txt force: true

Eingabebeispiel: Erstellen Sie einen symbolischen Link, der die Erstellung eines Links nicht erzwingt

- name: CreatingSymbolicLinkWithOutForce action: CreateSymlink inputs: - path: Symboliclink.txt target: /Folder/Sample.txt
Output

Keine.

DeleteFile

Das DeleteFileAktionsmodul löscht eine oder mehrere Dateien an einem bestimmten Ort.

Die Eingabe von path sollte ein gültiger Dateipfad oder ein Dateipfad mit einem Platzhalterzeichen (*) im Dateinamen sein. Wenn Platzhalterzeichen im Dateinamen angegeben werden, werden alle Dateien innerhalb desselben Ordners, die dem Platzhalter entsprechen, gelöscht.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, Löschvorgänge durchzuführen.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Ja

Eingabebeispiel: Eine einzelne Datei löschen (Linux)

- name: DeletingSingleFileLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/Sample.txt

Eingabebeispiel: Eine einzelne Datei löschen (Windows)

- name: DeletingSingleFileWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\Sample.txt

Eingabebeispiel: Lösche eine Datei, die mit „log“ endet (Linux)

- name: DeletingFileEndingWithLogLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*log

Eingabebeispiel: Lösche eine Datei, die mit „log“ endet (Windows)

- name: DeletingFileEndingWithLogWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*log

Eingabebeispiel: lösche alle Dateien in einem angegebenen Ordner (Linux)

- name: DeletingAllFilesInAFolderLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*

Eingabebeispiel: lösche alle Dateien in einem angegebenen Ordner (Windows)

- name: DeletingAllFilesInAFolderWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*
Output

Keine.

DeleteFolder

Das DeleteFolderAktionsmodul löscht Ordner.

Wenn der Ordner nicht leer ist, müssen Sie die force Option auf setzen, true um den Ordner und seinen Inhalt zu entfernen. Wenn Sie die force Option nicht auf setzen und der Ordnertrue, den Sie löschen möchten, nicht leer ist, gibt das Aktionsmodul einen Fehler zurück. Der Standardwert der force Option istfalse.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, Löschvorgänge durchzuführen.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Ordnerpfad. String Ja N/A Ja
force Löscht den Ordner, unabhängig davon, ob der Ordner leer ist oder nicht. Boolesch Nein false N/A Ja

Eingabebeispiel: Löschen Sie einen Ordner, der nicht leer ist, mit der force Option (Linux)

- name: DeletingFolderWithForceOptionLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/ force: true

Eingabebeispiel: Löschen Sie einen Ordner, der nicht leer ist, mit der force Option (Windows)

- name: DeletingFolderWithForceOptionWindows action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\ force: true

Eingabebeispiel: einen Ordner löschen (Linux)

- name: DeletingFolderWithOutForceLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/

Eingabebeispiel: Löschen eines Ordners (Windows)

- name: DeletingFolderWithOutForce action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\
Output

Keine.

ListFiles

Das ListFilesAktionsmodul listet die Dateien in einem angegebenen Ordner auf. Wenn die Option rekursiv auf gesetzt isttrue, listet sie die Dateien in Unterordnern auf. Dieses Modul listet standardmäßig keine Dateien in Unterordnern auf.

Um alle Dateien aufzulisten, deren Namen einem bestimmten Muster entsprechen, verwenden Sie die fileNamePattern Option zur Angabe des Musters. Die fileNamePattern Option akzeptiert den Platzhalterwert (*). Wenn der angegeben fileNamePattern ist, werden alle Dateien zurückgegeben, die dem angegebenen Dateinamenformat entsprechen.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Der angegebene Ordner ist zur Laufzeit nicht vorhanden.

  • Sie sind nicht berechtigt, eine Datei oder einen Ordner im angegebenen übergeordneten Ordner zu erstellen.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Ordnerpfad. String Ja N/A Ja
fileNamePattern Das Muster, das abgeglichen werden soll, um alle Dateien aufzulisten, deren Namen dem Muster entsprechen. String Nein N/A N/A Ja
recursive Listet die Dateien im Ordner rekursiv auf. Boolesch Nein false N/A Ja

Eingabebeispiel: listet Dateien im angegebenen Ordner auf (Linux)

- name: ListingFilesInSampleFolderLinux action: ListFiles inputs: - path: /Sample/MyFolder/Sample

Eingabebeispiel: Dateien im angegebenen Ordner auflisten (Windows)

- name: ListingFilesInSampleFolderWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\Sample

Eingabebeispiel: listet Dateien auf, die mit „log“ enden (Linux)

- name: ListingFilesWithEndingWithLogLinux action: ListFiles inputs: - path: /Sample/MyFolder/ fileNamePattern: *log

Eingabebeispiel: listet Dateien auf, die mit „log“ enden (Windows)

- name: ListingFilesWithEndingWithLogWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\ fileNamePattern: *log

Eingabebeispiel: Dateien rekursiv auflisten

- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Output
Primitiv Beschreibung Typ
files Die Liste der Dateien. String

Output example

{ "files": "/sample1.txt,/sample2.txt,/sample3.txt" }

MoveFile

Das MoveFileAktionsmodul verschiebt Dateien von der angegebenen Quelle zum angegebenen Ziel.

Wenn die Datei bereits im angegebenen Ordner vorhanden ist, überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück. Diese Option funktioniert genauso wie der mv Befehl unter Linux, der standardmäßig überschreibt.

Der Name der Quelldatei kann einen Platzhalter () * enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/oder\) akzeptiert. Wenn der Quelldateiname Platzhalterzeichen enthält, werden alle Dateien, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als eine Datei mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden, das angibt, dass es sich bei der Zieleingabe um einen Ordner handelt.

Wenn sich der Zieldateiname vom Quelldateinamen unterscheidet, können Sie den Zieldateinamen mithilfe der destination Option angeben. Wenn Sie keinen Zieldateinamen angeben, wird der Name der Quelldatei verwendet, um die Zieldatei zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/oder\) folgt, wird als Dateiname behandelt. Wenn Sie denselben Dateinamen wie die Quelldatei verwenden möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, eine Datei im angegebenen Ordner zu erstellen.

  • Die Quelldateien sind zur Laufzeit nicht vorhanden.

  • Es gibt bereits einen Ordner mit dem angegebenen Dateinamen und die overwrite Option ist auf eingestelltfalse.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
source Der Pfad der Quelldatei. String Ja N/A Ja
destination Der Zieldateipfad. String Ja N/A Ja
overwrite Wenn der Wert auf false gesetzt ist, werden die Zieldateien nicht ersetzt, wenn sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet. Boolesch Nein true N/A Ja

Eingabebeispiel: Eine Datei verschieben (Linux)

- name: MovingAFileLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt

Eingabebeispiel: Eine Datei verschieben (Windows)

- name: MovingAFileWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt

Eingabebeispiel: Verschieben Sie eine Datei unter Verwendung des Quelldateinamens (Linux)

- name: MovingFileWithSourceFileNameLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/

Eingabebeispiel: Verschieben Sie eine Datei unter Verwendung des Quelldateinamens (Windows)

- name: MovingFileWithSourceFileNameWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder

Eingabebeispiel: Verschieben Sie eine Datei mit einem Platzhalterzeichen (Linux)

- name: MovingFilesWithWildCardLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/

Eingabebeispiel: Verschieben Sie eine Datei mit einem Platzhalterzeichen (Windows)

- name: MovingFilesWithWildCardWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder

Eingabebeispiel: Eine Datei verschieben, ohne sie zu überschreiben (Linux)

- name: MovingFilesWithoutOverwriteLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false

Eingabebeispiel: Eine Datei verschieben, ohne sie zu überschreiben (Windows)

- name: MovingFilesWithoutOverwrite action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output

Keine.

MoveFolder

Das MoveFolderAktionsmodul verschiebt Ordner von der angegebenen Quelle zum angegebenen Ziel. Die Eingabe für die source Option ist der zu verschiebende Ordner, und die Eingabe für die destination Option ist der Ordner, in den der Inhalt der Quellordner verschoben wird.

Wenn der übergeordnete Zielordner oder die Eingabe für die destination Option zur Laufzeit nicht vorhanden sind, besteht das Standardverhalten des Moduls darin, den Ordner rekursiv am angegebenen Ziel zu erstellen.

Wenn im Zielordner bereits ein Ordner vorhanden ist, der mit dem Quellordner identisch ist, überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false Wenn die Option zum Überschreiben auf false gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.

Der Name des Quellordners kann einen Platzhalter () * enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/oder\) akzeptiert. Wenn Platzhalterzeichen im Quellordnernamen enthalten sind, werden alle Ordner, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als einen Ordner mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe für die destination Option mit einem Dateipfadtrennzeichen (/oder\) enden, was darauf hinweist, dass es sich bei der Zieleingabe um einen Ordner handelt.

Wenn sich der Name des Zielordners vom Namen des Quellordners unterscheidet, können Sie den Namen des Zielordners mithilfe der destination Option angeben. Wenn Sie keinen Zielordnernamen angeben, wird der Name des Quellordners verwendet, um den Zielordner zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/oder\) folgt, wird als Ordnername behandelt. Wenn Sie denselben Ordnernamen wie den Quellordner verwenden möchten, muss die Eingabe der destination Option mit einem Dateipfadtrennzeichen (/oder\) enden.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, einen Ordner im Zielordner zu erstellen.

  • Die Quellordner sind zur Laufzeit nicht vorhanden.

  • Es gibt bereits einen Ordner mit dem angegebenen Namen und die overwrite Option ist auf gesetztfalse.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
source Der Pfad des Quellordners. String Ja N/A Ja
destination Der Pfad des Zielordners. String Ja N/A Ja
overwrite Wenn der Wert auf False gesetzt ist, werden die Zielordner nicht ersetzt, wenn sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet. Boolesch Nein true N/A Ja

Eingabebeispiel: Einen Ordner verschieben (Linux)

- name: MovingAFolderLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder

Eingabebeispiel: Einen Ordner verschieben (Windows)

- name: MovingAFolderWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder

Eingabebeispiel: Verschieben Sie einen Ordner unter Verwendung des Quellordnernamens (Linux)

- name: MovingFolderWithSourceFolderNameLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/

Eingabebeispiel: Verschieben Sie einen Ordner mithilfe des Quellordnernamens (Windows)

- name: MovingFolderWithSourceFolderNameWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\

Eingabebeispiel: Verschieben Sie einen Ordner mithilfe eines Platzhalterzeichens (Linux)

- name: MovingFoldersWithWildCardLinux action: MoveFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/

Eingabebeispiel: Verschieben Sie einen Ordner mithilfe eines Platzhalterzeichens (Windows)

- name: MovingFoldersWithWildCardWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\

Eingabebeispiel: Einen Ordner verschieben, ohne ihn zu überschreiben (Linux)

- name: MovingFoldersWithoutOverwriteLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder overwrite: false

Eingabebeispiel: Einen Ordner verschieben, ohne ihn zu überschreiben (Windows)

- name: MovingFoldersWithoutOverwriteWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output

Keine.

ReadFile

Das ReadFileAktionsmodul liest den Inhalt einer Textdatei vom Typ Zeichenfolge. Dieses Modul kann verwendet werden, um den Inhalt einer Datei zur Verwendung in nachfolgenden Schritten durch Verkettung oder zum Lesen von Daten in die console.log Datei zu lesen. Wenn der angegebene Pfad ein symbolischer Link ist, gibt dieses Modul den Inhalt der Zieldatei zurück. Dieses Modul unterstützt nur Textdateien.

Wenn sich der Dateicodierungswert vom Standardwert encoding (utf-8) unterscheidet, können Sie den Dateicodierungswert mithilfe der encoding Option angeben. Standardmäßig wird davon ausgegangen, utf-16 dass utf-32 sie die Little-Endian-Kodierung verwenden.

Standardmäßig kann dieses Modul den Dateiinhalt nicht in die Datei drucken. console.log Sie können diese Einstellung überschreiben, indem Sie die printFileContent Eigenschaft auf setzentrue.

Dieses Modul kann nur den Inhalt einer Datei zurückgeben. Es kann keine Dateien wie Excel- oder JSON-Dateien analysieren.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Die Datei ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Ja
encoding Der Kodierungsstandard. String Nein utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, und utf-32-BE. Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. Ja
printFileContent Druckt den Dateiinhalt in die console.log Datei. Boolesch Nein false N/A Ja.

Eingabebeispiel: Eine Datei lesen (Linux)

- name: ReadingFileLinux action: ReadFile inputs: - path: /home/UserName/SampleFile.txt

Eingabebeispiel: eine Datei lesen (Windows)

- name: ReadingFileWindows action: ReadFile inputs: - path: C:\Windows\WindowsUpdate.log

Eingabebeispiel: Eine Datei lesen und den Kodierungsstandard angeben

- name: ReadingFileWithFileEncoding action: ReadFile inputs: - path: /FolderName/SampleFile.txt encoding: UTF-32

Eingabebeispiel: Eine Datei lesen und in die console.log Datei drucken

- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Output
Feld Beschreibung Typ
content Der Inhalt der Datei. Zeichenfolge

Output example

{ "content" : "The file content" }

SetFileEncoding

Das SetFileEncodingAktionsmodul ändert die Kodierungseigenschaft einer vorhandenen Datei. Dieses Modul kann die Dateikodierung von einem bestimmten Kodierungsstandard utf-8 in einen bestimmten Kodierungsstandard konvertieren. Standardmäßig wird davon ausgegangen, utf-16 dass utf-32 es sich um Little-Endian-Kodierung handelt.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.

  • Die Datei ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Ja
encoding Der Kodierungsstandard. String Nein utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, und utf-32-BE. Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. Ja

Eingabebeispiel: Legen Sie die Eigenschaft für die Dateikodierung fest

- name: SettingFileEncodingProperty action: SetFileEncoding inputs: - path: /home/UserName/SampleFile.txt encoding: UTF-16
Output

Keine.

SetFileOwner

Das SetFileOwnerAktionsmodul ändert die Eigenschaften owner und group Eigentümer einer vorhandenen Datei. Wenn es sich bei der angegebenen Datei um einen symbolischen Link handelt, ändert das Modul die owner Eigenschaft der Quelldatei. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.

Dieses Modul akzeptiert Benutzer- und Gruppennamen als Eingaben. Wenn der Gruppenname nicht angegeben wird, weist das Modul den Gruppeneigentümer der Datei der Gruppe zu, zu der der Benutzer gehört.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.

  • Der angegebene Benutzer- oder Gruppenname ist zur Laufzeit nicht vorhanden.

  • Die Datei ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Wird unter Windows nicht unterstützt.
owner Der Benutzername Zeichenfolge Ja N/A Wird unter Windows nicht unterstützt.
group Der Name der Benutzergruppe. String Nein Der Name der Gruppe, zu der der Benutzer gehört. N/A Wird unter Windows nicht unterstützt.

Eingabebeispiel: Legen Sie die Eigenschaft des Dateibesitzers fest, ohne den Namen der Benutzergruppe anzugeben

- name: SettingFileOwnerPropertyNoGroup action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser

Eingabebeispiel: Legen Sie die Eigenschaft des Dateibesitzers fest, indem Sie den Eigentümer und die Benutzergruppe angeben

- name: SettingFileOwnerProperty action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser group: LinuxUserGroup
Output

Keine.

SetFolderOwner

Das SetFolderOwnerAktionsmodul ändert rekursiv die Eigenschaften owner und group Eigentümer eines vorhandenen Ordners. Standardmäßig kann das Modul die Eigentümerschaft für den gesamten Inhalt eines Ordners ändern. Sie können die recursive Option auf setzen, false um dieses Verhalten zu überschreiben. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.

Dieses Modul akzeptiert Benutzer- und Gruppennamen als Eingaben. Wenn der Gruppenname nicht angegeben wird, weist das Modul den Gruppeneigentümer der Datei der Gruppe zu, zu der der Benutzer gehört.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.

  • Der angegebene Benutzer- oder Gruppenname ist zur Laufzeit nicht vorhanden.

  • Der Ordner ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Ordnerpfad. String Ja N/A Wird unter Windows nicht unterstützt.
owner Der Benutzername Zeichenfolge Ja N/A Wird unter Windows nicht unterstützt.
group Der Name der Benutzergruppe. String Nein Der Name der Gruppe, zu der der Benutzer gehört. N/A Wird unter Windows nicht unterstützt.
recursive Setzt das Standardverhalten beim Ändern der Eigentümerschaft für den gesamten Inhalt eines Ordners außer Kraft, wenn diese Einstellung auf false gesetzt ist. Boolesch Nein true N/A Wird unter Windows nicht unterstützt.

Eingabebeispiel: Legen Sie die Eigenschaft des Ordnerbesitzers fest, ohne den Namen der Benutzergruppe anzugeben

- name: SettingFolderPropertyWithOutGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser

Eingabebeispiel: Legen Sie die Eigenschaft des Ordnerbesitzers fest, ohne die Eigentümerschaft aller Inhalte in einem Ordner zu überschreiben

- name: SettingFolderPropertyWithOutRecursively action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser recursive: false

Eingabebeispiel: Legen Sie die Eigenschaft „Dateibesitz“ fest, indem Sie den Namen der Benutzergruppe angeben

- name: SettingFolderPropertyWithGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser group: LinuxUserGroup
Output

Keine.

SetFilePermissions

Das SetFilePermissionsAktionsmodul ändert die permissions einer vorhandenen Datei. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.

Die Eingabe für permissions muss ein Zeichenkettenwert sein.

Dieses Aktionsmodul kann eine Datei mit Berechtigungen erstellen, die durch den Standard-Umask-Wert des Betriebssystems definiert sind. Sie müssen den umask Wert festlegen, wenn Sie den Standardwert überschreiben möchten.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.

  • Die Datei ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Dateipfad. String Ja N/A Wird unter Windows nicht unterstützt.
permissions Die Dateiberechtigungen. String Ja N/A Wird unter Windows nicht unterstützt.

Eingabebeispiel: Dateiberechtigungen ändern

- name: ModifyingFilePermissions action: SetFilePermissions inputs: - path: /home/UserName/SampleFile.txt permissions: 766
Output

Keine.

SetFolderPermissions

Das SetFolderPermissionsAktionsmodul ändert rekursiv den permissions eines vorhandenen Ordners und all seiner Unterdateien und Unterordner. Standardmäßig kann dieses Modul die Berechtigungen für den gesamten Inhalt des angegebenen Ordners ändern. Sie können die recursive Option auf setzen, false um dieses Verhalten zu überschreiben. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.

Die Eingabe für permissions muss ein Zeichenkettenwert sein.

Dieses Aktionsmodul kann Berechtigungen entsprechend dem Standard-Umask-Wert des Betriebssystems ändern. Sie müssen den umask Wert festlegen, wenn Sie den Standardwert überschreiben möchten.

Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:

  • Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.

  • Der Ordner ist zur Laufzeit nicht vorhanden.

  • Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte Wird auf allen Plattformen unterstützt
path Der Ordnerpfad. String Ja N/A Wird unter Windows nicht unterstützt.
permissions Die Ordnerberechtigungen. String Ja N/A Wird unter Windows nicht unterstützt.
recursive Setzt das Standardverhalten beim Ändern von Berechtigungen für den gesamten Inhalt eines Ordners außer Kraft, wenn diese Einstellung auf false gesetzt ist. Boolesch Nein true N/A Wird unter Windows nicht unterstützt.

Eingabebeispiel: Ordnerberechtigungen festlegen

- name: SettingFolderPermissions action: SetFolderPermissions inputs: - path: SampleFolder/ permissions: 0777

Eingabebeispiel: Ordnerberechtigungen festlegen, ohne die Berechtigungen für den gesamten Inhalt eines Ordners zu ändern

- name: SettingFolderPermissionsNoRecursive action: SetFolderPermissions inputs: - path: /home/UserName/SampleFolder/ permissions: 777 recursive: false
Output

Keine.

Aktionen zur Softwareinstallation

In diesem Abschnitt werden Aktionsmodule beschrieben, die Aktionsbefehle und Anweisungen zur Softwareinstallation ausführen.

IAM-Anforderungen

Wenn es sich bei Ihrem Installations-Download-Pfad um einen S3-URI handelt, muss die IAM-Rolle, die Sie Ihrem Instanzprofil zuordnen, über die Berechtigung zum Ausführen des S3Download Aktionsmoduls verfügen. Um die erforderliche Berechtigung zu erteilen, fügen Sie die S3:GetObject IAM-Richtlinie der IAM-Rolle bei, die Ihrem Instance-Profil zugeordnet ist, und geben Sie den Pfad für Ihren Bucket an. Beispiel, arn:aws:s3:::BucketName/*).

Komplexe MSI-Eingaben

Wenn Ihre Eingabezeichenfolgen doppelte Anführungszeichen (") enthalten, müssen Sie eine der folgenden Methoden verwenden, um sicherzustellen, dass sie korrekt interpretiert werden:

  • Sie können einfache Anführungszeichen (') außerhalb Ihrer Zeichenfolge verwenden, um sie zu enthalten, und doppelte Anführungszeichen („) innerhalb Ihrer Zeichenfolge verwenden, wie im folgenden Beispiel gezeigt.

    properties: COMPANYNAME: '"Acme ""Widgets"" and ""Gizmos."""'

    Wenn Sie in diesem Fall einen Apostroph innerhalb Ihrer Zeichenfolge verwenden müssen, müssen Sie ihn maskieren. Das bedeutet, dass Sie vor dem Apostroph ein weiteres einfaches Anführungszeichen (') verwenden.

  • Sie können doppelte Anführungszeichen („) an der Außenseite Ihrer Zeichenfolge verwenden, um sie zu enthalten. Und Sie können alle doppelten Anführungszeichen innerhalb Ihrer Zeichenfolge maskieren, indem Sie den umgekehrten Schrägstrich (\) verwenden, wie im folgenden Beispiel gezeigt.

    properties: COMPANYNAME: "\"Acme \"\"Widgets\"\" and \"\"Gizmos.\"\"\""

Beide Methoden übergeben den Wert COMPANYNAME="Acme ""Widgets"" and ""Gizmos.""" an den msiexec Befehl.

Aktionsmodule für die Softwareinstallation

Installieren Sie MSI

Das InstallMSI Aktionsmodul installiert eine Windows-Anwendung mithilfe einer MSI-Datei. Sie können die MSI-Datei mithilfe eines lokalen Pfads, einer S3-Objekt-URI oder einer Web-URL angeben. Die Neustartoption konfiguriert das Neustartverhalten des Systems.

AWSTOE generiert den msiexec Befehl auf der Grundlage der Eingabeparameter für das Aktionsmodul. Werte für die Eingabeparameter path (Speicherort der MSI-Datei) und logFile (Speicherort der Protokolldatei) müssen in Anführungszeichen („) eingeschlossen werden.

Die folgenden MSI-Exitcodes gelten als erfolgreich:

  • 0 (Erfolg)

  • 1614 (ERROR_PRODUCT_UNINSTALL)

  • 1641 (Neustart eingeleitet)

  • 3010 (Neustart erforderlich)

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte
path

Geben Sie den Speicherort der MSI-Datei mit einer der folgenden Methoden an:

  • Der lokale Dateipfad. Der Pfad kann absolut oder relativ sein

  • Ein gültiger S3-Objekt-URI.

  • Eine gültige HTTP-/HTTPS-Web-URL (HTTPS wird empfohlen), die dem RFC 3986-Standard entspricht.

Verkettungsausdrücke sind zulässig.

String Ja N/A
reboot

Konfigurieren Sie das Verhalten beim Systemneustart, das auf eine erfolgreiche Ausführung des Aktionsmoduls folgt.

Einstellungen:
  • Force— Leitet einen Systemneustart ein, nachdem der msiexec Befehl erfolgreich ausgeführt wurde.

  • Allow— Leitet einen Systemneustart ein, wenn der msiexec Befehl einen Exit-Code zurückgibt, der angibt, dass ein Neustart erforderlich ist.

  • Skip— Protokolliert eine Informationsmeldung in der console.log Datei, die darauf hinweist, dass ein Neustart übersprungen wurde. Diese Option verhindert einen Neustart, auch wenn der msiexec Befehl einen Exit-Code zurückgibt, der darauf hinweist, dass ein Neustart erforderlich ist.

String Nein Allow Allow, Force, Skip
logOptions

Geben Sie die Optionen an, die für die MSI-Installationsprotokollierung verwendet werden sollen. Die angegebenen Flags werden zusammen mit den /L Befehlszeilenparametern zur Aktivierung der Protokollierung an das MSI-Installationsprogramm übergeben. Wenn keine Flags angegeben sind, AWSTOE wird der Standardwert verwendet.

Weitere Informationen zu Protokolloptionen für MSI finden Sie unter Befehlszeilenoptionen in der Microsoft Windows Installer-Produktdokumentation.

String Nein *VX i,w,e,a,r,u,c,m,o,p,v,x,+,!,*
logFile

Ein absoluter oder relativer Pfad zum Speicherort der Protokolldatei. Wenn der Protokolldateipfad nicht existiert, wird er erstellt. Wenn der Protokolldateipfad nicht angegeben wird, AWSTOE wird das MSI-Installationsprotokoll nicht gespeichert.

String Nein N/A N/A
properties

Schlüssel-Wert-Paare für MSI-Logging-Eigenschaften, zum Beispiel: TARGETDIR: "C:\target\location"

 

Hinweis: Die Änderung der folgenden Eigenschaften ist nicht zulässig:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Map [Zeichenfolge] Zeichenfolge Nein N/A N/A
ignoreAuthenticodeSignatureErrors

Markierung zum Ignorieren von Fehlern bei der Überprüfung der Authenticode-Signatur für das im Pfad angegebene Installationsprogramm. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren.

Einstellungen:
  • true— Validierungsfehler werden ignoriert und das Installationsprogramm wird ausgeführt.

  • false— Validierungsfehler werden nicht ignoriert. Das Installationsprogramm wird nur ausgeführt, wenn die Validierung erfolgreich ist. Dies ist das Standardverhalten.

Boolesch Nein false true, false
allowUnsignedInstaller

Markierung, die die Ausführung des im Pfad angegebenen unsignierten Installationsprogramms ermöglicht. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren.

Einstellungen:
  • true— Ignoriert den vom Get-AuthenticodeSignature Befehl zurückgegebenen NotSigned Status und führt das Installationsprogramm aus.

  • false— Erfordert, dass das Installationsprogramm signiert ist. Unsignierte Installationsprogramme können nicht ausgeführt werden. Dies ist das Standardverhalten.

Boolesch Nein false true, false
Beispiele

Die folgenden Beispiele zeigen Varianten des Eingabeabschnitts für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.

Eingabebeispiel: Installation im lokalen Dokumentpfad

- name: local-path-install steps: - name: LocalPathInstaller action: InstallMSI inputs: path: C:\sample.msi logFile: C:\msilogs\local-path-install.log logOptions: '*VX' reboot: Allow properties: COMPANYNAME: '"Amazon Web Services"' ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: true

Eingabebeispiel: Amazon S3 S3-Pfadinstallation

- name: s3-path-install steps: - name: S3PathInstaller action: InstallMSI inputs: path: s3://<bucket-name>/sample.msi logFile: s3-path-install.log reboot: Force ignoreAuthenticodeSignatureErrors: false allowUnsignedInstaller: true

Eingabebeispiel: Installation eines Webpfads

- name: web-path-install steps: - name: WebPathInstaller action: InstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-install.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output

Das Folgende ist ein Beispiel für die Ausgabe des InstallMSI Aktionsmoduls.

{ "logFile": "web-path-install.log", "msiExitCode": 0, "stdout": "" }

Deinstallieren Sie MSI

Das UninstallMSI Aktionsmodul ermöglicht es Ihnen, eine Windows-Anwendung mithilfe einer MSI-Datei zu entfernen. Sie können den Speicherort der MSI-Datei mithilfe eines lokalen Dateipfads, einer S3-Objekt-URI oder einer Web-URL angeben. Die Neustartoption konfiguriert das Neustartverhalten des Systems.

AWSTOE generiert den msiexec Befehl auf der Grundlage der Eingabeparameter für das Aktionsmodul. Der Speicherort der MSI-Datei (path) und der Speicherort der Protokolldatei (logFile) werden bei der Generierung des msiexec Befehls explizit in doppelte Anführungszeichen („) eingeschlossen.

Die folgenden MSI-Exitcodes werden als erfolgreich angesehen:

  • 0 (Erfolg)

  • 1605 (ERROR_UNKNOWN_PRODUCT)

  • 1614 (ERROR_PRODUCT_DEINSTALLIERT)

  • 1641 (Neustart eingeleitet)

  • 3010 (Neustart erforderlich)

Eingabe
Primitiv Beschreibung Typ Erforderlich Standardwert Zulässige Werte
path

Geben Sie den Speicherort der MSI-Datei mit einer der folgenden Methoden an:

  • Der lokale Dateipfad. Der Pfad kann absolut oder relativ sein.

  • Ein gültiger S3-Objekt-URI.

  • Eine gültige HTTP-/HTTPS-Web-URL (HTTPS wird empfohlen), die dem RFC 3986-Standard entspricht.

Verkettungsausdrücke sind zulässig.

String Ja N/A
reboot

Konfiguriert das Verhalten beim Systemneustart, das auf eine erfolgreiche Ausführung des Aktionsmoduls folgt.

Einstellungen:
  • Force— Leitet einen Systemneustart ein, nachdem der msiexec Befehl erfolgreich ausgeführt wurde.

  • Allow— Leitet einen Systemneustart ein, wenn der msiexec Befehl einen Exit-Code zurückgibt, der angibt, dass ein Neustart erforderlich ist.

  • Skip— Protokolliert eine Informationsmeldung in der console.log Datei, die darauf hinweist, dass ein Neustart übersprungen wurde. Diese Option verhindert einen Neustart, auch wenn der msiexec Befehl einen Exit-Code zurückgibt, der darauf hinweist, dass ein Neustart erforderlich ist.

String Nein Allow Allow, Force, Skip
logOptions

Geben Sie die Optionen an, die für die MSI-Installationsprotokollierung verwendet werden sollen. Die angegebenen Flags werden zusammen mit den /L Befehlszeilenparametern zur Aktivierung der Protokollierung an das MSI-Installationsprogramm übergeben. Wenn keine Flags angegeben sind, AWSTOE wird der Standardwert verwendet.

Weitere Informationen zu Protokolloptionen für MSI finden Sie unter Befehlszeilenoptionen in der Microsoft Windows Installer-Produktdokumentation.

String Nein *VX i,w,e,a,r,u,c,m,o,p,v,x,+,!,*
logFile

Ein absoluter oder relativer Pfad zum Speicherort der Protokolldatei. Wenn der Protokolldateipfad nicht existiert, wird er erstellt. Wenn der Protokolldateipfad nicht angegeben wird, AWSTOE wird das MSI-Installationsprotokoll nicht gespeichert.

String Nein N/A N/A
properties

Schlüssel-Wert-Paare für MSI-Logging-Eigenschaften, zum Beispiel: TARGETDIR: "C:\target\location"

 

Hinweis: Die Änderung der folgenden Eigenschaften ist nicht zulässig:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Map [Zeichenfolge] Zeichenfolge Nein N/A N/A
ignoreAuthenticodeSignatureErrors

Markierung zum Ignorieren von Fehlern bei der Überprüfung der Authenticode-Signatur für das im Pfad angegebene Installationsprogramm. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren.

Einstellungen:
  • true— Validierungsfehler werden ignoriert und das Installationsprogramm wird ausgeführt.

  • false— Validierungsfehler werden nicht ignoriert. Das Installationsprogramm wird nur ausgeführt, wenn die Validierung erfolgreich ist. Dies ist das Standardverhalten.

Boolesch Nein false true, false
allowUnsignedInstaller

Markierung, die die Ausführung des im Pfad angegebenen unsignierten Installationsprogramms ermöglicht. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren.

Einstellungen:
  • true— Ignoriert den vom Get-AuthenticodeSignature Befehl zurückgegebenen NotSigned Status und führt das Installationsprogramm aus.

  • false— Erfordert, dass das Installationsprogramm signiert ist. Unsignierte Installationsprogramme können nicht ausgeführt werden. Dies ist das Standardverhalten.

Boolesch Nein false true, false
Beispiele

Die folgenden Beispiele zeigen Varianten des Eingabeabschnitts für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.

Eingabebeispiel: Installation des lokalen Dokumentpfads entfernen

- name: local-path-uninstall steps: - name: LocalPathUninstaller action: UninstallMSI inputs: path: C:\sample.msi logFile: C:\msilogs\local-path-uninstall.log logOptions: '*VX' reboot: Allow properties: COMPANYNAME: '"Amazon Web Services"' ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: true

Eingabebeispiel: Amazon S3 S3-Pfadinstallation entfernen

- name: s3-path-uninstall steps: - name: S3PathUninstaller action: UninstallMSI inputs: path: s3://<bucket-name>/sample.msi logFile: s3-path-uninstall.log reboot: Force ignoreAuthenticodeSignatureErrors: false allowUnsignedInstaller: true

Eingabebeispiel: Webpfad-Installation entfernen

- name: web-path-uninstall steps: - name: WebPathUninstaller action: UninstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-uninstall.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output

Das Folgende ist ein Beispiel für die Ausgabe des UninstallMSI Aktionsmoduls.

{ "logFile": "web-path-uninstall.log", "msiExitCode": 0, "stdout": "" }

Aktionsmodule des Systems

Im folgenden Abschnitt werden Aktionsmodule beschrieben, die Befehle und Anweisungen für Dateisystemaktionen ausführen.

Module für Systemaktionen

Neustart

Das Aktionsmodul Reboot startet die Instanz neu. Es verfügt über eine konfigurierbare Option, um den Start des Neustarts zu verzögern. Standardmäßig delaySeconds ist auf eingestellt, was bedeutet0, dass es keine Verzögerung gibt. Das Schrittzeitlimit wird für das Aktionsmodul Neustart nicht unterstützt, da es nicht gilt, wenn die Instanz neu gestartet wird.

Wenn die Anwendung vom Systems Manager Agent aufgerufen wird, übergibt sie den Exit-Code (3010für Windows, 194 für Linux) an den Systems Manager Agent. Der Systems Manager Agent führt den Systemneustart wie unter Managed Instance from Scripts neu starten beschrieben durch.

Wenn die Anwendung auf dem Host als eigenständiger Prozess aufgerufen wird, speichert sie den aktuellen Ausführungsstatus, konfiguriert einen Auslöser für die automatische Ausführung nach dem Neustart, sodass die Anwendung nach dem Neustart erneut ausgeführt wird, und startet dann das System neu.

Automatischer Start-Trigger nach dem Neustart:

  • Windows. AWSTOE erstellt einen Windows Taskplaner-Eintrag mit einem Trigger, der automatisch ausgeführt wird unter SystemStartup

  • Linux. AWSTOE fügt einen Job in Crontab hinzu, der nach dem Neustart des Systems automatisch ausgeführt wird.

@reboot /download/path/awstoe run --document s3://bucket/key/doc.yaml

Dieser Trigger wird bereinigt, wenn die Anwendung gestartet wird.

Wiederholversuche

Standardmäßig ist die maximale Anzahl von Wiederholungen auf den Systems Manager CommandRetryLimit festgelegt. Wenn die Anzahl der Neustarts das Wiederholungslimit überschreitet, schlägt die Automatisierung fehl. Sie können das Limit ändern, indem Sie die Konfigurationsdatei (Mds.CommandRetryLimit) des Systems Manager Manager-Agenten bearbeiten. Weitere Informationen finden Sie unter Laufzeitkonfiguration im Open-Source-System Manager-Agent.

Um das Reboot-Aktionsmodul für Schritte zu verwenden, die einen Neustart beinhalten exitcode (z. B.3010), müssen Sie die Anwendungsbinärdatei als ausführensudo user.

Eingabe
Primitiv Beschreibung Typ Erforderlich Standard
delaySeconds Verzögert eine bestimmte Zeit, bevor ein Neustart eingeleitet wird. Ganzzahl

Nein

0

Eingabebeispiel: Neustart-Schritt

- name: RebootStep action: Reboot onFailure: Abort maxAttempts: 2 inputs: delaySeconds: 60

Ausgabe

Keine.

Wenn das Reboot-Modul abgeschlossen ist, fährt Image Builder mit dem nächsten Schritt im Build fort.

SetRegistry

Das SetRegistryAktionsmodul akzeptiert eine Liste von Eingaben und ermöglicht es Ihnen, den Wert für den angegebenen Registrierungsschlüssel festzulegen. Wenn ein Registrierungsschlüssel nicht existiert, wird er im definierten Pfad erstellt. Diese Funktion gilt nur für Windows.

Eingabe
Primitiv Beschreibung Typ Erforderlich
path Pfad des Registrierungsschlüssels. String Ja
name Name des Registrierungsschlüssels. String Ja
value Wert des Registrierungsschlüssels. Zeichenfolge/Zahl/Array Ja
type Werttyp des Registrierungsschlüssels. String Ja
Unterstützte Pfadpräfixe
  • HKEY_CLASSES_ROOT / HKCR:

  • HKEY_USERS / HKU:

  • HKEY_LOCAL_MACHINE / HKLM:

  • HKEY_CURRENT_CONFIG / HKCC:

  • HKEY_CURRENT_USER / HKCU:

Unterstützte -Typen
  • BINARY

  • DWORD

  • QWORD

  • SZ

  • EXPAND_SZ

  • MULTI_SZ

Eingabebeispiel: Legen Sie die Werte der Registrierungsschlüssel fest

- name: SetRegistryKeyValues action: SetRegistry maxAttempts: 3 inputs: - path: HKLM:\SOFTWARE\MySoftWare name: MyName value: FirstVersionSoftware type: SZ - path: HKEY_CURRENT_USER\Software\Test name: Version value: 1.1 type: DWORD

Ausgabe

Keine.

OS aktualisieren

Das UpdateOS-Aktionsmodul bietet Unterstützung für die Installation von Windows- und Linux-Updates. Es installiert standardmäßig alle verfügbaren Updates. Alternativ können Sie eine Liste mit einem oder mehreren spezifischen Updates konfigurieren, die das Aktionsmodul installieren soll. Sie können auch Updates angeben, die von der Installation ausgeschlossen werden sollen.

Wenn sowohl die Listen „Einschließen“ als auch „Ausschließen“ bereitgestellt werden, kann die resultierende Liste von Updates nur die Updates enthalten, die in der „Einschluss“ -Liste aufgeführt sind und nicht in der Ausschlussliste aufgeführt sind.

Anmerkung

UpdateOS unterstützt Amazon Linux 2023 (AL2023) nicht. Wir empfehlen Ihnen, Ihr Basis-AMI auf die neue Version zu aktualisieren, die mit jeder Version geliefert wird. Weitere Alternativen finden Sie unter Steuern der Updates, die Sie von Haupt- und Nebenversionen erhalten haben, im Amazon Linux 2023-Benutzerhandbuch.

  • Windows. Updates werden von der auf dem Zielcomputer konfigurierten Update-Quelle installiert.

  • Linux. Die Anwendung sucht nach dem unterstützten Paketmanager auf der Linux-Plattform und verwendet entweder den apt-get Paketmanager yum oder. Wenn keiner von beiden unterstützt wird, wird ein Fehler zurückgegeben. Sie sollten über die sudo erforderlichen Berechtigungen verfügen, um das UpdateOS-Aktionsmodul auszuführen. Wenn Sie keine sudo Berechtigungen haben, error.Input wird ein zurückgegeben.

Eingabe
Primitiv Beschreibung Typ Erforderlich
include

Für Windows können Sie Folgendes angeben:

  • Eine oder mehrere Artikel-IDs der Microsoft Knowledge Base (KB), die in die Liste der Updates aufgenommen werden sollen, die installiert werden können. Gültige Formate sind KB1234567 oder 1234567.

  • Ein Updatename, der einen Platzhalterwert (*) verwendet. Gültige Formate sind Security* oder *Security*.

Für Linux können Sie ein oder mehrere Pakete angeben, die in die Liste der zu installierenden Updates aufgenommen werden sollen.

Liste der Zeichenketten Nein
exclude

Für Windows können Sie Folgendes angeben:

  • Eine oder mehrere Artikel-IDs der Microsoft Knowledge Base (KB), die in die Liste der Updates aufgenommen werden sollen, die von der Installation ausgeschlossen werden sollen. Gültige Formate sind KB1234567 oder 1234567.

  • Ein Updatename, der einen Platzhalterwert (*) verwendet. Gültige Formate sind: Security* oder*Security*.

Für Linux können Sie ein oder mehrere Pakete angeben, die von der Liste der Updates für die Installation ausgeschlossen werden sollen.

Liste der Zeichenketten Nein

Eingabebeispiel: Unterstützung für die Installation von Linux-Updates hinzufügen

- name: UpdateMyLinux action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: exclude: - ec2-hibinit-agent

Eingabebeispiel: Unterstützung für die Installation von Windows-Updates hinzufügen

- name: UpdateWindowsOperatingSystem action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: include: - KB1234567 - '*Security*'

Ausgabe

Keine.