Moduli di azione supportati dal gestore AWSTOE dei componenti - EC2Image Builder

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Moduli di azione supportati dal gestore AWSTOE dei componenti

I servizi di creazione di EC2 immagini, come Image Builder, utilizzano moduli di AWSTOE azione per configurare le EC2 istanze utilizzate per creare e testare immagini di macchine personalizzate. Questa sezione descrive le funzionalità dei moduli di AWSTOE azione di uso comune e come configurarli, inclusi alcuni esempi.

I componenti sono creati con documenti di testo sempliceYAML. Per ulteriori informazioni sulla sintassi dei documenti, vedere. Usa il framework AWSTOE dei documenti dei componenti per i componenti personalizzati

Nota

Tutti i moduli di azione utilizzano lo stesso account dell'agente Systems Manager quando vengono eseguiti, ovvero root su Linux e NT Authority\SYSTEM su Windows.

Il seguente riferimento incrociato classifica i moduli di azione in base al tipo di azioni che eseguono.

 

 

Scaricamento e caricamento di file

 

 

Azioni di installazione del software

 

Moduli di esecuzione generali

La sezione seguente contiene dettagli sui moduli di azione che eseguono comandi e controllano il flusso di lavoro di esecuzione.

Asserire

Il modulo di azione Assert esegue confronti di valori utilizzando Operatori di confronto o Operatori logici come input. Il risultato dell'espressione dell'operatore (vero o falso) indica lo stato complessivo di successo o di fallimento della fase.

Se l'espressione dell'operatore logico o di confronto restituisce un risultato positivotrue, il passaggio viene contrassegnato comeSuccess. In caso contrario, il passaggio viene contrassegnato comeFailed. Se il passaggio fallisce, il onFailure parametro decide il risultato del passaggio.

Input
Nome chiave Descrizione Tipo Richiesto
input Contiene un singolo operatore logico o di confronto. Nota, gli operatori logici possono contenere più di un operatore di confronto. Questo valore è variabile, a seconda dell'operatore

Esempio di input: un semplice confronto utilizzando l'operatore di stringEquals confronto

Questo esempio restituisce. true

- name: StringComparison action: Assert inputs: stringEquals: '2.1.1' value: '{{ validate.ApplicationVersion.outputs.stdout }}'

Esempio di input: confronti Regex utilizzando l'operatore di confronto patternMatches

Tutti questi esempi restituiscono. true

- name: Letters only action: Assert inputs: patternMatches: '^[a-zA-Z]+$' value: 'ThisIsOnlyLetters' - name: Letters and spaces only action: Assert inputs: patternMatches: '^[a-zA-Z\s]+$' value: 'This text contains spaces' - name: Numbers only action: Assert inputs: patternMatches: '^[0-9]+$' value: '1234567890'

Esempio di input: confronti annidati con operatori logici e variabili concatenate

L'esempio seguente illustra i confronti annidati con operatori logici che utilizzano confronti con variabili concatenate. Viene Assert restituito true se una delle seguenti condizioni è vera:

  • Il ApplicationVersion è maggiore 2.0 e CPUArchitecture uguale arm64 a.

  • Gli CPUArchitecture uguali. x86_64

- name: NestedComparisons action: Assert inputs: or: # <- first level deep - and: # <- second level deep - numberGreaterThan: 2.0 # <- third level deep value: '{{ validate.ApplicationVersion.outputs.stdout }}' - stringEquals: 'arm64' value: '{{ validate.CPUArchitecture.outputs.stdout }}' - stringEquals: 'x86_64' value: '{{ validate.CPUArchitecture.outputs.stdout }}'

Output:

Il risultato di un Assert è il successo o il fallimento della fase.

ExecuteBash

Il modulo ExecuteBashaction consente di eseguire script bash con codice/comandi di shell in linea. Questo modulo supporta Linux.

Tutti i comandi e le istruzioni specificati nel blocco dei comandi vengono convertiti in un file (ad esempioinput.sh) ed eseguiti con la shell bash. Il risultato dell'esecuzione del file shell è il codice di uscita del passaggio.

Il ExecuteBashmodulo gestisce i riavvii del sistema se lo script esce con un codice di uscita di. 194 Una volta avviata, l'applicazione esegue una delle seguenti azioni:

  • L'applicazione consegna il codice di uscita al chiamante se viene eseguita dall'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.

  • L'applicazione salva la versione correnteexecutionstate, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.

Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.

Input
Nome chiave Descrizione Tipo Richiesto
commands Contiene un elenco di istruzioni o comandi da eseguire secondo la sintassi di bash. È consentita la presenza di più righe. YAML Elenco

Esempio di input: prima e dopo il riavvio

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
Campo Descrizione Tipo
stdout Output standard dell'esecuzione del comando. string

Se avvii un riavvio e restituisci il codice di uscita 194 come parte del modulo di azione, la compilazione riprenderà dalla stessa fase del modulo di azione che ha avviato il riavvio. Se avvii un riavvio senza il codice di uscita, il processo di compilazione potrebbe non riuscire.

Esempio di output: prima del riavvio (prima lettura del documento)

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

Esempio di output: dopo il riavvio, (seconda volta nel documento)

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

ExecuteBinary

Il modulo di ExecuteBinaryazione consente di eseguire file binari con un elenco di argomenti della riga di comando.

Il ExecuteBinarymodulo gestisce i riavvii del sistema se il file binario esce con un codice di uscita 194 (Linux) o 3010 (Windows). Quando ciò accade, l'applicazione esegue una delle seguenti azioni:

  • L'applicazione consegna il codice di uscita al chiamante se viene eseguita dall'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.

  • L'applicazione salva la versione correnteexecutionstate, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.

Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.

Input
Nome chiave Descrizione Tipo Richiesto
path Il percorso del file binario per l'esecuzione. Stringa
arguments Contiene un elenco di argomenti della riga di comando da utilizzare durante l'esecuzione del file binario. Elenco di stringhe No

Esempio di input: install. NET

- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Output
Campo Descrizione Tipo
stdout Output standard dell'esecuzione dei comandi. string

Esempio di output

{ "stdout": "success" }

ExecuteDocument

Il modulo di ExecuteDocumentazione aggiunge il supporto per i documenti di componenti annidati, eseguendo più documenti componenti da un unico documento. AWSTOE convalida il documento passato nel parametro di input in fase di esecuzione.

Restrizioni
  • Questo modulo di azione viene eseguito una sola volta, senza possibilità di ripetere i tentativi e senza alcuna opzione per impostare limiti di timeout. ExecuteDocumentimposta i seguenti valori predefiniti e restituisce un errore se si tenta di modificarli.

    • timeoutSeconds: -1

    • maxAttempts: 1

    Nota

    È possibile lasciare vuoti questi valori e AWSTOE utilizzare i valori predefiniti.

  • L'annidamento dei documenti è consentito, fino a tre livelli di profondità, ma non di più. Tre livelli di nidificazione si traducono in quattro livelli di documento, poiché il livello superiore non è nidificato. In questo scenario, il documento di livello più basso non deve richiamare nessun altro documento.

  • L'esecuzione ciclica dei documenti dei componenti non è consentita. Qualsiasi documento che richiama se stesso al di fuori di un costrutto a ciclo continuo o che richiama un altro documento più in alto nella catena di esecuzione corrente avvia un ciclo che può generare un ciclo infinito. Quando AWSTOE rileva un'esecuzione ciclica, interrompe l'esecuzione e registra l'errore.

Restrizioni a livello di nidificazione per il modulo di azione ExecuteDocument .

Se un documento componente tenta di eseguirsi da solo o di eseguire uno dei documenti componenti che si trovano più in alto nella catena di esecuzione corrente, l'esecuzione fallisce.

Input

Nome chiave Descrizione Tipo Richiesto
document

Percorso del documento componente. Le opzioni valide includono:

  • Percorsi dei file locali

  • S3 URIs

  • EC2Versione di build del componente Image Builder ARNs

Stringa
document-s3-bucket-owner

