Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Les services de création d'images, tels qu' EC2 Image Builder, utilisent des modules AWSTOE d'action pour configurer les EC2 instances utilisées pour créer et tester des images de machine personnalisées. Cette section décrit les fonctionnalités des modules d' AWSTOE action couramment utilisés et explique comment les configurer, y compris des exemples.
Les composants sont créés à partir de documents YAML en texte brut. Pour plus d'informations sur la syntaxe des documents, consultezUtiliser le cadre de documentation des AWSTOE composants pour les composants personnalisés.
Note
Tous les modules d'action utilisent le même compte que l'agent Systems Manager lorsqu'ils s'exécutent, sous Linux et NT Authority\SYSTEM
sous Windows. root
La référence croisée suivante classe les modules d'action en fonction du type d'actions qu'ils exécutent.
Exécution générale
Téléchargement et envoi de fichiers
Opérations du système de fichiers
Actions d'installation du logiciel
Actions du système
Modules d'exécution généraux
La section suivante contient des détails sur les modules d'action qui exécutent des commandes et contrôlent le flux de travail d'exécution.
Modules d'action d'exécution générale
Assert (Linux, Windows, macOS)
Le module d'action Assert effectue des comparaisons de valeurs en utilisant Opérateurs de comparaison ou en Opérateurs logiques tant qu'entrée. Le résultat de l'expression de l'opérateur (vrai ou faux) indique le statut global de réussite ou d'échec de l'étape.
Si la comparaison ou l'expression de l'opérateur logique est évaluée àtrue
, l'étape est marquée commeSuccess
. Dans le cas contraire, l'étape est marquée commeFailed
. Si l'étape échoue, le onFailure
paramètre détermine le résultat de l'étape.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
input |
Contient une comparaison ou un opérateur logique unique. Notez que les opérateurs logiques peuvent contenir plusieurs opérateurs de comparaison. | Ceci est variable en fonction de l'opérateur | Oui |
Exemple de saisie : comparaison simple à l'aide de l'opérateur de stringEquals
comparaison
Cet exemple évalue à. true
- name: StringComparison
action: Assert
inputs:
stringEquals: '2.1.1'
value: '{{ validate.ApplicationVersion.outputs.stdout }}'
Exemple de saisie : comparaisons Regex à l'aide de l'opérateur de patternMatches
comparaison
Ces exemples sont tous évalués à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'
Exemple d'entrée : comparaisons imbriquées avec des opérateurs logiques et des variables chaînées
L'exemple suivant illustre des comparaisons imbriquées avec des opérateurs logiques qui utilisent des comparaisons avec des variables chaînées. Assert
Évalue true
si l'une des conditions suivantes est vraie :
-
Le
ApplicationVersion
est supérieur à2.0
etCPUArchitecture
égalarm64
. -
Les
CPUArchitecture
égauxx86_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 }}'
Sortie :
Le résultat d'une Assert
est le succès ou l'échec de l'étape.
ExecuteBash (Linux, macOS)
Le module ExecuteBashd'action vous permet d'exécuter des scripts bash avec du code/des commandes shell intégrés. Ce module est compatible avec Linux.
Toutes les commandes et instructions que vous spécifiez dans le bloc de commandes sont converties dans un fichier (par exempleinput.sh
) et exécutées avec le shell bash. Le résultat de l'exécution du fichier shell est le code de sortie de l'étape.
Le ExecuteBashmodule gère les redémarrages du système si le script se termine avec un code de sortie de. 194
Lorsqu'elle est lancée, l'application exécute l'une des actions suivantes :
-
L'application transmet le code de sortie à l'appelant s'il est exécuté par l'agent Systems Manager. L'agent Systems Manager gère le redémarrage du système et exécute la même étape que celle à l'origine du redémarrage, comme décrit dans la section Redémarrage d'une instance gérée à partir de scripts.
-
L'application enregistre le courant
executionstate
, configure un déclencheur de redémarrage pour réexécuter l'application et redémarre le système.
Après le redémarrage du système, l'application exécute la même étape que celle à l'origine du redémarrage. Si vous avez besoin de cette fonctionnalité, vous devez écrire des scripts idempotents capables de gérer plusieurs invocations de la même commande shell.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
commands |
Contient une liste d'instructions ou de commandes à exécuter conformément à la syntaxe bash. Le YAML multiligne est autorisé. | Liste | Oui |
Exemple de saisie : avant et après un redémarrage
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
Champ | Description | Type |
---|---|---|
stdout |
Sortie standard de l'exécution des commandes. | chaîne |
Si vous lancez un redémarrage et que vous renvoyez le code de sortie dans le 194
cadre du module d'action, la compilation reprendra à l'étape du module d'action qui a initié le redémarrage. Si vous démarrez un redémarrage sans le code de sortie, le processus de génération risque d'échouer.
Exemple de sortie : avant le redémarrage (première fois via le document)
{
“stdout”: “The reboot file does not exist. Creating it and triggering a restart."
}
Exemple de sortie : après le redémarrage, (deuxième fois dans le document)
{
“stdout”: “The reboot file exists. Deleting it and exiting with success."
}
ExecuteBinary (Linux, Windows, macOS)
Le module ExecuteBinaryd'action vous permet d'exécuter des fichiers binaires avec une liste d'arguments de ligne de commande.
Le ExecuteBinarymodule gère les redémarrages du système si le fichier binaire se termine avec un code de sortie 194
(Linux) ou 3010
(Windows). Dans ce cas, l'application exécute l'une des actions suivantes :
-
L'application transmet le code de sortie à l'appelant s'il est exécuté par l'agent Systems Manager. L'agent Systems Manager gère le redémarrage du système et exécute la même étape que celle qui a initié le redémarrage, comme décrit dans Redémarrage d'une instance gérée à partir de scripts.
-
L'application enregistre le courant
executionstate
, configure un déclencheur de redémarrage pour réexécuter l'application et redémarre le système.
Après le redémarrage du système, l'application exécute la même étape que celle à l'origine du redémarrage. Si vous avez besoin de cette fonctionnalité, vous devez écrire des scripts idempotents capables de gérer plusieurs invocations de la même commande shell.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
path |
Le chemin d'accès au fichier binaire à exécuter. | Chaîne | Oui |
arguments |
Contient une liste d'arguments de ligne de commande à utiliser lors de l'exécution du binaire. | Liste de chaînes | Non |
Exemple de saisie : installer .NET
- name: "InstallDotnet"
action: ExecuteBinary
inputs:
path: C:\PathTo\dotnet_installer.exe
arguments:
- /qb
- /norestart
Champ | Description | Type |
---|---|---|
stdout |
Sortie standard de l'exécution des commandes. | chaîne |
Exemple de sortie
{
"stdout": "success"
}
ExecuteDocument (Linux, Windows, macOS)
Le module ExecuteDocumentd'action ajoute la prise en charge des documents de composants imbriqués, en exécutant plusieurs documents de composants à partir d'un seul document. AWSTOE valide le document transmis dans le paramètre d'entrée lors de l'exécution.
Restrictions
-
Ce module d'action ne s'exécute qu'une seule fois, sans qu'aucune nouvelle tentative ne soit autorisée et qu'aucune option ne permet de définir des limites de délai d'expiration. ExecuteDocumentdéfinit les valeurs par défaut suivantes et renvoie une erreur si vous essayez de les modifier.
-
timeoutSeconds
: -1 -
maxAttempts
: 1
Note
Vous pouvez laisser ces valeurs vides et AWSTOE utiliser les valeurs par défaut.
-
-
L'imbrication de documents est autorisée, jusqu'à trois niveaux de profondeur, mais pas plus. Trois niveaux d'imbrication se traduisent par quatre niveaux de document, le niveau supérieur n'étant pas imbriqué. Dans ce scénario, le document de niveau le plus bas ne doit appeler aucun autre document.
-
L'exécution cyclique des documents des composants n'est pas autorisée. Tout document qui s'appelle lui-même en dehors d'une construction en boucle, ou qui appelle un autre document situé plus haut dans la chaîne d'exécution actuelle, lance un cycle qui peut entraîner une boucle sans fin. Lorsqu'il AWSTOE détecte une exécution cyclique, il arrête l'exécution et enregistre l'échec.
Si un document de composant essaie de s'exécuter lui-même ou d'exécuter l'un des documents de composant situés plus haut dans la chaîne d'exécution en cours, l'exécution échoue.
Entrée
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
document |
Chemin du document du composant. Les options valides sont les suivantes :
|
Chaîne | Oui |
document-s3-bucket-owner |
L'ID de compte du propriétaire du compartiment S3 pour le compartiment S3 dans lequel les documents des composants sont stockés. (Recommandé si vous utilisez S3 URIs dans le document de votre composant.) |
Chaîne | Non |
phases |
Phases à exécuter dans le document du composant, exprimées sous forme de liste séparée par des virgules. Si aucune phase n'est spécifiée, toutes les phases sont exécutées. |
Chaîne | Non |
parameters |
Paramètres d'entrée transmis au document du composant lors de l'exécution sous forme de paires clé-valeur. |
Liste des cartes de paramètres | Non |
Entrée de mappage de paramètres
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
name |
Nom du paramètre d'entrée à transmettre au document du composant que le module ExecuteDocumentd'action exécute. |
Chaîne | Oui |
value |
La valeur du paramètre d'entrée. |
Chaîne | Oui |
Exemples de saisie
Les exemples suivants montrent les variations des entrées pour le document de votre composant, en fonction de votre chemin d'installation.
Exemple de saisie : chemin du document local
# 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
Exemple de saisie : URI S3 en tant que chemin de document
# 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
Exemple de saisie : ARN du composant EC2 Image Builder en tant que chemin de document
# 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
Utilisation d'une ForEach boucle pour exécuter des documents
# 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
Utilisation d'une boucle For pour exécuter des documents
# 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
Sortie
AWSTOE crée un fichier de sortie appelé à detailedoutput.json
chaque exécution. Le fichier contient des détails sur chaque phase et étape de chaque document composant invoqué pendant son exécution. Pour le module ExecuteDocumentd'action, vous trouverez un bref résumé de l'exécution dans le outputs
champ, ainsi que des détails sur les phases, les étapes et les documents qu'il exécute dans ledetailedOutput
.
{
\"executedStepCount\":1,\"executionId\":\"97054e22-06cc-11ec-9b14-acde48001122\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\"
}",
L'objet récapitulatif de sortie de chaque document de composant contient les détails suivants, comme indiqué ici, avec des exemples de valeurs :
-
executedStepCount« :1
-
« ID d'exécution » « 12345a67-89bc-01de-2f34-abcd56789012 »
-
failedStepCount« 0 : 0
-
« Message d'échec » : « »
-
« ignoredFailedStep Compter » : 0
-
« URL du journal » : « »
-
« statut » « succès »
Exemple de sortie
L'exemple suivant montre la sortie du module ExecuteDocumentd'action lorsqu'une exécution imbriquée se produit. Dans cet exemple, le document du main.yaml
composant exécute correctement le document du Sample-1.yaml
composant.
{
"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 (Fenêtres)
Le module ExecutePowerShelld'action vous permet d'exécuter des PowerShell scripts avec du code/des commandes shell intégrés. Ce module prend en charge la plate-forme Windows et Windows PowerShell.
Toutes les commandes/instructions spécifiées dans le bloc de commandes sont converties en un fichier de script (par exemple,input.ps1
) et exécutées sous Windows. PowerShell Le résultat de l'exécution du fichier shell est le code de sortie.
Le ExecutePowerShellmodule gère les redémarrages du système si la commande shell se termine avec un code de sortie de. 3010
Lorsqu'elle est lancée, l'application exécute l'une des actions suivantes :
-
Transmet le code de sortie à l'appelant s'il est exécuté par l'agent Systems Manager. L'agent Systems Manager gère le redémarrage du système et exécute la même étape que celle à l'origine du redémarrage, comme décrit dans la section Redémarrage d'une instance gérée à partir de scripts.
-
Enregistre le courant
executionstate
, configure un déclencheur de redémarrage pour réexécuter l'application et redémarre le système.
Après le redémarrage du système, l'application exécute la même étape que celle à l'origine du redémarrage. Si vous avez besoin de cette fonctionnalité, vous devez écrire des scripts idempotents capables de gérer plusieurs invocations de la même commande shell.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
commands |
Contient une liste d'instructions ou de commandes à exécuter conformément à PowerShell la syntaxe. Le YAML multiligne est autorisé. | Liste de chaînes | Oui. Doit spécifier |
file |
Contient le chemin d'accès à un fichier de PowerShell script. PowerShell sera exécuté sur ce fichier en utilisant l'argument de ligne de -file commande. Le chemin doit pointer vers un .ps1 fichier. |
Chaîne | Oui. Doit spécifier |
Exemple de saisie : avant et après un redémarrage
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)
Champ | Description | Type |
---|---|---|
stdout |
Sortie standard de l'exécution des commandes. | chaîne |
Si vous exécutez un redémarrage et que vous renvoyez le code de sortie dans le 3010
cadre du module d'action, la compilation reprendra à l'étape du module d'action qui a initié le redémarrage. Si vous redémarrez sans le code de sortie, le processus de génération risque d'échouer.
Exemple de sortie : avant le redémarrage (première fois via le document)
{
“stdout”: “The reboot file does not exist. Creating it and triggering a restart."
}
Exemple de sortie : après le redémarrage, (deuxième fois dans le document)
{
“stdout”: “The reboot file exists. Deleting it and exiting with success."
}
Modules de téléchargement et de téléversement de fichiers
La section suivante contient des détails sur les modules d'action qui chargent ou téléchargent des fichiers.
Téléchargez et chargez des modules d'action
Téléchargement de S3 (Linux, Windows, macOS)
Avec le module S3Download
d'action, vous pouvez télécharger un objet Amazon S3, ou un ensemble d'objets, dans un fichier ou un dossier local que vous spécifiez avec le destination
chemin. Si un fichier existe déjà à l'emplacement spécifié et que l'overwrite
indicateur est défini sur true, le fichier S3Download
est remplacé.
Votre source
position peut pointer vers un objet spécifique dans Amazon S3, ou vous pouvez utiliser un préfixe de clé avec un astérisque (*
) pour télécharger un ensemble d'objets correspondant au chemin du préfixe clé. Lorsque vous spécifiez un préfixe clé dans votre source
position, le module S3Download
d'action télécharge tout ce qui correspond au préfixe (fichiers et dossiers inclus). Assurez-vous que le préfixe clé se termine par une barre oblique, suivie d'un astérisque (/*
), afin de télécharger tout ce qui correspond au préfixe. olpPar exemple :
.s3://my-bucket/my-folder/*
Note
Tous les dossiers du chemin de destination doivent exister avant le téléchargement, sinon le téléchargement échoue.
Si l'S3Download
action pour un préfixe de clé spécifié échoue lors d'un téléchargement, le contenu du dossier n'est pas rétabli dans son état antérieur à l'échec. Le dossier de destination reste tel qu'il était au moment de l'échec.
Cas d'utilisation pris en charge
Le module S3Download
d'action prend en charge les cas d'utilisation suivants :
-
L'objet Amazon S3 est téléchargé dans un dossier local, comme indiqué dans le chemin de téléchargement.
-
Les objets Amazon S3 (avec un préfixe clé dans le chemin du fichier Amazon S3) sont téléchargés dans le dossier local spécifié, qui copie de manière récursive tous les objets Amazon S3 correspondant au préfixe clé dans le dossier local.
Exigences relatives à l'IAM
Le rôle IAM que vous associez à votre profil d'instance doit être autorisé à exécuter le module S3Download
d'action. Les politiques IAM suivantes doivent être associées au rôle IAM associé au profil d'instance :
-
Fichier unique :
s3:GetObject
contre le bucket ou l'objet (par exemple,arn:aws:s3:::
).BucketName
/* -
Plusieurs fichiers :
s3:ListBucket
contre le bucket ou l'objet (par exemple,arn:aws:s3:::
) etBucketName
s3:GetObject
contre le bucket ou l'objet (par exemple,).arn:aws:s3:::
BucketName
/*
Clé |
Description |
Type |
Obligatoire |
Par défaut |
---|---|---|---|---|
|
Le compartiment Amazon S3 qui est la source de votre téléchargement. Vous pouvez spécifier le chemin d'accès à un objet spécifique ou utiliser un préfixe de clé se terminant par une barre oblique suivie d'un astérisque ( |
Chaîne |
Oui |
N/A |
|
Le chemin local où les objets Amazon S3 sont téléchargés. Pour télécharger un seul fichier, vous devez spécifier le nom du fichier dans le chemin. Par exemple, |
Chaîne |
Oui |
N/A |
|
ID de compte propriétaire attendu du bucket indiqué dans le |
Chaîne |
Non |
N/A |
|
Lorsqu'il est défini sur true, si un fichier du même nom existe déjà dans le dossier de destination pour le chemin local spécifié, le fichier de téléchargement remplace le fichier local. Lorsqu'il est défini sur false, le fichier existant sur le système local est protégé contre le remplacement et le module d'action échoue en raison d'une erreur de téléchargement. Par exemple, |
Booléen |
Non |
true |
Note
Dans les exemples suivants, le chemin du dossier Windows peut être remplacé par un chemin Linux. Par exemple,
peut être remplacé parC:\myfolder\package.zip
./myfolder/package.zip
Exemple de saisie : copier un objet Amazon S3 dans un fichier local
L'exemple suivant montre comment copier un objet Amazon S3 dans un fichier local.
- 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
Exemple de saisie : copier tous les objets Amazon S3 dans un compartiment Amazon S3 avec un préfixe de clé dans un dossier local
L'exemple suivant montre comment copier tous les objets Amazon S3 d'un compartiment Amazon S3 avec le préfixe key dans un dossier local. Amazon S3 n'a aucune notion de dossier. Par conséquent, tous les objets correspondant au préfixe de clé sont copiés. Le nombre maximum d'objets pouvant être téléchargés est de 1 000.
- 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
Sortie
Aucune.
Téléchargement en mode S3 (Linux, Windows, macOS)
Avec le module d'action S3Upload, vous pouvez télécharger un fichier depuis un fichier ou un dossier source vers un emplacement Amazon S3. Vous pouvez utiliser un caractère générique (*
) dans le chemin indiqué pour votre emplacement source afin de télécharger tous les fichiers dont le chemin correspond au modèle générique.
Si l'action récursive S3Upload échoue, tous les fichiers déjà chargés resteront dans le compartiment Amazon S3 de destination.
Cas d'utilisation pris en charge
-
Fichier local vers un objet Amazon S3.
-
Fichiers locaux dans un dossier (avec caractère générique) avec le préfixe de clé Amazon S3.
-
Copiez le dossier local (doit avoir été
recurse
défini surtrue
) dans le préfixe de clé Amazon S3.
Exigences relatives à l'IAM
Le rôle IAM que vous associez à votre profil d'instance doit être autorisé à exécuter le module S3Upload
d'action. La politique IAM suivante doit être attachée au rôle IAM associé au profil d'instance. La politique doit accorder s3:PutObject
des autorisations au compartiment Amazon S3 cible. Par exemple, arn:aws:s3:::
).BucketName
/*
Clé |
Description |
Type |
Obligatoire |
Par défaut |
---|---|---|---|---|
|
Le chemin local d'où proviennent les fichiers/dossiers source. |
Chaîne |
Oui |
N/A |
|
Le chemin du compartiment Amazon S3 de destination où les fichiers/dossiers source sont chargés. |
Chaîne |
Oui |
N/A |
|
Lorsqu'il est défini sur |
Chaîne |
Non |
|
|
L'ID de compte propriétaire attendu pour le compartiment Amazon S3 spécifié dans le chemin de destination. Nous vous recommandons de vérifier la propriété du compartiment Amazon S3 spécifié dans la destination. |
Chaîne |
Non |
N/A |
Exemple de saisie : copie d'un fichier local dans un objet Amazon S3
L'exemple suivant montre comment copier un fichier local dans un objet 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
Exemple de saisie : copier tous les fichiers d'un dossier local dans un compartiment Amazon S3 avec le préfixe key
L'exemple suivant montre comment copier tous les fichiers du dossier local dans un compartiment Amazon S3 avec le préfixe key. Cet exemple ne copie pas les sous-dossiers ou leur contenu car cela n'recurse
est pas spécifié, et sa valeur par défaut est. false
- name: MyS3UploadMultipleFiles
action: S3Upload
onFailure: Abort
maxAttempts: 3
inputs:
- source: C:\myfolder\*
destination: s3://amzn-s3-demo-destination-bucket/path/to/
expectedBucketOwner: 123456789022
Exemple de saisie : copie récursive de tous les fichiers et dossiers d'un dossier local vers un compartiment Amazon S3
L'exemple suivant montre comment copier tous les fichiers et dossiers de manière récursive d'un dossier local vers un compartiment Amazon S3 avec le préfixe key.
- 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
Sortie
Aucune.
WebDownload (Linux, Windows, macOS)
Le module WebDownloadd'action vous permet de télécharger des fichiers et des ressources depuis un emplacement distant via le protocole HTTP/HTTPS (HTTPS est recommandé). Il n'y a aucune limite quant au nombre ou à la taille des téléchargements. Ce module gère la logique des nouvelles tentatives et des retards exponentiels.
Chaque opération de téléchargement dispose d'un maximum de 5 tentatives pour réussir en fonction des entrées de l'utilisateur. Ces tentatives sont différentes de celles spécifiées dans le maxAttempts
champ du documentsteps
, qui sont liées à des défaillances du module d'action.
Ce module d'action gère implicitement les redirections. Tous les codes d'état HTTP, à l'exception de200
, génèrent une erreur.
Nom de la touche | Description | Type | Obligatoire | Par défaut |
---|---|---|---|---|
source |
URL HTTP/HTTPS valide (HTTPS est recommandé), conforme à la norme RFC 3986. Les expressions de chaînage sont autorisées. | Chaîne |
Oui |
N/A |
destination |
Un chemin de fichier ou de dossier absolu ou relatif sur le système local. Les chemins de dossier doivent se terminer par/ . S'ils ne se terminent pas par/ , ils seront traités comme des chemins de fichiers. Le module crée tout fichier ou dossier requis pour des téléchargements réussis. Les expressions de chaînage sont autorisées. |
Chaîne | Oui | N/A |
overwrite |
Lorsque cette option est activée, elle remplace tous les fichiers existants sur le système local par le fichier ou la ressource téléchargé. Lorsque cette option n'est pas activée, aucun fichier existant sur le système local n'est remplacé et le module d'action échoue avec une erreur. Lorsque le remplacement est activé et que la somme de contrôle et l'algorithme sont spécifiés, le module d'action télécharge le fichier uniquement si la somme de contrôle et le hachage des fichiers préexistants ne correspondent pas. | Booléen | Non | true |
checksum |
Lorsque vous spécifiez la somme de contrôle, elle est comparée au hachage du fichier téléchargé généré avec l'algorithme fourni. Pour que la vérification des fichiers soit activée, la somme de contrôle et l'algorithme doivent être fournis. Les expressions de chaînage sont autorisées. | Chaîne | Non | N/A |
algorithm |
Algorithme utilisé pour calculer le checksum. Les options sont MD5 SHA1, SHA256, et SHA512. Pour que la vérification des fichiers soit activée, la somme de contrôle et l'algorithme doivent être fournis. Les expressions de chaînage sont autorisées. | Chaîne | Non | N/A |
ignoreCertificateErrors |
La validation du certificat SSL est ignorée lorsqu'elle est activée. | Booléen | Non | false |
Nom de la touche | Description | Type |
---|---|---|
destination |
Chaîne de nouvelle ligne délimitée par des caractères qui indique le chemin de destination où sont stockés les fichiers ou les ressources téléchargés. | Chaîne |
Exemple de saisie : téléchargement d'un fichier distant vers une destination locale
- name: DownloadRemoteFile
action: WebDownload
maxAttempts: 3
inputs:
- source: https://testdomain/path/to/java14.zip
destination: C:\testfolder\package.zip
Sortie :
{
"destination": "C:\\testfolder\\package.zip"
}
Exemple de saisie : téléchargement de plusieurs fichiers distants vers plusieurs destinations locales
- 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/
Sortie :
{
"destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip"
}
Exemple de saisie : téléchargement d'un fichier distant sans remplacer la destination locale et téléchargement d'un autre fichier distant avec vérification du fichier
- 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
Sortie :
{
"destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip"
}
Exemple de saisie : télécharger un fichier distant et ignorer la validation de la certification SSL
- name: DownloadRemoteIgnoreValidation
action: WebDownload
maxAttempts: 3
inputs:
- source: https://www.bad-ssl.com/resource
destination: /tmp/downloads/
ignoreCertificateErrors: true
Sortie :
{
"destination": "/tmp/downloads/resource"
}
Modules d'opérations du système de fichiers
La section suivante contient des informations détaillées sur les modules d'action qui exécutent des opérations sur le système de fichiers.
Modules d'action relatifs au fonctionnement du système de fichiers
- AppendFile (Linux, Windows, macOS)
- CopyFile (Linux, Windows, macOS)
- CopyFolder (Linux, Windows, macOS)
- CreateFile (Linux, Windows, macOS)
- CreateFolder (Linux, Windows, macOS)
- CreateSymlink (Linux, Windows, macOS)
- DeleteFile (Linux, Windows, macOS)
- DeleteFolder (Linux, Windows, macOS)
- ListFiles (Linux, Windows, macOS)
- MoveFile (Linux, Windows, macOS)
- MoveFolder (Linux, Windows, macOS)
- ReadFile (Linux, Windows, macOS)
- SetFileEncoding (Linux, Windows, macOS)
- SetFileOwner (Linux, Windows, macOS)
- SetFolderOwner (Linux, Windows, macOS)
- SetFilePermissions (Linux, Windows, macOS)
- SetFolderPermissions (Linux, Windows, macOS)
AppendFile (Linux, Windows, macOS)
Le module AppendFiled'action ajoute le contenu spécifié au contenu préexistant d'un fichier.
Si la valeur de codage de fichier est différente de la valeur d'encodage (utf-8
) par défaut, vous pouvez spécifier la valeur de codage de fichier à l'aide de l'encoding
option. Par défaut, utf-16
et utf-32
sont supposés utiliser le codage little-endian.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Le fichier spécifié n'existe pas au moment de l'exécution.
-
Vous n'êtes pas autorisé à écrire pour modifier le contenu du fichier.
-
Le module rencontre une erreur lors de l'opération sur le fichier.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Oui |
content |
Le contenu à ajouter au fichier. | Chaîne | Non | Chaîne vide | N/A | Oui |
encoding |
La norme d'encodage. | Chaîne | Non | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE ,utf-32-LE ,utf32-BE , et utf-32-BE . La valeur de l'option de codage ne distingue pas les majuscules et minuscules. |
Oui |
Exemple de saisie : ajout d'un fichier sans encodage (Linux)
- name: AppendingFileWithOutEncodingLinux
action: AppendFile
inputs:
- path: ./Sample.txt
content: "The string to be appended to the file"
Exemple de saisie : ajout d'un fichier sans encodage (Windows)
- name: AppendingFileWithOutEncodingWindows
action: AppendFile
inputs:
- path: C:\MyFolder\MyFile.txt
content: "The string to be appended to the file"
Exemple de saisie : ajout d'un fichier avec encodage (Linux)
- name: AppendingFileWithEncodingLinux
action: AppendFile
inputs:
- path: /FolderName/SampleFile.txt
content: "The string to be appended to the file"
encoding: UTF-32
Exemple de saisie : ajout d'un fichier avec encodage (Windows)
- name: AppendingFileWithEncodingWindows
action: AppendFile
inputs:
- path: C:\MyFolderName\SampleFile.txt
content: "The string to be appended to the file"
encoding: UTF-32
Exemple de saisie : ajouter un fichier avec une chaîne vide (Linux)
- name: AppendingEmptyStringLinux
action: AppendFile
inputs:
- path: /FolderName/SampleFile.txt
Exemple de saisie : ajouter un fichier avec une chaîne vide (Windows)
- name: AppendingEmptyStringWindows
action: AppendFile
inputs:
- path: C:\MyFolderName\SampleFile.txt
Sortie
Aucune.
CopyFile (Linux, Windows, macOS)
Le module CopyFiled'action copie les fichiers de la source spécifiée vers la destination spécifiée. Par défaut, le module crée de manière récursive le dossier de destination s'il n'existe pas au moment de l'exécution.
Si un fichier portant le nom spécifié existe déjà dans le dossier spécifié, le module d'action remplace par défaut le fichier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un fichier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
Cette option fonctionne de la même manière que la cp
commande sous Linux, qui remplace par défaut.
Le nom du fichier source peut inclure un caractère générique (*
). Les caractères génériques ne sont acceptés qu'après le dernier séparateur de chemin de fichier (/
ou\
). Si des caractères génériques sont inclus dans le nom du fichier source, tous les fichiers correspondant au caractère générique sont copiés dans le dossier de destination. Si vous souhaitez déplacer plusieurs fichiers à l'aide d'un caractère générique, la saisie de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
), ce qui indique que l'entrée de destination est un dossier.
Si le nom du fichier de destination est différent du nom du fichier source, vous pouvez spécifier le nom du fichier de destination à l'aide de l'destination
option. Si vous ne spécifiez pas de nom de fichier de destination, le nom du fichier source est utilisé pour créer le fichier de destination. Tout texte qui suit le dernier séparateur de chemin de fichier (/
ou\
) est traité comme le nom du fichier. Si vous souhaitez utiliser le même nom de fichier que le fichier source, l'entrée de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
).
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un fichier dans le dossier indiqué.
-
Les fichiers source n'existent pas au moment de l'exécution.
-
Il existe déjà un dossier portant le nom de fichier spécifié et l'
overwrite
option est définie surfalse
. -
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
source |
Le chemin du fichier source. | Chaîne | Oui | N/A | N/A | Oui |
destination |
Le chemin du fichier de destination. | Chaîne | Oui | N/A | N/A | Oui |
overwrite |
Lorsqu'il est défini sur false, les fichiers de destination ne seront pas remplacés s'il existe déjà un fichier portant le nom spécifié à l'emplacement spécifié. | Booléen | Non | true |
N/A | Oui |
Exemple de saisie : copier un fichier (Linux)
- name: CopyingAFileLinux
action: CopyFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/destinationFile.txt
Exemple de saisie : copier un fichier (Windows)
- name: CopyingAFileWindows
action: CopyFile
inputs:
- source: C:\MyFolder\Sample.txt
destination: C:\MyFolder\destinationFile.txt
Exemple de saisie : copier un fichier en utilisant le nom du fichier source (Linux)
- name: CopyingFileWithSourceFileNameLinux
action: CopyFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/
Exemple de saisie : copier un fichier en utilisant le nom du fichier source (Windows)
- name: CopyingFileWithSourceFileNameWindows
action: CopyFile
inputs:
- source: C:\Sample\MyFolder\Sample.txt
destination: C:\MyFolder\
Exemple de saisie : copier un fichier à l'aide du caractère générique (Linux)
- name: CopyingFilesWithWildCardLinux
action: CopyFile
inputs:
- source: /Sample/MyFolder/Sample*
destination: /MyFolder/
Exemple de saisie : copie d'un fichier à l'aide du caractère générique (Windows)
- name: CopyingFilesWithWildCardWindows
action: CopyFile
inputs:
- source: C:\Sample\MyFolder\Sample*
destination: C:\MyFolder\
Exemple de saisie : copier un fichier sans le remplacer (Linux)
- name: CopyingFilesWithoutOverwriteLinux
action: CopyFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/destinationFile.txt
overwrite: false
Exemple de saisie : copier un fichier sans le remplacer (Windows)
- name: CopyingFilesWithoutOverwriteWindows
action: CopyFile
inputs:
- source: C:\Sample\MyFolder\Sample.txt
destination: C:\MyFolder\destinationFile.txt
overwrite: false
Sortie
Aucune.
CopyFolder (Linux, Windows, macOS)
Le module CopyFolderd'action copie un dossier de la source spécifiée vers la destination spécifiée. L'entrée de l'source
option est le dossier à copier, et l'entrée de l'destination
option est le dossier dans lequel le contenu du dossier source est copié. Par défaut, le module crée de manière récursive le dossier de destination s'il n'existe pas au moment de l'exécution.
Si un dossier portant le nom spécifié existe déjà dans le dossier spécifié, le module d'action remplace par défaut le dossier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un dossier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
Le nom du dossier source peut inclure un caractère générique (*
). Les caractères génériques ne sont acceptés qu'après le dernier séparateur de chemin de fichier (/
ou\
). Si des caractères génériques sont inclus dans le nom du dossier source, tous les dossiers correspondant au caractère générique sont copiés dans le dossier de destination. Si vous souhaitez copier plusieurs dossiers à l'aide d'un caractère générique, la saisie de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
), ce qui indique que l'entrée de destination est un dossier.
Si le nom du dossier de destination est différent du nom du dossier source, vous pouvez spécifier le nom du dossier de destination à l'aide de l'destination
option. Si vous ne spécifiez pas de nom de dossier de destination, le nom du dossier source est utilisé pour créer le dossier de destination. Tout texte qui suit le dernier séparateur de chemin de fichier (/
ou\
) est traité comme le nom du dossier. Si vous souhaitez utiliser le même nom de dossier que le dossier source, l'entrée de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
).
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un dossier dans le dossier spécifié.
-
Les dossiers source n'existent pas au moment de l'exécution.
-
Il existe déjà un dossier portant le nom de dossier spécifié et l'
overwrite
option est définie surfalse
. -
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
source |
Le chemin du dossier source. | Chaîne | Oui | N/A | N/A | Oui |
destination |
Le chemin du dossier de destination. | Chaîne | Oui | N/A | N/A | Oui |
overwrite |
Lorsqu'il est défini sur false, les dossiers de destination ne seront pas remplacés s'il existe déjà un dossier portant le nom spécifié à l'emplacement spécifié. | Booléen | Non | true |
N/A | Oui |
Exemple de saisie : copier un dossier (Linux)
- name: CopyingAFolderLinux
action: CopyFolder
inputs:
- source: /Sample/MyFolder/SampleFolder
destination: /MyFolder/destinationFolder
Exemple de saisie : copier un dossier (Windows)
- name: CopyingAFolderWindows
action: CopyFolder
inputs:
- source: C:\Sample\MyFolder\SampleFolder
destination: C:\MyFolder\destinationFolder
Exemple de saisie : copier un dossier en utilisant le nom du dossier source (Linux)
- name: CopyingFolderSourceFolderNameLinux
action: CopyFolder
inputs:
- source: /Sample/MyFolder/SourceFolder
destination: /MyFolder/
Exemple de saisie : copier un dossier en utilisant le nom du dossier source (Windows)
- name: CopyingFolderSourceFolderNameWindows
action: CopyFolder
inputs:
- source: C:\Sample\MyFolder\SampleFolder
destination: C:\MyFolder\
Exemple de saisie : copier un dossier à l'aide du caractère générique (Linux)
- name: CopyingFoldersWithWildCardLinux
action: CopyFolder
inputs:
- source: /Sample/MyFolder/Sample*
destination: /MyFolder/
Exemple de saisie : copier un dossier à l'aide du caractère générique (Windows)
- name: CopyingFoldersWithWildCardWindows
action: CopyFolder
inputs:
- source: C:\Sample\MyFolder\Sample*
destination: C:\MyFolder\
Exemple de saisie : copier un dossier sans le remplacer (Linux)
- name: CopyingFoldersWithoutOverwriteLinux
action: CopyFolder
inputs:
- source: /Sample/MyFolder/SourceFolder
destination: /MyFolder/destinationFolder
overwrite: false
Exemple de saisie : copier un dossier sans le remplacer (Windows)
- name: CopyingFoldersWithoutOverwrite
action: CopyFolder
inputs:
- source: C:\Sample\MyFolder\SourceFolder
destination: C:\MyFolder\destinationFolder
overwrite: false
Sortie
Aucune.
CreateFile (Linux, Windows, macOS)
Le module CreateFiled'action crée un fichier dans un emplacement spécifié. Par défaut, si nécessaire, le module crée également les dossiers parents de manière récursive.
Si le fichier existe déjà dans le dossier spécifié, le module d'action tronque ou remplace par défaut le fichier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un fichier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
Si la valeur de codage de fichier est différente de la valeur d'encodage (utf-8
) par défaut, vous pouvez spécifier la valeur de codage de fichier à l'aide de l'encoding
option. Par défaut, utf-16
et utf-32
sont supposés utiliser le codage little-endian.
owner
group
, et permissions
sont des entrées facultatives. L'entrée pour permissions
doit être une valeur de chaîne. Les fichiers sont créés avec des valeurs par défaut lorsqu'elles ne sont pas fournies. Ces options ne sont pas prises en charge sur les plateformes Windows. Ce module d'action valide et renvoie une erreur si les permissions
options owner
group
, et sont utilisées sur les plateformes Windows.
Ce module d'action peut créer un fichier dont les autorisations sont définies par la umask
valeur par défaut du système d'exploitation. Vous devez définir la umask
valeur si vous souhaitez remplacer la valeur par défaut.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un fichier ou un dossier dans le dossier parent spécifié.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Oui |
content |
Le contenu textuel du fichier. | Chaîne | Non | N/A | N/A | Oui |
encoding |
La norme d'encodage. | Chaîne | Non | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE ,utf-32-LE ,utf32-BE , et utf-32-BE . La valeur de l'option de codage ne distingue pas les majuscules et minuscules. |
Oui |
owner |
Le nom d'utilisateur ou l'ID. | Chaîne | Non | N/A | N/A | Non pris en charge sous Windows. |
group |
Le nom ou l'identifiant du groupe. | Chaîne | Non | L'utilisateur actuel. | N/A | Non pris en charge sous Windows. |
permissions |
Les autorisations du fichier. | Chaîne | Non | 0666 |
N/A | Non pris en charge sous Windows. |
overwrite |
Si le nom du fichier spécifié existe déjà, définissez cette valeur pour false empêcher le fichier d'être tronqué ou remplacé par défaut. |
Booléen | Non | true |
N/A | Oui |
Exemple de saisie : créer un fichier sans le remplacer (Linux)
- name: CreatingFileWithoutOverwriteLinux
action: CreateFile
inputs:
- path: /home/UserName/Sample.txt
content: The text content of the sample file.
overwrite: false
Exemple de saisie : créer un fichier sans le remplacer (Windows)
- name: CreatingFileWithoutOverwriteWindows
action: CreateFile
inputs:
- path: C:\Temp\Sample.txt
content: The text content of the sample file.
overwrite: false
Exemple de saisie : création d'un fichier avec des propriétés de fichier
- 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
Exemple de saisie : création d'un fichier sans propriétés de fichier
- name: CreatingFileWithoutFileProperties
action: CreateFile
inputs:
- path: ./Sample.txt
- path: Sample1.txt
Exemple de saisie : créer un fichier vide pour ignorer une section du script de nettoyage Linux
- name: CreateSkipCleanupfile
action: CreateFile
inputs:
- path: <skip section file name>
Pour plus d’informations, consultez Remplacer le script de nettoyage Linux.
Sortie
Aucune.
CreateFolder (Linux, Windows, macOS)
Le module CreateFolderd'action crée un dossier à un emplacement spécifié. Par défaut, si nécessaire, le module crée également les dossiers parents de manière récursive.
Si le dossier existe déjà dans le dossier spécifié, le module d'action tronque ou remplace par défaut le dossier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un dossier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
owner
group
, et permissions
sont des entrées facultatives. L'entrée pour permissions
doit être une valeur de chaîne. Ces options ne sont pas prises en charge sur les plateformes Windows. Ce module d'action valide et renvoie une erreur si les permissions
options owner
group
, et sont utilisées sur les plateformes Windows.
Ce module d'action peut créer un dossier dont les autorisations sont définies par la umask
valeur par défaut du système d'exploitation. Vous devez définir la umask
valeur si vous souhaitez remplacer la valeur par défaut.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un dossier à l'emplacement indiqué.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du dossier. | Chaîne | Oui | N/A | N/A | Oui |
owner |
Le nom d'utilisateur ou l'ID. | Chaîne | Non | L'utilisateur actuel. | N/A | Non pris en charge sous Windows. |
group |
Le nom ou l'identifiant du groupe. | Chaîne | Non | Le groupe de l'utilisateur actuel. | N/A | Non pris en charge sous Windows. |
permissions |
Les autorisations relatives aux dossiers. | Chaîne | Non | 0777 |
N/A | Non pris en charge sous Windows. |
overwrite |
Si le nom du fichier spécifié existe déjà, définissez cette valeur pour false empêcher le fichier d'être tronqué ou remplacé par défaut. |
Booléen | Non | true |
N/A | Oui |
Exemple de saisie : création d'un dossier (Linux)
- name: CreatingFolderLinux
action: CreateFolder
inputs:
- path: /Sample/MyFolder/
Exemple de saisie : création d'un dossier (Windows)
- name: CreatingFolderWindows
action: CreateFolder
inputs:
- path: C:\MyFolder
Exemple de saisie : création d'un dossier en spécifiant les propriétés du dossier
- name: CreatingFolderWithFolderProperties
action: CreateFolder
inputs:
- path: /Sample/MyFolder/Sample/
owner: SampleOwnerName
group: SampleGroupName
permissions: 0777
- path: /Sample/MyFolder/SampleFoler/
permissions: 777
Exemple de saisie : créer un dossier qui remplace le dossier existant, s'il y en a un.
- name: CreatingFolderWithOverwrite
action: CreateFolder
inputs:
- path: /Sample/MyFolder/Sample/
overwrite: true
Sortie
Aucune.
CreateSymlink (Linux, Windows, macOS)
Le module CreateSymlinkd'action crée des liens symboliques ou des fichiers contenant une référence à un autre fichier. Ce module n'est pas pris en charge sur les plateformes Windows.
L'entrée pour les target
options path
et peut être un chemin absolu ou relatif. Si l'entrée de l'path
option est un chemin relatif, il est remplacé par le chemin absolu lors de la création du lien.
Par défaut, lorsqu'un lien portant le nom spécifié existe déjà dans le dossier spécifié, le module d'action renvoie une erreur. Vous pouvez annuler ce comportement par défaut en définissant l'force
option sur. true
Lorsque l'force
option est définie surtrue
, le module remplace le lien existant.
Si aucun dossier parent n'existe, le module d'action crée le dossier de manière récursive, par défaut.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Le fichier cible n'existe pas au moment de l'exécution.
-
Un fichier de lien non symbolique portant le nom spécifié existe déjà.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
target |
Le chemin du fichier cible vers lequel pointe le lien symbolique. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
force |
Force la création d'un lien lorsqu'un lien portant le même nom existe déjà. | Booléen | Non | false |
N/A | Non pris en charge sous Windows. |
Exemple de saisie : créer un lien symbolique qui force la création d'un lien
- name: CreatingSymbolicLinkWithForce
action: CreateSymlink
inputs:
- path: /Folder2/Symboliclink.txt
target: /Folder/Sample.txt
force: true
Exemple de saisie : créer un lien symbolique qui ne force pas la création d'un lien
- name: CreatingSymbolicLinkWithOutForce
action: CreateSymlink
inputs:
- path: Symboliclink.txt
target: /Folder/Sample.txt
Sortie
Aucune.
DeleteFile (Linux, Windows, macOS)
Le module DeleteFiled'action supprime un ou plusieurs fichiers dans un emplacement spécifié.
L'entrée de path
doit être un chemin de fichier valide ou un chemin de fichier avec un caractère générique (*
) dans le nom du fichier. Lorsque des caractères génériques sont spécifiés dans le nom du fichier, tous les fichiers du même dossier qui correspondent au caractère générique sont supprimés.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer des opérations de suppression.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Oui |
Exemple de saisie : supprimer un seul fichier (Linux)
- name: DeletingSingleFileLinux
action: DeleteFile
inputs:
- path: /SampleFolder/MyFolder/Sample.txt
Exemple de saisie : supprimer un seul fichier (Windows)
- name: DeletingSingleFileWindows
action: DeleteFile
inputs:
- path: C:\SampleFolder\MyFolder\Sample.txt
Exemple de saisie : supprimer un fichier qui se termine par « log » (Linux)
- name: DeletingFileEndingWithLogLinux
action: DeleteFile
inputs:
- path: /SampleFolder/MyFolder/*log
Exemple de saisie : supprimer un fichier qui se termine par « log » (Windows)
- name: DeletingFileEndingWithLogWindows
action: DeleteFile
inputs:
- path: C:\SampleFolder\MyFolder\*log
Exemple de saisie : supprimer tous les fichiers d'un dossier spécifié (Linux)
- name: DeletingAllFilesInAFolderLinux
action: DeleteFile
inputs:
- path: /SampleFolder/MyFolder/*
Exemple de saisie : supprimer tous les fichiers d'un dossier spécifié (Windows)
- name: DeletingAllFilesInAFolderWindows
action: DeleteFile
inputs:
- path: C:\SampleFolder\MyFolder\*
Sortie
Aucune.
DeleteFolder (Linux, Windows, macOS)
Le module DeleteFolderd'action supprime les dossiers.
Si le dossier n'est pas vide, vous devez définir l'force
option true
de suppression du dossier et de son contenu. Si vous ne définissez pas l'force
option sur true
et que le dossier que vous essayez de supprimer n'est pas vide, le module d'action renvoie une erreur. La valeur par défaut de l'force
option estfalse
.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer des opérations de suppression.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du dossier. | Chaîne | Oui | N/A | N/A | Oui |
force |
Supprime le dossier, qu'il soit vide ou non. | Booléen | Non | false |
N/A | Oui |
Exemple de saisie : supprimer un dossier qui n'est pas vide à l'aide de l'force
option (Linux)
- name: DeletingFolderWithForceOptionLinux
action: DeleteFolder
inputs:
- path: /Sample/MyFolder/Sample/
force: true
Exemple de saisie : supprimer un dossier qui n'est pas vide à l'aide de l'force
option (Windows)
- name: DeletingFolderWithForceOptionWindows
action: DeleteFolder
inputs:
- path: C:\Sample\MyFolder\Sample\
force: true
Exemple de saisie : suppression d'un dossier (Linux)
- name: DeletingFolderWithOutForceLinux
action: DeleteFolder
inputs:
- path: /Sample/MyFolder/Sample/
Exemple de saisie : suppression d'un dossier (Windows)
- name: DeletingFolderWithOutForce
action: DeleteFolder
inputs:
- path: C:\Sample\MyFolder\Sample\
Sortie
Aucune.
ListFiles (Linux, Windows, macOS)
Le module ListFilesd'action répertorie les fichiers d'un dossier spécifié. Lorsque l'option récursive est définie surtrue
, elle répertorie les fichiers dans des sous-dossiers. Ce module ne répertorie pas les fichiers dans les sous-dossiers par défaut.
Pour répertorier tous les fichiers dont les noms correspondent à un modèle spécifié, utilisez l'fileNamePattern
option permettant de fournir le modèle. L'fileNamePattern
option accepte la valeur wildcard (*
). Lorsque le fileNamePattern
est fourni, tous les fichiers correspondant au format de nom de fichier spécifié sont renvoyés.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Le dossier spécifié n'existe pas au moment de l'exécution.
-
Vous n'êtes pas autorisé à créer un fichier ou un dossier dans le dossier parent spécifié.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du dossier. | Chaîne | Oui | N/A | N/A | Oui |
fileNamePattern |
Le modèle à associer pour répertorier tous les fichiers dont les noms correspondent au modèle. | Chaîne | Non | N/A | N/A | Oui |
recursive |
Répertorie les fichiers du dossier de manière récursive. | Booléen | Non | false |
N/A | Oui |
Exemple de saisie : liste des fichiers dans le dossier spécifié (Linux)
- name: ListingFilesInSampleFolderLinux
action: ListFiles
inputs:
- path: /Sample/MyFolder/Sample
Exemple de saisie : liste des fichiers dans le dossier spécifié (Windows)
- name: ListingFilesInSampleFolderWindows
action: ListFiles
inputs:
- path: C:\Sample\MyFolder\Sample
Exemple de saisie : liste les fichiers qui se terminent par « log » (Linux)
- name: ListingFilesWithEndingWithLogLinux
action: ListFiles
inputs:
- path: /Sample/MyFolder/
fileNamePattern: *log
Exemple de saisie : liste les fichiers qui se terminent par « log » (Windows)
- name: ListingFilesWithEndingWithLogWindows
action: ListFiles
inputs:
- path: C:\Sample\MyFolder\
fileNamePattern: *log
Exemple de saisie : liste des fichiers de manière récursive
- name: ListingFilesRecursively
action: ListFiles
inputs:
- path: /Sample/MyFolder/
recursive: true
Nom de la touche | Description | Type |
---|---|---|
files |
La liste des fichiers. | Chaîne |
Exemple de sortie
{
"files": "/sample1.txt,/sample2.txt,/sample3.txt"
}
MoveFile (Linux, Windows, macOS)
Le module MoveFiled'action déplace les fichiers de la source spécifiée vers la destination spécifiée.
Si le fichier existe déjà dans le dossier spécifié, le module d'action remplace par défaut le fichier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un fichier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
Cette option fonctionne de la même manière que la mv
commande sous Linux, qui remplace par défaut.
Le nom du fichier source peut inclure un caractère générique (*
). Les caractères génériques ne sont acceptés qu'après le dernier séparateur de chemin de fichier (/
ou\
). Si des caractères génériques sont inclus dans le nom du fichier source, tous les fichiers correspondant au caractère générique sont copiés dans le dossier de destination. Si vous souhaitez déplacer plusieurs fichiers à l'aide d'un caractère générique, la saisie de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
), ce qui indique que l'entrée de destination est un dossier.
Si le nom du fichier de destination est différent du nom du fichier source, vous pouvez spécifier le nom du fichier de destination à l'aide de l'destination
option. Si vous ne spécifiez pas de nom de fichier de destination, le nom du fichier source est utilisé pour créer le fichier de destination. Tout texte qui suit le dernier séparateur de chemin de fichier (/
ou\
) est traité comme le nom du fichier. Si vous souhaitez utiliser le même nom de fichier que le fichier source, l'entrée de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
).
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un fichier dans le dossier indiqué.
-
Les fichiers source n'existent pas au moment de l'exécution.
-
Il existe déjà un dossier portant le nom de fichier spécifié et l'
overwrite
option est définie surfalse
. -
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
source |
Le chemin du fichier source. | Chaîne | Oui | N/A | N/A | Oui |
destination |
Le chemin du fichier de destination. | Chaîne | Oui | N/A | N/A | Oui |
overwrite |
Lorsqu'il est défini sur false, les fichiers de destination ne seront pas remplacés s'il existe déjà un fichier portant le nom spécifié à l'emplacement spécifié. | Booléen | Non | true |
N/A | Oui |
Exemple de saisie : déplacer un fichier (Linux)
- name: MovingAFileLinux
action: MoveFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/destinationFile.txt
Exemple de saisie : déplacer un fichier (Windows)
- name: MovingAFileWindows
action: MoveFile
inputs:
- source: C:\Sample\MyFolder\Sample.txt
destination: C:\MyFolder\destinationFile.txt
Exemple de saisie : déplacer un fichier en utilisant le nom du fichier source (Linux)
- name: MovingFileWithSourceFileNameLinux
action: MoveFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/
Exemple de saisie : déplacer un fichier en utilisant le nom du fichier source (Windows)
- name: MovingFileWithSourceFileNameWindows
action: MoveFile
inputs:
- source: C:\Sample\MyFolder\Sample.txt
destination: C:\MyFolder
Exemple de saisie : déplacer un fichier à l'aide d'un caractère générique (Linux)
- name: MovingFilesWithWildCardLinux
action: MoveFile
inputs:
- source: /Sample/MyFolder/Sample*
destination: /MyFolder/
Exemple de saisie : déplacer un fichier à l'aide d'un caractère générique (Windows)
- name: MovingFilesWithWildCardWindows
action: MoveFile
inputs:
- source: C:\Sample\MyFolder\Sample*
destination: C:\MyFolder
Exemple de saisie : déplacer un fichier sans le remplacer (Linux)
- name: MovingFilesWithoutOverwriteLinux
action: MoveFile
inputs:
- source: /Sample/MyFolder/Sample.txt
destination: /MyFolder/destinationFile.txt
overwrite: false
Exemple de saisie : déplacer un fichier sans le remplacer (Windows)
- name: MovingFilesWithoutOverwrite
action: MoveFile
inputs:
- source: C:\Sample\MyFolder\Sample.txt
destination: C:\MyFolder\destinationFile.txt
overwrite: false
Sortie
Aucune.
MoveFolder (Linux, Windows, macOS)
Le module MoveFolderd'action déplace les dossiers de la source spécifiée vers la destination spécifiée. L'entrée de l'source
option est le dossier à déplacer, et l'entrée de l'destination
option est le dossier dans lequel le contenu des dossiers source est déplacé.
Si le dossier parent de destination ou l'entrée de l'destination
option n'existe pas au moment de l'exécution, le comportement par défaut du module consiste à créer le dossier de manière récursive à la destination spécifiée.
Si un dossier identique au dossier source existe déjà dans le dossier de destination, le module d'action remplace par défaut le dossier existant. Vous pouvez annuler ce comportement par défaut en définissant l'option de remplacement sur. false
Lorsque l'option de remplacement est définie sur et qu'il existe déjà un dossier portant le nom spécifié à l'emplacement spécifié, le module d'action renvoie une erreur. false
Le nom du dossier source peut inclure un caractère générique (*
). Les caractères génériques ne sont acceptés qu'après le dernier séparateur de chemin de fichier (/
ou\
). Si des caractères génériques sont inclus dans le nom du dossier source, tous les dossiers correspondant au caractère générique sont copiés dans le dossier de destination. Si vous souhaitez déplacer plusieurs dossiers à l'aide d'un caractère générique, la saisie de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
), ce qui indique que l'entrée de destination est un dossier.
Si le nom du dossier de destination est différent du nom du dossier source, vous pouvez spécifier le nom du dossier de destination à l'aide de l'destination
option. Si vous ne spécifiez pas de nom de dossier de destination, le nom du dossier source est utilisé pour créer le dossier de destination. Tout texte qui suit le dernier séparateur de chemin de fichier (/
ou\
) est traité comme le nom du dossier. Si vous souhaitez utiliser le même nom de dossier que le dossier source, l'entrée de l'destination
option doit se terminer par un séparateur de chemin de fichier (/
ou\
).
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à créer un dossier dans le dossier de destination.
-
Les dossiers source n'existent pas au moment de l'exécution.
-
Il existe déjà un dossier portant le nom spécifié et l'
overwrite
option est définie surfalse
. -
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
source |
Le chemin du dossier source. | Chaîne | Oui | N/A | N/A | Oui |
destination |
Le chemin du dossier de destination. | Chaîne | Oui | N/A | N/A | Oui |
overwrite |
Lorsqu'il est défini sur false, les dossiers de destination ne seront pas remplacés s'il existe déjà un dossier portant le nom spécifié à l'emplacement spécifié. | Booléen | Non | true |
N/A | Oui |
Exemple de saisie : déplacer un dossier (Linux)
- name: MovingAFolderLinux
action: MoveFolder
inputs:
- source: /Sample/MyFolder/SourceFolder
destination: /MyFolder/destinationFolder
Exemple de saisie : déplacer un dossier (Windows)
- name: MovingAFolderWindows
action: MoveFolder
inputs:
- source: C:\Sample\MyFolder\SourceFolder
destination: C:\MyFolder\destinationFolder
Exemple de saisie : déplacer un dossier en utilisant le nom du dossier source (Linux)
- name: MovingFolderWithSourceFolderNameLinux
action: MoveFolder
inputs:
- source: /Sample/MyFolder/SampleFolder
destination: /MyFolder/
Exemple de saisie : déplacer un dossier en utilisant le nom du dossier source (Windows)
- name: MovingFolderWithSourceFolderNameWindows
action: MoveFolder
inputs:
- source: C:\Sample\MyFolder\SampleFolder
destination: C:\MyFolder\
Exemple de saisie : déplacer un dossier à l'aide d'un caractère générique (Linux)
- name: MovingFoldersWithWildCardLinux
action: MoveFolder
inputs:
- source: /Sample/MyFolder/Sample*
destination: /MyFolder/
Exemple de saisie : déplacer un dossier à l'aide d'un caractère générique (Windows)
- name: MovingFoldersWithWildCardWindows
action: MoveFolder
inputs:
- source: C:\Sample\MyFolder\Sample*
destination: C:\MyFolder\
Exemple de saisie : déplacer un dossier sans le remplacer (Linux)
- name: MovingFoldersWithoutOverwriteLinux
action: MoveFolder
inputs:
- source: /Sample/MyFolder/SampleFolder
destination: /MyFolder/destinationFolder
overwrite: false
Exemple de saisie : déplacer un dossier sans le remplacer (Windows)
- name: MovingFoldersWithoutOverwriteWindows
action: MoveFolder
inputs:
- source: C:\Sample\MyFolder\SampleFolder
destination: C:\MyFolder\destinationFolder
overwrite: false
Sortie
Aucune.
ReadFile (Linux, Windows, macOS)
Le module ReadFiled'action lit le contenu d'un fichier texte de type chaîne. Ce module peut être utilisé pour lire le contenu d'un fichier afin de l'utiliser dans les étapes suivantes via le chaînage ou pour lire des données dans le console.log
fichier. Si le chemin spécifié est un lien symbolique, ce module renvoie le contenu du fichier cible. Ce module ne prend en charge que les fichiers texte.
Si la valeur de codage de fichier est différente de la valeur d'encodage (utf-8
) par défaut, vous pouvez spécifier la valeur de codage de fichier à l'aide de l'encoding
option. Par défaut, utf-16
et utf-32
sont supposés utiliser le codage little-endian.
Par défaut, ce module ne peut pas imprimer le contenu du fichier dans le console.log
fichier. Vous pouvez annuler ce paramètre en attribuant à true
la printFileContent
propriété la valeur.
Ce module ne peut renvoyer que le contenu d'un fichier. Il ne peut pas analyser les fichiers, tels que les fichiers Excel ou JSON.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Le fichier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Oui |
encoding |
La norme d'encodage. | Chaîne | Non | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE ,utf-32-LE ,utf32-BE , et utf-32-BE . La valeur de l'option de codage ne distingue pas les majuscules et minuscules. |
Oui |
printFileContent |
Imprime le contenu du fichier dans le console.log fichier. |
Booléen | Non | false | N/A | Oui. |
Exemple de saisie : lecture d'un fichier (Linux)
- name: ReadingFileLinux
action: ReadFile
inputs:
- path: /home/UserName/SampleFile.txt
Exemple de saisie : lecture d'un fichier (Windows)
- name: ReadingFileWindows
action: ReadFile
inputs:
- path: C:\Windows\WindowsUpdate.log
Exemple de saisie : lecture d'un fichier et spécification de la norme de codage
- name: ReadingFileWithFileEncoding
action: ReadFile
inputs:
- path: /FolderName/SampleFile.txt
encoding: UTF-32
Exemple de saisie : lire un fichier et imprimer dans le console.log
fichier
- name: ReadingFileToConsole
action: ReadFile
inputs:
- path: /home/UserName/SampleFile.txt
printFileContent: true
Champ | Description | Type |
---|---|---|
content |
Le contenu du fichier. | chaîne |
Exemple de sortie
{
"content" : "The file content"
}
SetFileEncoding (Linux, Windows, macOS)
Le module SetFileEncodingd'action modifie la propriété de codage d'un fichier existant. Ce module peut convertir le codage de fichiers utf-8
à partir d'une norme de codage spécifiée. Par défaut, utf-16
et utf-32
sont supposés être des encodages little-endian.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer la modification spécifiée.
-
Le fichier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Oui |
encoding |
La norme d'encodage. | Chaîne | Non | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE ,utf-32-LE ,utf32-BE , et utf-32-BE . La valeur de l'option de codage ne distingue pas les majuscules et minuscules. |
Oui |
Exemple de saisie : définir la propriété de codage du fichier
- name: SettingFileEncodingProperty
action: SetFileEncoding
inputs:
- path: /home/UserName/SampleFile.txt
encoding: UTF-16
Sortie
Aucune.
SetFileOwner (Linux, Windows, macOS)
Le module SetFileOwnerd'action modifie les propriétés owner
et le group
propriétaire d'un fichier existant. Si le fichier spécifié est un lien symbolique, le module modifie la owner
propriété du fichier source. Ce module n'est pas pris en charge sur les plateformes Windows.
Ce module accepte les noms d'utilisateur et de groupe en entrée. Si le nom du groupe n'est pas fourni, le module affecte le propriétaire du fichier au groupe auquel appartient l'utilisateur.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer la modification spécifiée.
-
Le nom d'utilisateur ou de groupe spécifié n'existe pas au moment de l'exécution.
-
Le fichier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
owner |
Nom de l'utilisateur. | chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
group |
Nom du groupe d'utilisateurs. | Chaîne | Non | Nom du groupe auquel appartient l'utilisateur. | N/A | Non pris en charge sous Windows. |
Exemple de saisie : définir la propriété du propriétaire du fichier sans spécifier le nom du groupe d'utilisateurs
- name: SettingFileOwnerPropertyNoGroup
action: SetFileOwner
inputs:
- path: /home/UserName/SampleText.txt
owner: LinuxUser
Exemple de saisie : définir la propriété du propriétaire du fichier en spécifiant le propriétaire et le groupe d'utilisateurs
- name: SettingFileOwnerProperty
action: SetFileOwner
inputs:
- path: /home/UserName/SampleText.txt
owner: LinuxUser
group: LinuxUserGroup
Sortie
Aucune.
SetFolderOwner (Linux, Windows, macOS)
Le module SetFolderOwnerd'action modifie de manière récursive les propriétés owner
et le group
propriétaire d'un dossier existant. Par défaut, le module peut modifier la propriété de l'ensemble du contenu d'un dossier. Vous pouvez définir l'recursive
option false
pour annuler ce comportement. Ce module n'est pas pris en charge sur les plateformes Windows.
Ce module accepte les noms d'utilisateur et de groupe en entrée. Si le nom du groupe n'est pas fourni, le module affecte le propriétaire du fichier au groupe auquel appartient l'utilisateur.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer la modification spécifiée.
-
Le nom d'utilisateur ou de groupe spécifié n'existe pas au moment de l'exécution.
-
Le dossier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du dossier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
owner |
Nom de l'utilisateur. | chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
group |
Nom du groupe d'utilisateurs. | Chaîne | Non | Nom du groupe auquel appartient l'utilisateur. | N/A | Non pris en charge sous Windows. |
recursive |
Remplace le comportement par défaut qui consiste à modifier la propriété de l'ensemble du contenu d'un dossier lorsqu'il est défini sur. false |
Booléen | Non | true |
N/A | Non pris en charge sous Windows. |
Exemple de saisie : définir la propriété du propriétaire du dossier sans spécifier le nom du groupe d'utilisateurs
- name: SettingFolderPropertyWithOutGroup
action: SetFolderOwner
inputs:
- path: /SampleFolder/
owner: LinuxUser
Exemple de saisie : définir la propriété du propriétaire du dossier sans annuler la propriété de l'ensemble du contenu d'un dossier
- name: SettingFolderPropertyWithOutRecursively
action: SetFolderOwner
inputs:
- path: /SampleFolder/
owner: LinuxUser
recursive: false
Exemple de saisie : définir la propriété de propriété du fichier en spécifiant le nom du groupe d'utilisateurs
- name: SettingFolderPropertyWithGroup
action: SetFolderOwner
inputs:
- path: /SampleFolder/
owner: LinuxUser
group: LinuxUserGroup
Sortie
Aucune.
SetFilePermissions (Linux, Windows, macOS)
Le module SetFilePermissionsd'action modifie permissions
un fichier existant. Ce module n'est pas pris en charge sur les plateformes Windows.
L'entrée pour permissions
doit être une valeur de chaîne.
Ce module d'action peut créer un fichier dont les autorisations sont définies par la valeur umask par défaut du système d'exploitation. Vous devez définir la umask
valeur si vous souhaitez remplacer la valeur par défaut.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer la modification spécifiée.
-
Le fichier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du fichier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
permissions |
Les autorisations du fichier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
Exemple de saisie : modification des autorisations de fichier
- name: ModifyingFilePermissions
action: SetFilePermissions
inputs:
- path: /home/UserName/SampleFile.txt
permissions: 766
Sortie
Aucune.
SetFolderPermissions (Linux, Windows, macOS)
Le module SetFolderPermissionsd'action modifie permissions
de manière récursive le dossier existant et tous ses sous-fichiers et sous-dossiers. Par défaut, ce module peut modifier les autorisations pour tout le contenu du dossier spécifié. Vous pouvez définir l'recursive
option false
pour annuler ce comportement. Ce module n'est pas pris en charge sur les plateformes Windows.
L'entrée pour permissions
doit être une valeur de chaîne.
Ce module d'action peut modifier les autorisations en fonction de la valeur umask par défaut du système d'exploitation. Vous devez définir la umask
valeur si vous souhaitez remplacer la valeur par défaut.
Le module d'action renvoie une erreur lorsque les événements suivants se produisent :
-
Vous n'êtes pas autorisé à effectuer la modification spécifiée.
-
Le dossier n'existe pas au moment de l'exécution.
-
Le module d'action rencontre une erreur lors de l'exécution de l'opération.
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables | Pris en charge sur toutes les plateformes |
---|---|---|---|---|---|---|
path |
Le chemin du dossier. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
permissions |
Les autorisations relatives aux dossiers. | Chaîne | Oui | N/A | N/A | Non pris en charge sous Windows. |
recursive |
Remplace le comportement par défaut qui consiste à modifier les autorisations pour l'ensemble du contenu d'un dossier lorsqu'il est défini sur. false |
Booléen | Non | true |
N/A | Non pris en charge sous Windows. |
Exemple de saisie : définir les autorisations des dossiers
- name: SettingFolderPermissions
action: SetFolderPermissions
inputs:
- path: SampleFolder/
permissions: 0777
Exemple de saisie : définir les autorisations d'un dossier sans modifier les autorisations pour l'ensemble du contenu d'un dossier
- name: SettingFolderPermissionsNoRecursive
action: SetFolderPermissions
inputs:
- path: /home/UserName/SampleFolder/
permissions: 777
recursive: false
Sortie
Aucune.
Actions d'installation du logiciel
La section suivante décrit les modules d'action qui installent ou désinstallent des logiciels.
Exigences relatives à l'IAM
Si le chemin de téléchargement de votre installation est un URI S3, le rôle IAM que vous associez à votre profil d'instance doit être autorisé à exécuter le module S3Download
d'action. Pour accorder l'autorisation requise, attachez la politique S3:GetObject
IAM au rôle IAM associé à votre profil d'instance et spécifiez le chemin de votre bucket. Par exemple,
).arn:aws:s3:::
BucketName
/*
Entrées MSI complexes
Si vos chaînes d'entrée contiennent des guillemets ("
), vous devez utiliser l'une des méthodes suivantes pour vous assurer qu'elles sont interprétées correctement :
-
Vous pouvez utiliser des guillemets simples (') à l'extérieur de votre chaîne pour la contenir, et des guillemets doubles («) à l'intérieur de votre chaîne, comme indiqué dans l'exemple suivant.
properties: COMPANYNAME: '"Acme ""Widgets"" and ""Gizmos."""'
Dans ce cas, si vous devez utiliser une apostrophe à l'intérieur de votre chaîne, vous devez y échapper. Cela signifie qu'il faut utiliser un autre guillemet simple (') avant l'apostrophe.
-
Vous pouvez utiliser des guillemets («) à l'extérieur de votre chaîne pour la contenir. Et vous pouvez éviter les guillemets doubles à l'intérieur de votre chaîne en utilisant la barre oblique inverse (
\
), comme indiqué dans l'exemple suivant.properties: COMPANYNAME: "\"Acme \"\"Widgets\"\" and \"\"Gizmos.\"\"\""
Ces deux méthodes transmettent la valeur COMPANYNAME="Acme ""Widgets""
and ""Gizmos."""
à la msiexec commande.
Modules d'action pour l'installation du logiciel
Installez MSI (Windows)
Le module InstallMSI
d'action installe une application Windows à l'aide d'un fichier MSI. Vous pouvez spécifier le fichier MSI à l'aide d'un chemin local, d'un URI d'objet S3 ou d'une URL Web. L'option de redémarrage configure le comportement de redémarrage du système.
AWSTOE génère la msiexec commande en fonction des paramètres d'entrée du module d'action. Les valeurs des paramètres d'entrée path
(emplacement du fichier MSI) et logFile
(emplacement du fichier journal) doivent être placées entre guillemets («).
Les codes de sortie MSI suivants sont considérés comme réussis :
-
0 (Succès)
-
1614 (ERROR_PRODUCT_UNINSTALL)
-
1641 (redémarrage initié)
-
3010 (redémarrage requis)
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables |
---|---|---|---|---|---|
path |
Spécifiez l'emplacement du fichier MSI à l'aide de l'une des méthodes suivantes :
Les expressions de chaînage sont autorisées. |
Chaîne | Oui | N/A | N/A |
reboot |
Configurez le comportement de redémarrage du système après une exécution réussie du module d'action. Paramètres :
|
Chaîne | Non | Allow |
Allow, Force, Skip |
logOptions |
Spécifiez les options à utiliser pour la journalisation de l'installation MSI. Les indicateurs spécifiés sont transmis au programme d'installation MSI, avec le paramètre de ligne de Pour plus d'informations sur les options de journalisation pour MSI, consultez la section Options de ligne de commande |
Chaîne | Non | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Un chemin absolu ou relatif vers l'emplacement du fichier journal. Si le chemin du fichier journal n'existe pas, il est créé. Si le chemin du fichier journal n'est pas fourni, AWSTOE ne stocke pas le journal d'installation MSI. |
Chaîne | Non | N/A | N/A |
properties |
Paires clé-valeur des propriétés de journalisation MSI, par exemple :
Remarque : La modification des propriétés suivantes n'est pas autorisée :
|
Carte [Chaîne] Chaîne | Non | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Indicateur permettant d'ignorer les erreurs de validation de signature authenticode pour le programme d'installation spécifié dans le chemin. La Get-AuthenticodeSignature commande est utilisée pour valider les programmes d'installation. Paramètres :
|
Booléen | Non | false |
true, false |
allowUnsignedInstaller |
Indicateur permettant d'exécuter le programme d'installation non signé spécifié dans le chemin. La Get-AuthenticodeSignature commande est utilisée pour valider les programmes d'installation. Paramètres :
|
Booléen | Non | false |
true, false |
Exemples
Les exemples suivants montrent des variantes de la section de saisie de votre document de composant, en fonction de votre chemin d'installation.
Exemple de saisie : installation du chemin de document local
- 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
Exemple de saisie : installation du chemin 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
Exemple de saisie : installation du chemin 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
Sortie
Voici un exemple de sortie du module InstallMSI
d'action.
{
"logFile": "web-path-install.log",
"msiExitCode": 0,
"stdout": ""
}
Désinstallez MSI (Windows)
Le module UninstallMSI
d'action permet de supprimer une application Windows à l'aide d'un fichier MSI. Vous pouvez spécifier l'emplacement du fichier MSI à l'aide d'un chemin de fichier local, d'un URI d'objet S3 ou d'une URL Web. L'option de redémarrage configure le comportement de redémarrage du système.
AWSTOE génère la msiexec commande en fonction des paramètres d'entrée du module d'action. L'emplacement du fichier MSI (path
) et l'emplacement du fichier journal (logFile
) sont explicitement placés entre guillemets («) lors de la génération de la msiexec commande.
Les codes de sortie MSI suivants sont considérés comme réussis :
-
0 (Succès)
-
1605 (ERROR_UNKNOWN_PRODUCT)
-
1614 (ERROR_PRODUCT_UNINSTALL)
-
1641 (redémarrage initié)
-
3010 (redémarrage requis)
Nom de la touche | Description | Type | Obligatoire | Valeur par défaut | Valeurs acceptables |
---|---|---|---|---|---|
path |
Spécifiez l'emplacement du fichier MSI à l'aide de l'une des méthodes suivantes :
Les expressions de chaînage sont autorisées. |
Chaîne | Oui | N/A | N/A |
reboot |
Configure le comportement de redémarrage du système après une exécution réussie du module d'action. Paramètres :
|
Chaîne | Non | Allow |
Allow, Force, Skip |
logOptions |
Spécifiez les options à utiliser pour la journalisation de l'installation MSI. Les indicateurs spécifiés sont transmis au programme d'installation MSI, avec le paramètre de ligne de Pour plus d'informations sur les options de journalisation pour MSI, consultez la section Options de ligne de commande |
Chaîne | Non | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Un chemin absolu ou relatif vers l'emplacement du fichier journal. Si le chemin du fichier journal n'existe pas, il est créé. Si le chemin du fichier journal n'est pas fourni, AWSTOE ne stocke pas le journal d'installation MSI. |
Chaîne | Non | N/A | N/A |
properties |
Paires clé-valeur des propriétés de journalisation MSI, par exemple :
Remarque : La modification des propriétés suivantes n'est pas autorisée :
|
Carte [Chaîne] Chaîne | Non | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Indicateur permettant d'ignorer les erreurs de validation de signature authenticode pour le programme d'installation spécifié dans le chemin. La Get-AuthenticodeSignature commande est utilisée pour valider les programmes d'installation. Paramètres :
|
Booléen | Non | false |
true, false |
allowUnsignedInstaller |
Indicateur permettant d'exécuter le programme d'installation non signé spécifié dans le chemin. La Get-AuthenticodeSignature commande est utilisée pour valider les programmes d'installation. Paramètres :
|
Booléen | Non | false |
true, false |
Exemples
Les exemples suivants montrent des variantes de la section de saisie de votre document de composant, en fonction de votre chemin d'installation.
Exemple de saisie : installation de suppression du chemin de document local
- 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
Exemple de saisie : supprimer l'installation du chemin 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
Exemple de saisie : installation de suppression du chemin 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
Sortie
Voici un exemple de sortie du module UninstallMSI
d'action.
{
"logFile": "web-path-uninstall.log",
"msiExitCode": 0,
"stdout": ""
}
Modules d'action du système
La section suivante décrit les modules d'action qui exécutent des actions système ou mettent à jour les paramètres système.
Modules d'action du système
Redémarrer (Linux, Windows)
Le module d'action Reboot redémarre l'instance. Il dispose d'une option configurable pour retarder le démarrage du redémarrage. Par défaut, delaySeconds
est défini sur0
, ce qui signifie qu'il n'y a aucun délai. Le délai d'expiration des étapes n'est pas pris en charge pour le module d'action Reboot, car il ne s'applique pas au redémarrage de l'instance.
Si l'application est appelée par l'agent Systems Manager, elle transmet le code de sortie (3010
pour Windows, 194
pour Linux) à l'agent Systems Manager. L'agent Systems Manager gère le redémarrage du système comme décrit dans Reboot Managed Instance from Scripts.
Si l'application est invoquée sur l'hôte en tant que processus autonome, elle enregistre l'état d'exécution actuel, configure un déclencheur d'exécution automatique après le redémarrage pour réexécuter l'application après le redémarrage, puis redémarre le système.
Déclencheur d'exécution automatique après le redémarrage :
-
Fenêtres. AWSTOE crée une entrée du planificateur de tâches Windows avec un déclencheur qui s'exécute automatiquement sur
SystemStartup
-
Linux. AWSTOE ajoute une tâche dans crontab qui s'exécute automatiquement après le redémarrage du système.
@reboot /download/path/awstoe run --document s3://bucket/key/doc.yaml
Ce déclencheur est nettoyé au démarrage de l'application.
Nouvelle tentative
Par défaut, le nombre maximum de tentatives est défini sur le Systems ManagerCommandRetryLimit
. Si le nombre de redémarrages dépasse la limite de nouvelles tentatives, l'automatisation échoue. Vous pouvez modifier la limite en modifiant le fichier de configuration de l'agent Systems Manager (Mds.CommandRetryLimit
). Consultez la section Configuration du runtime
Pour utiliser le module d'action Redémarrer, pour les étapes contenant un redémarrage exitcode
(par exemple,3010
), vous devez exécuter le binaire de l'application sous le nom desudo user
.
Nom de la touche | Description | Type | Obligatoire | Par défaut |
---|---|---|---|---|
delaySeconds |
Retarde un certain temps avant de lancer un redémarrage. | Entier |
Non |
|
Exemple de saisie : étape de redémarrage
- name: RebootStep
action: Reboot
onFailure: Abort
maxAttempts: 2
inputs:
delaySeconds: 60
Sortie
Aucune.
Lorsque le module Reboot est terminé, Image Builder passe à l'étape suivante de la génération.
SetRegistry (Fenêtres)
Le module SetRegistryd'action accepte une liste d'entrées et vous permet de définir la valeur de la clé de registre spécifiée. Si aucune clé de registre n'existe, elle est créée dans le chemin défini. Cette fonctionnalité s'applique uniquement à Windows.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
path |
Chemin de la clé de registre. | Chaîne | Oui |
name |
Nom de la clé de registre. | Chaîne | Oui |
value |
Valeur de la clé de registre. | String/Number/Array | Oui |
type |
Type de valeur de la clé de registre. | Chaîne | Oui |
Préfixes de chemin pris en charge
-
HKEY_CLASSES_ROOT / HKCR:
-
HKEY_USERS / HKU:
-
HKEY_LOCAL_MACHINE / HKLM:
-
HKEY_CURRENT_CONFIG / HKCC:
-
HKEY_CURRENT_USER / HKCU:
Types pris en charge
-
BINARY
-
DWORD
-
QWORD
-
SZ
-
EXPAND_SZ
-
MULTI_SZ
Exemple de saisie : définir les valeurs des clés de registre
- 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
Sortie
Aucune.
Mettre à jour le système d'exploitation (Linux, Windows)
Le module d'action UpdateOS ajoute la prise en charge de l'installation des mises à jour Windows et Linux. Il installe toutes les mises à jour disponibles par défaut. Vous pouvez également configurer une liste d'une ou de plusieurs mises à jour spécifiques à installer par le module d'action. Vous pouvez également spécifier les mises à jour à exclure de l'installation.
Si des listes « à inclure » et « à exclure » sont fournies, la liste des mises à jour qui en résulte ne peut inclure que celles répertoriées dans la liste « à inclure » qui ne figurent pas dans la liste « à exclure ».
Note
UpdateOS ne prend pas en charge Amazon Linux 2023 (AL2023). Nous vous recommandons de mettre à jour votre AMI de base vers la nouvelle version fournie avec chaque nouvelle version. Pour d'autres alternatives, consultez la section Contrôler les mises à jour reçues à partir des versions majeures et mineures dans le Guide de l'utilisateur Amazon Linux 2023.
-
Fenêtres. Les mises à jour sont installées à partir de la source de mise à jour configurée sur la machine cible.
-
Linux. L'application recherche le gestionnaire de packages pris en charge sur la plate-forme Linux et utilise l'un ou l'autre
yum
ou le gestionnaire deapt-get
packages. Si aucun des deux n'est pris en charge, une erreur est renvoyée. Vous devez êtresudo
autorisé à exécuter le module d'action UpdateOS. Si vous n'avez pas d'sudo
autorisations, unerror.Input
est renvoyé.
Nom de la touche | Description | Type | Obligatoire |
---|---|---|---|
include |
Pour Windows, vous pouvez spécifier les éléments suivants :
Pour Linux, vous pouvez spécifier un ou plusieurs packages à inclure dans la liste des mises à jour à installer. |
Liste de chaînes | Non |
exclude |
Pour Windows, vous pouvez spécifier les éléments suivants :
Pour Linux, vous pouvez spécifier un ou plusieurs packages à exclure de la liste des mises à jour à installer. |
Liste de chaînes | Non |
Exemple de saisie : ajout d'un support pour l'installation de mises à jour Linux
- name: UpdateMyLinux
action: UpdateOS
onFailure: Abort
maxAttempts: 3
inputs:
exclude:
- ec2-hibinit-agent
Exemple de saisie : ajout d'un support pour l'installation des mises à jour Windows
- name: UpdateWindowsOperatingSystem
action: UpdateOS
onFailure: Abort
maxAttempts: 3
inputs:
include:
- KB1234567
- '*Security*'
Sortie
Aucune.