L'ID dell'account del proprietario del bucket S3 per il bucket S3 in cui sono archiviati i documenti dei componenti. (Consigliato se utilizzi S3 URIs nel documento del componente.)

Stringa No
phases

Fasi da eseguire nel documento del componente, espresse come elenco separato da virgole. Se non viene specificata alcuna fase, vengono eseguite tutte le fasi.

Stringa No
parameters

Parametri di input che vengono passati al documento del componente in fase di esecuzione come coppie chiave-valore.

Elenco delle mappe dei parametri No

Inserimento della mappa dei parametri

Nome chiave Descrizione Tipo Richiesto
name

Il nome del parametro di input da passare al documento del componente che il modulo di ExecuteDocumentazione è in esecuzione.

Stringa
value

Il valore del parametro di input.

Stringa
Esempi di input

Gli esempi seguenti mostrano le variazioni degli input per il documento del componente, a seconda del percorso di installazione.

Esempio di input: percorso del documento locale

# 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

Esempio di input: S3 URI come percorso del documento

# 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

Esempio di input: componente EC2 Image Builder ARN come percorso del documento

# 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

Utilizzo di un ForEach ciclo per eseguire documenti

# 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

Utilizzo di un ciclo For per eseguire documenti

# 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 crea un file di output chiamato detailedoutput.json ogni volta che viene eseguito. Il file contiene dettagli su ogni fase e passaggio di ogni documento componente che viene richiamato durante l'esecuzione. Per il modulo ExecuteDocumentd'azione, è possibile trovare un breve riepilogo del runtime nel outputs campo e dettagli sulle fasi, i passaggi e i documenti in cui viene eseguito. detailedOutput

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

L'oggetto di riepilogo dell'output di ogni documento componente contiene i seguenti dettagli, come illustrato di seguito, con valori di esempio:

  • executedStepCount«:1

  • ««executionId:"12345a67-89bc-01de-2f34-abcd56789012"

  • failedStepCount«:0

  • "failureMessage":""

  • «ignoredFailedStepConta» :0

  • "logUrl":""

  • «status» :"successo»

Esempio di output

L'esempio seguente mostra l'output del modulo di ExecuteDocumentazione quando si verifica un'esecuzione annidata. In questo esempio, il documento main.yaml componente esegue correttamente il documento del Sample-1.yaml componente.

{ "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

Il modulo ExecutePowerShellaction consente di eseguire PowerShell script con codice/comandi di shell in linea. Questo modulo supporta la piattaforma Windows e Windows. PowerShell

Tutti i comandi/istruzioni specificati nel blocco dei comandi vengono convertiti in un file di script (ad esempioinput.ps1) ed eseguiti tramite Windows. PowerShell Il risultato dell'esecuzione del file shell è il codice di uscita.

Il ExecutePowerShellmodulo gestisce i riavvii del sistema se il comando shell esce con un codice di uscita di. 3010 Una volta avviata, l'applicazione esegue una delle seguenti azioni:

  • Fornisce il codice di uscita al chiamante se eseguito dal Systems Manager Agent. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.

  • Salva la versione correnteexecutionstate, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.

Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.

Input
Nome chiave Descrizione Tipo Richiesto
commands Contiene un elenco di istruzioni o comandi da eseguire secondo la sintassi. PowerShell YAMLÈ consentita la presenza di più righe. Elenco di stringhe

Sì. È necessario specificare commands o file non entrambi.

file Contiene il percorso di un file di PowerShell script. PowerShell verrà eseguito su questo file utilizzando l'argomento della riga di -file comando. Il percorso deve puntare a un .ps1 file. Stringa

Sì. È necessario specificare commands o file non entrambi.

Esempio di input: prima e dopo il riavvio

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
Campo Descrizione Tipo
stdout Output standard dell'esecuzione del comando. string

Se esegui un riavvio e restituisci il codice di uscita 3010 come parte del modulo di azione, la compilazione riprenderà dalla stessa fase del modulo di azione che ha avviato il riavvio. Se esegui un riavvio senza il codice di uscita, il processo di compilazione potrebbe non riuscire.

Esempio di output: prima del riavvio (prima lettura del documento)

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

Esempio di output: dopo il riavvio, (seconda volta nel documento)

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

Moduli per il download e il caricamento dei file

La sezione seguente contiene dettagli sui moduli di azione che caricano o scaricano file.

Scarica e carica i moduli d'azione

Scarica S3

Con il modulo di S3Download azione, puoi scaricare un oggetto Amazon S3, o un set di oggetti, in un file o una cartella locale che specifichi con il destination percorso. Se esiste già un file nella posizione specificata e il overwrite flag è impostato su true, S3Download sovrascrive il file.

La tua source posizione può puntare a un oggetto specifico in Amazon S3 oppure puoi utilizzare un prefisso chiave con un asterisco wildcard * () per scaricare un set di oggetti che corrispondono al percorso del prefisso chiave. Quando specificate un prefisso chiave nella vostra source posizione, il modulo di S3Download azione scarica tutto ciò che corrisponde al prefisso (file e cartelle inclusi). Assicurati che il prefisso della chiave termini con una barra, seguita da un asterisco (/*), in modo da scaricare tutto ciò che corrisponde al prefisso. Ad esempio: s3://my-bucket/my-folder/*.

Nota

Tutte le cartelle nel percorso di destinazione devono esistere prima del download, altrimenti il download avrà esito negativo.

Se l'S3Downloadazione per uno specifico key prefix fallisce durante un download, il contenuto della cartella non viene ripristinato allo stato precedente all'errore. La cartella di destinazione rimane com'era al momento dell'errore.

Casi di utilizzo supportati

Il modulo di S3Download azione supporta i seguenti casi d'uso:

  • L'oggetto Amazon S3 viene scaricato in una cartella locale, come specificato nel percorso di download.

  • Gli oggetti Amazon S3 (con un prefisso chiave nel percorso del file Amazon S3) vengono scaricati nella cartella locale specificata, che copia in modo ricorsivo tutti gli oggetti Amazon S3 che corrispondono al prefisso della chiave nella cartella locale.

IAMrequisiti

Il IAM ruolo associato al profilo dell'istanza deve disporre delle autorizzazioni per eseguire il modulo di S3Download azione. Le seguenti IAM politiche devono essere associate al IAM ruolo associato al profilo dell'istanza:

  • File singolo: s3:GetObject rispetto al bucket/oggetto (ad esempio,). arn:aws:s3:::BucketName/*

  • File multipli: s3:ListBucket contro il bucket/oggetto (ad esempio,arn:aws:s3:::BucketName) e s3:GetObject contro il bucket/oggetto (ad esempio,). arn:aws:s3:::BucketName/*

Input

Chiave

Descrizione

Tipo

Obbligatorio

Predefinita

source

Il bucket Amazon S3 che è la fonte per il download. Potete specificare un percorso per un oggetto specifico o utilizzare un prefisso chiave che termina con una barra, seguita da un asterisco wildcard (/*), per scaricare un set di oggetti che corrispondono al prefisso della chiave.

Stringa

N/D

destination

Il percorso locale in cui vengono scaricati gli oggetti Amazon S3. Per scaricare un singolo file, devi specificare il nome del file come parte del percorso. Ad esempio /myfolder/package.zip.

Stringa

N/D

expectedBucketOwner

ID dell'account proprietario previsto del bucket fornito nel source percorso. Ti consigliamo di verificare la proprietà del bucket Amazon S3 specificato nel codice sorgente.

Stringa

No

N/D

overwrite

Se impostato su true, se un file con lo stesso nome esiste già nella cartella di destinazione per il percorso locale specificato, il file scaricato sovrascrive il file locale. Se impostato su false, il file esistente nel sistema locale è protetto dalla sovrascrittura e il modulo di azione ha esito negativo e restituisce un errore di download.

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

Boolean

No

true

Nota

Per gli esempi seguenti, il percorso della cartella Windows può essere sostituito con un percorso Linux. Ad esempio, C:\myfolder\package.zip può essere sostituito con/myfolder/package.zip.

Esempio di input: copia un oggetto Amazon S3 in un file locale

L'esempio seguente mostra come copiare un oggetto Amazon S3 in un file locale.

- name: DownloadMyFile action: S3Download inputs: - source: s3://amzn-s3-demo-source-bucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: false - source: s3://amzn-s3-demo-source-bucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: true - source: s3://amzn-s3-demo-source-bucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022
Esempio di input: copia tutti gli oggetti Amazon S3 in un bucket Amazon S3 con prefisso chiave in una cartella locale

L'esempio seguente mostra come copiare tutti gli oggetti Amazon S3 in un bucket Amazon S3 con il prefisso chiave in una cartella locale. Amazon S3 non ha il concetto di cartella, pertanto tutti gli oggetti che corrispondono al prefisso del key vengono copiati. Il numero massimo di oggetti che possono essere scaricati è 1000.

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

Nessuna.

Caricamento S3

Con il modulo di azione S3Upload, puoi caricare un file da un file o una cartella di origine in una posizione Amazon S3. Puoi utilizzare un carattere jolly (*) nel percorso specificato per la posizione di origine per caricare tutti i file il cui percorso corrisponde al modello dei caratteri jolly.

Se l'azione ricorsiva S3Upload fallisce, tutti i file che sono già stati caricati rimarranno nel bucket Amazon S3 di destinazione.

Casi di utilizzo supportati
  • File locale su oggetto Amazon S3.

  • File locali nella cartella (con wildcard) nel prefisso chiave di Amazon S3.

  • Copia la cartella locale (deve essere recurse impostata sutrue) nel prefisso chiave di Amazon S3.

IAMrequisiti

Il IAM ruolo associato al profilo dell'istanza deve disporre delle autorizzazioni per eseguire il modulo di S3Upload azione. La seguente IAM politica deve essere associata al IAM ruolo associato al profilo dell'istanza. La policy deve concedere s3:PutObject le autorizzazioni al bucket Amazon S3 di destinazione. Ad esempio, arn:aws:s3:::BucketName/*.

Input

Chiave

Descrizione

Tipo

Obbligatorio

Predefinita

source

Il percorso locale da cui provengono i file/le cartelle di origine. sourceSupporta un asterisco wildcard (). *

Stringa

N/D

destination

Il percorso del bucket Amazon S3 di destinazione in cui vengono caricati i file/le cartelle di origine.

Stringa

N/D

recurse

Se impostato su, esegue S3Upload in modo true ricorsivo.

Stringa

No

false

expectedBucketOwner

L'ID dell'account proprietario previsto per il bucket Amazon S3 specificato nel percorso di destinazione. Ti consigliamo di verificare la proprietà del bucket Amazon S3 specificato nella destinazione.

Stringa

No

N/D

Esempio di input: copia un file locale su un oggetto Amazon S3

L'esempio seguente mostra come copiare un file locale su un oggetto Amazon S3.

- name: MyS3UploadFile action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\package.zip destination: s3://amzn-s3-demo-destination-bucket/path/to/package.zip expectedBucketOwner: 123456789022
Esempio di input: copia tutti i file in una cartella locale in un bucket Amazon S3 con prefisso chiave

L'esempio seguente mostra come copiare tutti i file nella cartella locale in un bucket Amazon S3 con key prefix. Questo esempio non copia le sottocartelle o il loro contenuto perché non recurse è specificato e l'impostazione predefinita è. false

- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\* destination: s3://amzn-s3-demo-destination-bucket/path/to/ expectedBucketOwner: 123456789022
Esempio di input: copia ricorsivamente tutti i file e le cartelle da una cartella locale a un bucket Amazon S3

L'esempio seguente mostra come copiare tutti i file e le cartelle in modo ricorsivo da una cartella locale a un bucket Amazon S3 con prefisso chiave.

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

Nessuna.

WebDownload

Il modulo di WebDownloadazione consente di scaricare file e risorse da una postazione remota tramite il HTTPS protocolloHTTP/(consigliato). HTTPS Non ci sono limiti al numero o alla dimensione dei download. Questo modulo gestisce la logica dei tentativi e del backoff esponenziale.

A ogni operazione di download vengono assegnati un massimo di 5 tentativi di successo in base agli input dell'utente. Questi tentativi sono diversi da quelli specificati nel maxAttempts campo del documentosteps, che sono correlati agli errori del modulo di azione.

Questo modulo di azione gestisce implicitamente i reindirizzamenti. Tutti i codici di HTTP stato, ad eccezione di200, generano un errore.

Input
Nome chiave Descrizione Tipo Obbligatorio Predefinita
source Il valore validoHTTP/HTTPSURL(HTTPSè consigliato), che segue lo standard RFC 3986. Le espressioni concatenate sono consentite. Stringa

N/D
destination Un percorso di file o cartella assoluto o relativo nel sistema locale. I percorsi delle cartelle devono terminare con/. Se non terminano con/, verranno trattati come percorsi di file. Il modulo crea qualsiasi file o cartella necessario per il corretto download. Le espressioni concatenate sono consentite. Stringa N/D
overwrite Se abilitata, sovrascrive tutti i file esistenti sul sistema locale con il file o la risorsa scaricati. Se non è abilitata, i file esistenti sul sistema locale non vengono sovrascritti e il modulo di azione si interrompe e restituisce un errore. Quando la sovrascrittura è abilitata e vengono specificati il checksum e l'algoritmo, il modulo di azione scarica il file solo se il checksum e l'hash dei file preesistenti non corrispondono. Boolean No true
checksum Quando si specifica il checksum, questo viene confrontato con l'hash del file scaricato generato con l'algoritmo fornito. Affinché la verifica dei file sia abilitata, è necessario fornire sia il checksum che l'algoritmo. Le espressioni concatenate sono consentite. Stringa No N/D
algorithm L'algoritmo utilizzato per calcolare il checksum. Le opzioni sonoMD5, SHA1SHA256, eSHA512. Per abilitare la verifica dei file, è necessario fornire sia il checksum che l'algoritmo. Le espressioni concatenate sono consentite. Stringa No N/D
ignoreCertificateErrors SSLla convalida del certificato viene ignorata quando è abilitata. Boolean No false
Output
Nome chiave Descrizione Tipo
destination Stringa di nuova riga delimitata da caratteri che specifica il percorso di destinazione in cui sono archiviati i file o le risorse scaricati. Stringa

Esempio di input: scarica il file remoto nella destinazione locale

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

Output:

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

Esempio di input: scaricare più di un file remoto su più di una destinazione locale

- 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/

Output:

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

Esempio di input: scarica un file remoto senza sovrascrivere la destinazione locale e scarica un altro file remoto con la verifica del file

- 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

Output:

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

Esempio di input: scarica il file remoto e ignora la convalida SSL della certificazione

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

Output:

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

Moduli operativi del file system

La sezione seguente contiene dettagli sui moduli di azione che eseguono operazioni sul file system.

AppendFile

Il modulo di AppendFileazione aggiunge il contenuto specificato al contenuto preesistente di un file.

Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding Per impostazione predefinita, utf-16 si presume che utilizzino la utf-32 codifica little-endian.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Il file specificato non esiste in fase di esecuzione.

  • Non disponi delle autorizzazioni di scrittura per modificare il contenuto del file.

  • Il modulo rileva un errore durante l'operazione sul file.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D
content Il contenuto da aggiungere al file. Stringa No Stringa vuota N/D
encoding Lo standard di codifica. Stringa No utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LE utf16-BEutf-16-BE,utf32,utf-32,utf32-LE, utf-32-LEutf32-BE, e utf-32-BE. Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole.

Esempio di input: aggiungi file senza codifica (Linux)

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

Esempio di input: aggiungi file senza codifica (Windows)

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

Esempio di input: aggiungi file con codifica (Linux)

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

Esempio di input: aggiungi file con codifica (Windows)

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

Esempio di input: aggiungi un file con una stringa vuota (Linux)

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

Esempio di input: aggiungi un file con una stringa vuota (Windows)

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

Nessuna.

CopyFile

Il modulo di CopyFileazione copia i file dall'origine specificata alla destinazione specificata. Per impostazione predefinita, il modulo crea in modo ricorsivo la cartella di destinazione se non esiste in fase di esecuzione.

Se un file con il nome specificato esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false Questa opzione funziona come il cp comando in Linux, che per impostazione predefinita sovrascrive.

Il nome del file sorgente può includere un wildcard ()*. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/o). \ Se nel nome del file di origine sono inclusi caratteri jolly, tutti i file che corrispondono ai caratteri jolly vengono copiati nella cartella di destinazione. Se desiderate spostare più di un file utilizzando un carattere jolly, l'input dell'destinationopzione deve terminare con un separatore del percorso del file (/o\), che indica che l'input di destinazione è una cartella.

Se il nome del file di destinazione è diverso dal nome del file di origine, è possibile specificare il nome del file di destinazione utilizzando l'destinationopzione. Se non si specifica un nome di file di destinazione, il nome del file di origine viene utilizzato per creare il file di destinazione. Qualsiasi testo che segue il separatore (/o\) dell'ultimo percorso del file viene considerato come nome del file. Se si desidera utilizzare lo stesso nome di file del file di origine, l'input dell'destinationopzione deve terminare con un separatore di percorso del file (/o\).

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare un file nella cartella specificata.

  • I file di origine non esistono in fase di esecuzione.

  • Esiste già una cartella con il nome di file specificato e l'overwriteopzione è impostata sufalse.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
source Il percorso del file sorgente. Stringa N/D N/D
destination Il percorso del file di destinazione. Stringa N/D N/D
overwrite Se impostato su false, i file di destinazione non verranno sostituiti quando nella posizione specificata è già presente un file con il nome specificato. Boolean No true N/D

Esempio di input: copia un file (Linux)

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

Esempio di input: copiare un file (Windows)

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

Esempio di input: copia un file usando il nome del file sorgente (Linux)

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

Esempio di input: copiare un file utilizzando il nome del file sorgente (Windows)

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

Esempio di input: copia un file usando il carattere jolly (Linux)

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

Esempio di input: copia un file usando il carattere jolly (Windows)

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

Esempio di input: copiare un file senza sovrascriverlo (Linux)

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

Esempio di input: copiare un file senza sovrascriverlo (Windows)

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

Nessuna.

CopyFolder

Il modulo di CopyFolderazione copia una cartella dall'origine specificata alla destinazione specificata. L'input per l'sourceopzione è la cartella da copiare e l'input per l'destinationopzione è la cartella in cui viene copiato il contenuto della cartella di origine. Per impostazione predefinita, il modulo crea in modo ricorsivo la cartella di destinazione se non esiste in fase di esecuzione.

Se una cartella con il nome specificato esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false

Il nome della cartella di origine può includere un carattere jolly ()*. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/o). \ Se nel nome della cartella di origine sono inclusi caratteri jolly, tutte le cartelle che corrispondono al carattere jolly vengono copiate nella cartella di destinazione. Se desiderate copiare più di una cartella utilizzando un carattere jolly, l'input dell'destinationopzione deve terminare con un separatore del percorso del file (/o\), che indica che l'input di destinazione è una cartella.

Se il nome della cartella di destinazione è diverso dal nome della cartella di origine, è possibile specificare il nome della cartella di destinazione utilizzando l'destinationopzione. Se non si specifica un nome per la cartella di destinazione, per creare la cartella di destinazione viene utilizzato il nome della cartella di origine. Qualsiasi testo che segue il separatore (/o\) dell'ultimo percorso del file viene considerato come nome della cartella. Se si desidera utilizzare lo stesso nome di cartella della cartella di origine, l'immissione dell'destinationopzione deve terminare con un separatore del percorso del file (/o\).

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare una cartella nella cartella specificata.

  • Le cartelle di origine non esistono in fase di esecuzione.

  • Esiste già una cartella con il nome specificato e l'overwriteopzione è impostata sufalse.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
source Il percorso della cartella di origine. Stringa N/D N/D
destination Il percorso della cartella di destinazione. Stringa N/D N/D
overwrite Se impostato su false, le cartelle di destinazione non verranno sostituite se nella posizione specificata è già presente una cartella con il nome specificato. Boolean No true N/D

Esempio di input: copia una cartella (Linux)

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

Esempio di input: copiare una cartella (Windows)

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

Esempio di input: copia una cartella usando il nome della cartella di origine (Linux)

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

Esempio di input: copia una cartella usando il nome della cartella di origine (Windows)

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

Esempio di input: copia una cartella usando il carattere jolly (Linux)

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

Esempio di input: copia una cartella usando il carattere jolly (Windows)

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

Esempio di input: copia una cartella senza sovrascriverla (Linux)

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

Esempio di input: copiare una cartella senza sovrascriverla (Windows)

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

Nessuna.

CreateFile

Il modulo di CreateFileazione crea un file in una posizione specificata. Per impostazione predefinita, se necessario, il modulo crea anche in modo ricorsivo le cartelle principali.

Se il file esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, tronca o sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false

Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding Per impostazione predefinita, utf-16 si presume che utilizzino la utf-32 codifica little-endian.

owner, e sono ingressi group opzionali. permissions L'input per permissions deve essere un valore di stringa. I file vengono creati con valori predefiniti quando non vengono forniti. Queste opzioni non sono supportate sulle piattaforme Windows. Questo modulo di azione convalida e restituisce un errore se le permissions opzioni ownergroup, e vengono utilizzate sulle piattaforme Windows.

Questo modulo di azione può creare un file con autorizzazioni definite dal umask valore predefinito del sistema operativo. È necessario impostare il umask valore se si desidera sovrascrivere il valore predefinito.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare un file o una cartella nella cartella principale specificata.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D
content Il contenuto testuale del file. Stringa No N/D N/D
encoding Lo standard di codifica. Stringa No utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LE utf16-BEutf-16-BE,utf32,utf-32,utf32-LE, utf-32-LEutf32-BE, e utf-32-BE. Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole.
owner Il nome utente o l'ID. Stringa No N/D N/D Non supportato su Windows.
group Il nome o l'ID del gruppo. Stringa No L'utente corrente. N/D Non supportato su Windows.
permissions Le autorizzazioni relative ai file. Stringa No 0666 N/D Non supportato su Windows.
overwrite Se il nome del file specificato esiste già, impostando questo valore per false evitare che il file venga troncato o sovrascritto per impostazione predefinita. Boolean No true N/D

Esempio di input: crea un file senza sovrascrivere (Linux)

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

Esempio di input: crea un file senza sovrascrivere (Windows)

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

Esempio di input: creare un file con le proprietà del file

- 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

Esempio di input: creare un file senza proprietà del file

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

Esempio di input: crea un file vuoto per saltare una sezione dello script di pulizia di Linux

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

Per ulteriori informazioni, consulta Sostituisci lo script di pulizia di Linux

Output

Nessuna.

CreateFolder

Il modulo di CreateFolderazione crea una cartella in una posizione specificata. Per impostazione predefinita, se necessario, il modulo crea anche in modo ricorsivo le cartelle principali.

Se la cartella esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, tronca o sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false

ownergroup, e permissions sono input opzionali. L'input per permissions deve essere un valore di stringa. Queste opzioni non sono supportate sulle piattaforme Windows. Questo modulo di azione convalida e restituisce un errore se le permissions opzioni ownergroup, e vengono utilizzate sulle piattaforme Windows.

Questo modulo di azione può creare una cartella con autorizzazioni definite dal umask valore predefinito del sistema operativo. È necessario impostare il umask valore se si desidera sovrascrivere il valore predefinito.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare una cartella nella posizione specificata.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso della cartella. Stringa N/D N/D
owner Il nome utente o l'ID. Stringa No L'utente corrente. N/D Non supportato su Windows.
group Il nome o l'ID del gruppo. Stringa No Il gruppo dell'utente corrente. N/D Non supportato su Windows.
permissions Le autorizzazioni della cartella. Stringa No 0777 N/D Non supportato su Windows.
overwrite Se il nome del file specificato esiste già, impostando questo valore per false evitare che il file venga troncato o sovrascritto per impostazione predefinita. Boolean No true N/D

Esempio di input: creare una cartella (Linux)

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

Esempio di input: creare una cartella (Windows)

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

Esempio di input: creare una cartella specificando le proprietà della cartella

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

Esempio di input: crea una cartella che sovrascriva la cartella esistente, se presente.

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

Nessuna.

Il modulo di CreateSymlinkazione crea collegamenti simbolici o file che contengono un riferimento a un altro file. Questo modulo non è supportato sulle piattaforme Windows.

L'input per le target opzioni path and può essere un percorso assoluto o relativo. Se l'input per l'pathopzione è un percorso relativo, viene sostituito con il percorso assoluto al momento della creazione del collegamento.

Per impostazione predefinita, quando un link con il nome specificato esiste già nella cartella specificata, il modulo di azione restituisce un errore. È possibile ignorare questo comportamento predefinito impostando l'forceopzione sutrue. Quando l'forceopzione è impostata sutrue, il modulo sovrascriverà il link esistente.

Se non esiste una cartella principale, il modulo di azione crea la cartella in modo ricorsivo, per impostazione predefinita.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Il file di destinazione non esiste in fase di esecuzione.

  • Esiste già un file di collegamento non simbolico con il nome specificato.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D Non supportato su Windows.
target Il percorso del file di destinazione a cui punta il link simbolico. Stringa N/D N/D Non supportato in Windows.
force Forza la creazione di un collegamento quando esiste già un collegamento con lo stesso nome. Boolean No false N/D Non supportato in Windows.

Esempio di input: crea un link simbolico che forza la creazione di un link

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

Esempio di input: crea un link simbolico che non imponga la creazione di un link

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

Nessuna.

DeleteFile

Il modulo di DeleteFileazione elimina uno o più file in una posizione specificata.

L'input di path deve essere un percorso di file valido o un percorso di file con un carattere wild card (*) nel nome del file. Quando nel nome del file vengono specificati caratteri jolly, tutti i file all'interno della stessa cartella che corrispondono al carattere jolly verranno eliminati.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire operazioni di eliminazione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D

Esempio di input: eliminare un singolo file (Linux)

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

Esempio di input: eliminare un singolo file (Windows)

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

Esempio di input: elimina un file che termina con «log» (Linux)

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

Esempio di input: eliminare un file che termina con «log» (Windows)

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

Esempio di input: elimina tutti i file in una cartella specificata (Linux)

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

Esempio di input: elimina tutti i file in una cartella specificata (Windows)

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

Nessuna.

DeleteFolder

Il modulo di DeleteFolderazione elimina le cartelle.

Se la cartella non è vuota, è necessario impostare l'forceopzione per true rimuovere la cartella e il suo contenuto. Se non si imposta l'forceopzione su e la cartella che si sta tentando di eliminare non è vuota, il modulo di azione restituisce un errore. true Il valore predefinito dell'forceopzione èfalse.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire operazioni di eliminazione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso della cartella. Stringa N/D N/D
force Rimuove la cartella indipendentemente dal fatto che sia vuota o meno. Boolean No false N/D

Esempio di input: elimina una cartella che non è vuota usando l'forceopzione (Linux)

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

Esempio di input: elimina una cartella che non è vuota usando l'forceopzione (Windows)

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

Esempio di input: eliminare una cartella (Linux)

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

Esempio di input: eliminare una cartella (Windows)

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

Nessuna.

ListFiles

Il modulo di ListFilesazione elenca i file in una cartella specificata. Quando l'opzione ricorsiva è impostata sutrue, elenca i file nelle sottocartelle. Per impostazione predefinita, questo modulo non elenca i file nelle sottocartelle.

Per elencare tutti i file con nomi che corrispondono a uno schema specificato, utilizzate l'fileNamePatternopzione per fornire il modello. L'fileNamePatternopzione accetta il valore wildcard (*). Quando fileNamePattern viene fornito, vengono restituiti tutti i file che corrispondono al formato del nome file specificato.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • La cartella specificata non esiste in fase di esecuzione.

  • Non sei autorizzato a creare un file o una cartella nella cartella principale specificata.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso della cartella. Stringa N/D N/D
fileNamePattern Lo schema a cui abbinare elenca tutti i file con nomi che corrispondono al modello. Stringa No N/D N/D
recursive Elenca i file nella cartella in modo ricorsivo. Boolean No false N/D

Esempio di input: elenca i file nella cartella specificata (Linux)

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

Esempio di input: elenca i file nella cartella specificata (Windows)

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

Esempio di input: elenca i file che terminano con «log» (Linux)

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

Esempio di input: elenca i file che terminano con «log» (Windows)

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

Esempio di input: elenca i file in modo ricorsivo

- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Output
Nome chiave Descrizione Tipo
files L'elenco dei file. Stringa

Esempio di output

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

MoveFile

Il modulo di MoveFileazione sposta i file dall'origine specificata alla destinazione specificata.

Se il file esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false Questa opzione funziona come il mv comando in Linux, che per impostazione predefinita sovrascrive.

Il nome del file sorgente può includere un wildcard ()*. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/o). \ Se nel nome del file di origine sono inclusi caratteri jolly, tutti i file che corrispondono ai caratteri jolly vengono copiati nella cartella di destinazione. Se desiderate spostare più di un file utilizzando un carattere jolly, l'input dell'destinationopzione deve terminare con un separatore del percorso del file (/o\), che indica che l'input di destinazione è una cartella.

Se il nome del file di destinazione è diverso dal nome del file di origine, è possibile specificare il nome del file di destinazione utilizzando l'destinationopzione. Se non si specifica un nome di file di destinazione, il nome del file di origine viene utilizzato per creare il file di destinazione. Qualsiasi testo che segue il separatore (/o\) dell'ultimo percorso del file viene considerato come nome del file. Se si desidera utilizzare lo stesso nome di file del file di origine, l'input dell'destinationopzione deve terminare con un separatore di percorso del file (/o\).

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare un file nella cartella specificata.

  • I file di origine non esistono in fase di esecuzione.

  • Esiste già una cartella con il nome di file specificato e l'overwriteopzione è impostata sufalse.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
source Il percorso del file sorgente. Stringa N/D N/D
destination Il percorso del file di destinazione. Stringa N/D N/D
overwrite Se impostato su false, i file di destinazione non verranno sostituiti quando nella posizione specificata è già presente un file con il nome specificato. Boolean No true N/D

Esempio di input: sposta un file (Linux)

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

Esempio di input: sposta un file (Windows)

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

Esempio di input: sposta un file usando il nome del file sorgente (Linux)

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

Esempio di input: sposta un file usando il nome del file sorgente (Windows)

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

Esempio di input: sposta un file usando un carattere jolly (Linux)

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

Esempio di input: sposta un file usando un carattere jolly (Windows)

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

Esempio di input: sposta un file senza sovrascriverlo (Linux)

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

Esempio di input: sposta un file senza sovrascriverlo (Windows)

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

Nessuna.

MoveFolder

Il modulo di MoveFolderazione sposta le cartelle dall'origine specificata alla destinazione specificata. L'input dell'sourceopzione è la cartella da spostare e l'input dell'destinationopzione è la cartella in cui viene spostato il contenuto delle cartelle di origine.

Se la cartella principale di destinazione o l'input dell'destinationopzione non esiste in fase di esecuzione, il comportamento predefinito del modulo consiste nel creare ricorsivamente la cartella nella destinazione specificata.

Se una cartella con la stessa cartella di origine esiste già nella cartella di destinazione, il modulo di azione, per impostazione predefinita, sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false

Il nome della cartella di origine può includere un carattere jolly ()*. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/o). \ Se nel nome della cartella di origine sono inclusi caratteri jolly, tutte le cartelle che corrispondono al carattere jolly vengono copiate nella cartella di destinazione. Se desiderate spostare più di una cartella utilizzando un carattere jolly, l'input dell'destinationopzione deve terminare con un separatore del percorso del file (/o\), che indica che l'input di destinazione è una cartella.

Se il nome della cartella di destinazione è diverso dal nome della cartella di origine, è possibile specificare il nome della cartella di destinazione utilizzando l'destinationopzione. Se non si specifica un nome per la cartella di destinazione, per creare la cartella di destinazione viene utilizzato il nome della cartella di origine. Qualsiasi testo che segue il separatore (/o\) dell'ultimo percorso del file viene considerato come nome della cartella. Se si desidera utilizzare lo stesso nome di cartella della cartella di origine, l'immissione dell'destinationopzione deve terminare con un separatore del percorso del file (/o\).

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a creare una cartella nella cartella di destinazione.

  • Le cartelle di origine non esistono in fase di esecuzione.

  • Esiste già una cartella con il nome specificato e l'overwriteopzione è impostata sufalse.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
source Il percorso della cartella di origine. Stringa N/D N/D
destination Il percorso della cartella di destinazione. Stringa N/D N/D
overwrite Se impostato su false, le cartelle di destinazione non verranno sostituite se nella posizione specificata è già presente una cartella con il nome specificato. Boolean No true N/D

Esempio di input: sposta una cartella (Linux)

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

Esempio di input: sposta una cartella (Windows)

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

Esempio di input: sposta una cartella usando il nome della cartella di origine (Linux)

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

Esempio di input: sposta una cartella usando il nome della cartella di origine (Windows)

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

Esempio di input: sposta una cartella usando un carattere jolly (Linux)

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

Esempio di input: sposta una cartella usando un carattere jolly (Windows)

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

Esempio di input: sposta una cartella senza sovrascriverla (Linux)

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

Esempio di input: sposta una cartella senza sovrascriverla (Windows)

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

Nessuna.

ReadFile

Il modulo di ReadFileazione legge il contenuto di un file di testo di tipo stringa. Questo modulo può essere utilizzato per leggere il contenuto di un file da utilizzare nei passaggi successivi tramite concatenamento o per leggere i dati nel console.log file. Se il percorso specificato è un collegamento simbolico, questo modulo restituisce il contenuto del file di destinazione. Questo modulo supporta solo file di testo.

Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding Per impostazione predefinita, utf-16 si presume che utilizzino la utf-32 codifica little-endian.

Per impostazione predefinita, questo modulo non può stampare il contenuto del file sul file. console.log È possibile ignorare questa impostazione impostando la printFileContent proprietà sutrue.

Questo modulo può restituire solo il contenuto di un file. Non può analizzare file, come Excel o JSON file.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Il file non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D
encoding Lo standard di codifica. Stringa No utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LE utf16-BEutf-16-BE,utf32,utf-32,utf32-LE, utf-32-LEutf32-BE, e utf-32-BE. Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole.
printFileContent Stampa il contenuto del file sul file. console.log Boolean No false N/D Sì.

Esempio di input: lettura di un file (Linux)

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

Esempio di input: leggere un file (Windows)

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

Esempio di input: leggere un file e specificare lo standard di codifica

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

Esempio di input: leggere un file e stampare sul console.log file

- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Output
Campo Descrizione Tipo
content Il contenuto del file. string

Esempio di output

{ "content" : "The file content" }

SetFileEncoding

Il modulo di SetFileEncodingazione modifica la proprietà di codifica di un file esistente. Questo modulo può convertire la codifica dei file da uno standard utf-8 di codifica specificato. Per impostazione predefinita, utf-16 si presume che sia una codifica little-endian. utf-32

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire la modifica specificata.

  • Il file non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D
encoding Lo standard di codifica. Stringa No utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LE utf16-BEutf-16-BE,utf32,utf-32,utf32-LE, utf-32-LEutf32-BE, e utf-32-BE. Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole.

Esempio di input: imposta la proprietà di codifica del file

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

Nessuna.

SetFileOwner

Il modulo di SetFileOwnerazione modifica le proprietà owner e il group proprietario di un file esistente. Se il file specificato è un collegamento simbolico, il modulo modifica la owner proprietà del file sorgente. Questo modulo non è supportato sulle piattaforme Windows.

Questo modulo accetta nomi di utenti e gruppi come input. Se il nome del gruppo non viene fornito, il modulo assegna il proprietario del gruppo del file al gruppo a cui appartiene l'utente.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire la modifica specificata.

  • Il nome utente o gruppo specificato non esiste in fase di esecuzione.

  • Il file non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D Non supportato su Windows.
owner Il nome utente. string N/D N/D Non supportato su Windows.
group Il nome del gruppo di utenti. Stringa No Il nome del gruppo a cui appartiene l'utente. N/D Non supportato su Windows.

Esempio di input: imposta la proprietà del proprietario del file senza specificare il nome del gruppo di utenti

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

Esempio di input: imposta la proprietà del proprietario del file specificando il proprietario e il gruppo di utenti

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

Nessuna.

SetFolderOwner

Il modulo di SetFolderOwnerazione modifica in modo ricorsivo le proprietà owner e il group proprietario di una cartella esistente. Per impostazione predefinita, il modulo può modificare la proprietà di tutti i contenuti di una cartella. È possibile impostare l'recursiveopzione per false ignorare questo comportamento. Questo modulo non è supportato sulle piattaforme Windows.

Questo modulo accetta nomi di utenti e gruppi come input. Se il nome del gruppo non viene fornito, il modulo assegna il proprietario del gruppo del file al gruppo a cui appartiene l'utente.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire la modifica specificata.

  • Il nome utente o gruppo specificato non esiste in fase di esecuzione.

  • La cartella non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso della cartella. Stringa N/D N/D Non supportato su Windows.
owner Il nome utente. string N/D N/D Non supportato su Windows.
group Il nome del gruppo di utenti. Stringa No Il nome del gruppo a cui appartiene l'utente. N/D Non supportato su Windows.
recursive Sostituisce il comportamento predefinito di modifica della proprietà di tutto il contenuto di una cartella quando è impostato su. false Boolean No true N/D Non supportato in Windows.

Esempio di input: imposta la proprietà del proprietario della cartella senza specificare il nome del gruppo di utenti

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

Esempio di input: imposta la proprietà del proprietario della cartella senza sovrascrivere la proprietà di tutti i contenuti di una cartella

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

Esempio di input: imposta la proprietà di proprietà del file specificando il nome del gruppo di utenti

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

Nessuna.

SetFilePermissions

Il modulo di SetFilePermissionsazione modifica un permissions file esistente. Questo modulo non è supportato sulle piattaforme Windows.

L'input per permissions deve essere un valore di stringa.

Questo modulo di azione può creare un file con i permessi definiti dal valore umask predefinito del sistema operativo. È necessario impostare il umask valore se si desidera sovrascrivere il valore predefinito.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire la modifica specificata.

  • Il file non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso del file. Stringa N/D N/D Non supportato su Windows.
permissions Le autorizzazioni relative ai file. Stringa N/D N/D Non supportato su Windows.

Esempio di input: modifica delle autorizzazioni dei file

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

Nessuna.

SetFolderPermissions

Il modulo di SetFolderPermissionsazione modifica ricorsivamente una cartella esistente e tutti i permissions relativi sottofile e sottocartelle. Per impostazione predefinita, questo modulo può modificare le autorizzazioni per tutti i contenuti della cartella specificata. È possibile impostare l'recursiveopzione per false ignorare questo comportamento. Questo modulo non è supportato sulle piattaforme Windows.

L'input per permissions deve essere un valore di stringa.

Questo modulo di azione può modificare le autorizzazioni in base al valore umask predefinito del sistema operativo. È necessario impostare il umask valore se si desidera sovrascrivere il valore predefinito.

Il modulo di azione restituisce un errore quando si verifica quanto segue:

  • Non sei autorizzato a eseguire la modifica specificata.

  • La cartella non esiste in fase di esecuzione.

  • Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili Supportato su tutte le piattaforme
path Il percorso della cartella. Stringa N/D N/D Non supportato su Windows.
permissions Le autorizzazioni della cartella. Stringa N/D N/D Non supportato su Windows.
recursive Sostituisce il comportamento predefinito di modifica delle autorizzazioni per tutto il contenuto di una cartella quando è impostato su. false Boolean No true N/D Non supportato in Windows.

Esempio di input: imposta le autorizzazioni per le cartelle

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

Esempio di input: imposta le autorizzazioni per le cartelle senza modificare le autorizzazioni per tutto il contenuto di una cartella

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

Nessuna.

Azioni di installazione del software

La sezione seguente descrive i moduli di azione che installano o disinstallano il software.

IAMrequisiti

Se il percorso di download dell'installazione è un S3URI, il IAM ruolo associato al profilo dell'istanza deve disporre dell'autorizzazione per eseguire il modulo di S3Download azione. Per concedere l'autorizzazione richiesta, collega la S3:GetObject IAM policy al IAM ruolo associato al profilo dell'istanza e specifica il percorso del bucket. Ad esempio, arn:aws:s3:::BucketName/*.

Ingressi complessi MSI

Se le stringhe di input contengono virgolette doppie ("), è necessario utilizzare uno dei seguenti metodi per garantire che vengano interpretate correttamente:

  • È possibile utilizzare virgolette singole (') all'esterno della stringa, per contenerla, e virgolette doppie («) all'interno della stringa, come illustrato nell'esempio seguente.

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

    In questo caso, se devi usare un apostrofo all'interno della tua stringa, devi evitarlo. Ciò significa usare un'altra virgoletta singola (') prima dell'apostrofo.

  • Puoi usare le virgolette doppie («) all'esterno della stringa per contenerla. E puoi evitare le virgolette doppie all'interno della stringa, usando il carattere barra rovesciata (\), come mostrato nell'esempio seguente.

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

Entrambi questi metodi passano il valore COMPANYNAME="Acme ""Widgets"" and ""Gizmos.""" al msiexec comando.

Moduli di azione per l'installazione del software

Installa MSI

Il modulo di InstallMSI azione installa un'applicazione Windows utilizzando un MSI file. È possibile specificare il MSI file utilizzando un percorso locale, un oggetto URI S3 o un Web. URL L'opzione di riavvio configura il comportamento di riavvio del sistema.

AWSTOE genera il msiexec comando in base ai parametri di input per il modulo di azione. I valori per i parametri di input path (posizione MSI del file) e logFile (posizione del file di registro) devono essere racchiusi tra virgolette («).

I seguenti codici di MSI uscita sono considerati corretti:

  • 0 (Successo)

  • 1614 (ERROR_ PRODUCT _UNINSTALLED)

  • 1641 (riavvio avviato)

  • 3010 (riavvio richiesto)

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili
path

Specificate la posizione MSI del file utilizzando uno dei seguenti metodi:

  • Il percorso del file locale. Il percorso può essere assoluto o relativo

  • Un oggetto URI S3 valido.

  • Un sito webHTTP/valido HTTPS URL (HTTPSconsigliato) che segua lo standard RFC 3986.

Le espressioni concatenate sono consentite.

Stringa N/D N/D
reboot

Configura il comportamento di riavvio del sistema dopo l'esecuzione corretta del modulo di azione.

Impostazioni:
  • Force— Avvia il riavvio del sistema dopo la corretta esecuzione del msiexec comando.

  • Allow— Avvia un riavvio del sistema se il msiexec comando restituisce un codice di uscita che indica che è necessario riavviare il sistema.

  • Skip— Registra un messaggio informativo nel console.log file che indica che il riavvio è stato saltato. Questa opzione impedisce il riavvio, anche se il msiexec comando restituisce un codice di uscita che indica che è necessario un riavvio.

Stringa No Allow Allow, Force, Skip
logOptions

Specificate le opzioni da utilizzare per la registrazione MSI dell'installazione. I flag specificati vengono passati all'MSIinstallatore, insieme al parametro della riga di /L comando per abilitare la registrazione. Se non viene specificato alcun flag, AWSTOE utilizza il valore predefinito.

Per ulteriori informazioni sulle opzioni di registro perMSI, vedere Opzioni della riga di comando nella documentazione del prodotto Microsoft Windows Installer.

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

Un percorso assoluto o relativo alla posizione del file di registro. Se il percorso del file di registro non esiste, viene creato. Se il percorso del file di registro non viene fornito, AWSTOE non memorizza il registro di MSI installazione.

Stringa No N/D N/D
properties

MSIregistrazione delle coppie chiave-valore delle proprietà, ad esempio: TARGETDIR: "C:\target\location"

 

Nota: non è consentita la modifica delle seguenti proprietà:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Mappa [Stringa] Stringa No N/D N/D
ignoreAuthenticodeSignatureErrors

Contrassegna per ignorare gli errori di convalida della firma authenticode per l'installatore specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori.

Impostazioni:
  • true— Gli errori di convalida vengono ignorati e il programma di installazione viene eseguito.

  • false— Gli errori di convalida non vengono ignorati. Il programma di installazione viene eseguito solo quando la convalida ha esito positivo. Questo è il comportamento che segue di default.

Boolean No false true, false
allowUnsignedInstaller

Contrassegno per consentire l'esecuzione del programma di installazione non firmato specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori.

Impostazioni:
  • true— Ignora lo NotSigned stato restituito dal Get-AuthenticodeSignature comando ed esegue il programma di installazione.

  • false— Richiede la firma del programma di installazione. Gli installatori non firmati non verranno eseguiti. Questo è il comportamento che segue di default.

Boolean No false true, false
Esempi

Gli esempi seguenti mostrano le variazioni della sezione di input per il documento del componente, a seconda del percorso di installazione.

Esempio di input: installazione del percorso del documento locale

- 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

Esempio di input: installazione del percorso Amazon S3

- 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

Esempio di input: installazione di un percorso web

- 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

Di seguito è riportato un esempio dell'output del modulo di InstallMSI azione.

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

Disinstalla MSI

Il modulo di UninstallMSI azione consente di rimuovere un'applicazione Windows utilizzando un MSI file. È possibile specificare la posizione del MSI file utilizzando un percorso di file locale, un oggetto URI S3 o un WebURL. L'opzione di riavvio configura il comportamento di riavvio del sistema.

AWSTOE genera il msiexec comando in base ai parametri di input per il modulo di azione. La posizione del MSI file (path) e la posizione del file di registro (logFile) sono esplicitamente racchiuse tra virgolette doppie («) durante la generazione del msiexec comando.

I seguenti codici di MSI uscita sono considerati validi:

  • 0 (Successo)

  • 1605 (ERROR_ UNKNOWN _PRODUCT)

  • 1614 (ERROR_ _PRODUCT) UNINSTALLED

  • 1641 (riavvio avviato)

  • 3010 (riavvio richiesto)

Input
Nome chiave Descrizione Tipo Richiesto Valore predefinito Valori accettabili
path

Specificate la posizione MSI del file utilizzando uno dei seguenti metodi:

  • Il percorso del file locale. Il percorso può essere assoluto o relativo.

  • Un oggetto URI S3 valido.

  • Un sito webHTTP/valido HTTPS URL (HTTPSconsigliato) che segua lo standard RFC 3986.

Le espressioni concatenate sono consentite.

Stringa N/D N/D
reboot

Configura il comportamento di riavvio del sistema dopo l'esecuzione corretta del modulo di azione.

Impostazioni:
  • Force— Avvia il riavvio del sistema dopo la corretta esecuzione del msiexec comando.

  • Allow— Avvia un riavvio del sistema se il msiexec comando restituisce un codice di uscita che indica che è necessario riavviare il sistema.

  • Skip— Registra un messaggio informativo nel console.log file che indica che il riavvio è stato saltato. Questa opzione impedisce il riavvio, anche se il msiexec comando restituisce un codice di uscita che indica che è necessario un riavvio.

Stringa No Allow Allow, Force, Skip
logOptions

Specificate le opzioni da utilizzare per la registrazione MSI dell'installazione. I flag specificati vengono passati all'MSIinstallatore, insieme al parametro della riga di /L comando per abilitare la registrazione. Se non viene specificato alcun flag, AWSTOE utilizza il valore predefinito.

Per ulteriori informazioni sulle opzioni di registro perMSI, vedere Opzioni della riga di comando nella documentazione del prodotto Microsoft Windows Installer.

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

Un percorso assoluto o relativo alla posizione del file di registro. Se il percorso del file di registro non esiste, viene creato. Se il percorso del file di registro non viene fornito, AWSTOE non memorizza il registro di MSI installazione.

Stringa No N/D N/D
properties

MSIregistrazione delle coppie chiave-valore delle proprietà, ad esempio: TARGETDIR: "C:\target\location"

 

Nota: non è consentita la modifica delle seguenti proprietà:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Mappa [Stringa] Stringa No N/D N/D
ignoreAuthenticodeSignatureErrors

Contrassegna per ignorare gli errori di convalida della firma authenticode per l'installatore specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori.

Impostazioni:
  • true— Gli errori di convalida vengono ignorati e il programma di installazione viene eseguito.

  • false— Gli errori di convalida non vengono ignorati. Il programma di installazione viene eseguito solo quando la convalida ha esito positivo. Questo è il comportamento che segue di default.

Boolean No false true, false
allowUnsignedInstaller

Contrassegno per consentire l'esecuzione del programma di installazione non firmato specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori.

Impostazioni:
  • true— Ignora lo NotSigned stato restituito dal Get-AuthenticodeSignature comando ed esegue il programma di installazione.

  • false— Richiede la firma del programma di installazione. Gli installatori non firmati non verranno eseguiti. Questo è il comportamento che segue di default.

Boolean No false true, false
Esempi

Gli esempi seguenti mostrano le variazioni della sezione di input per il documento del componente, a seconda del percorso di installazione.

Esempio di input: rimuovere l'installazione del percorso del documento locale

- 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

Esempio di input: rimuovere l'installazione del percorso di Amazon S3

- 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

Esempio di input: rimuovere l'installazione del percorso web

- 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

Di seguito è riportato un esempio dell'output del modulo di UninstallMSI azione.

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

Moduli di azione del sistema

La sezione seguente descrive i moduli di azione che eseguono azioni di sistema o aggiornano le impostazioni di sistema.

Riavvio

Il modulo di azione Reboot riavvia l'istanza. Ha un'opzione configurabile per ritardare l'inizio del riavvio. Per impostazione predefinita, delaySeconds è impostato su0, il che significa che non vi è alcun ritardo. Il timeout degli step non è supportato per il modulo di azione Reboot, in quanto non si applica al riavvio dell'istanza.

Se l'applicazione viene richiamata dall'agente Systems Manager, consegna il codice di uscita (3010per Windows, 194 per Linux) all'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema come descritto in Riavvio di un'istanza gestita dagli script.

Se l'applicazione viene richiamata sull'host come processo autonomo, salva lo stato di esecuzione corrente, configura un trigger di esecuzione automatica post-riavvio per rieseguire l'applicazione dopo il riavvio e quindi riavvia il sistema.

Trigger di esecuzione automatica dopo il riavvio:

  • Windows. AWSTOE crea una voce di Windows Task Scheduler con un trigger che viene eseguito automaticamente su SystemStartup

  • Linux. AWSTOE aggiunge un job in crontab che viene eseguito automaticamente dopo il riavvio del sistema.

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

Questo trigger viene eliminato all'avvio dell'applicazione.

Tentativi

Per impostazione predefinita, il numero massimo di tentativi è impostato su Systems ManagerCommandRetryLimit. Se il numero di riavvii supera il limite di tentativi, l'automazione fallisce. È possibile modificare il limite modificando il file di configurazione dell'agente Systems Manager (Mds.CommandRetryLimit). Vedere Runtime Configuration nell'agente Systems Manager open source.

Per utilizzare il modulo di azione Reboot, per le fasi che contengono il riavvio exitcode (ad esempio,3010), è necessario eseguire il file binario dell'applicazione come. sudo user

Input
Nome chiave Descrizione Tipo Obbligatorio Predefinita
delaySeconds Ritarda un determinato periodo di tempo prima di iniziare il riavvio. Numero intero

No

0

Esempio di input: fase di riavvio

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

Output

Nessuna.

Una volta completato il modulo Reboot, Image Builder passa alla fase successiva della compilazione.

SetRegistry

Il modulo di SetRegistryazione accetta un elenco di input e consente di impostare il valore per la chiave di registro specificata. Se una chiave di registro non esiste, viene creata nel percorso definito. Questa funzionalità si applica solo a Windows.

Input
Nome chiave Descrizione Tipo Richiesto
path Percorso della chiave di registro. Stringa
name Nome della chiave di registro. Stringa
value Valore della chiave di registro. String/Number/Array
type Tipo di valore della chiave di registro. Stringa
Prefissi di percorso supportati
  • HKEY_CLASSES_ROOT / HKCR:

  • HKEY_USERS / HKU:

  • HKEY_LOCAL_MACHINE / HKLM:

  • HKEY_CURRENT_CONFIG / HKCC:

  • HKEY_CURRENT_USER / HKCU:

Tipi supportati 
  • BINARY

  • DWORD

  • QWORD

  • SZ

  • EXPAND_SZ

  • MULTI_SZ

Esempio di input: imposta i valori delle chiavi di registro

- 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

Output

Nessuna.

Aggiorna il sistema operativo

Il modulo di azione UpdateOS aggiunge il supporto per l'installazione degli aggiornamenti di Windows e Linux. Installa tutti gli aggiornamenti disponibili per impostazione predefinita. In alternativa, è possibile configurare un elenco di uno o più aggiornamenti specifici per l'installazione del modulo di azione. È inoltre possibile specificare gli aggiornamenti da escludere dall'installazione.

Se vengono forniti entrambi gli elenchi «includi» ed «escludi», l'elenco di aggiornamenti risultante può includere solo quelli elencati nell'elenco «include» che non sono elencati nell'elenco «escludi».

Nota

UpdateOS non supporta Amazon Linux 2023 (AL2023). Ti consigliamo di aggiornare la tua base AMI alla nuova versione fornita con ogni versione. Per altre alternative, consulta Controllare gli aggiornamenti ricevuti dalle versioni principali e secondarie nella Guida per l'utente di Amazon Linux 2023.

  • Windows. Gli aggiornamenti vengono installati dalla fonte degli aggiornamenti configurata sul computer di destinazione.

  • Linux. L'applicazione verifica la presenza del gestore di pacchetti supportato nella piattaforma Linux e utilizza uno dei due yum o il gestore di apt-get pacchetti. Se nessuno dei due è supportato, viene restituito un errore. È necessario disporre sudo delle autorizzazioni per eseguire il modulo di azione UpdateOS. Se non si dispone delle sudo autorizzazioni, viene restituito. error.Input

Input
Nome chiave Descrizione Tipo Richiesto
include

Per Windows, è possibile specificare quanto segue:

  • Uno o più articoli della Microsoft Knowledge Base (KB) IDs da includere nell'elenco degli aggiornamenti che possono essere installati. I formati validi sono KB1234567 o 1234567.

  • Un nome di aggiornamento che utilizza un valore jolly (*). I formati validi sono Security* o *Security*.

Per Linux, è possibile specificare uno o più pacchetti da includere nell'elenco degli aggiornamenti per l'installazione.

Elenco di stringhe No
exclude

Per Windows, è possibile specificare quanto segue:

  • Uno o più articoli IDs della Microsoft Knowledge Base (KB) da includere nell'elenco degli aggiornamenti da escludere dall'installazione. I formati validi sono KB1234567 o 1234567.

  • Un nome di aggiornamento che utilizza un valore wildcard (*). I formati validi sono: Security* o*Security*.

Per Linux, è possibile specificare uno o più pacchetti da escludere dall'elenco degli aggiornamenti per l'installazione.

Elenco di stringhe No

Esempio di input: aggiungi il supporto per l'installazione degli aggiornamenti Linux

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

Esempio di input: aggiungere il supporto per l'installazione degli aggiornamenti di Windows

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

Output

Nessuna.