Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Módulos de acción compatibles con el administrador de componentes TOE de AWS
Los servicios de creación de imágenes, como EC2 Image Builder, utilizan módulos de TOE de AWS acción para ayudar a configurar las EC2 instancias que se utilizan para crear y probar imágenes de máquinas personalizadas. En esta sección se describen las características de los módulos de TOE de AWS acción más utilizados y cómo configurarlos, e incluye ejemplos.
Los componentes se crean con documentos de texto sin formatoYAML. Para obtener más información sobre sintaxis de documentos, consulte Utilice el marco de documentos de TOE de AWS componentes para componentes personalizados.
nota
Todos los módulos de acción utilizan la misma cuenta que Systems Manager Agent cuando se ejecutan: root
en Linux y NT Authority\SYSTEM
en Windows.
La siguiente referencia cruzada clasifica los módulos de acción por el tipo de acciones que realizan.
Ejecución general
Módulos de descarga y carga de archivos
Operaciones del sistema de archivos
Acciones de instalación de software
Acciones del sistema
Módulos de ejecución general
La siguiente sección contiene detalles de los módulos de acción que ejecutan comandos y controlan el flujo de trabajo de ejecución.
Módulos de ejecución general
Afirmar
El módulo de acción Assert realiza comparaciones de valores utilizando Operadores de comparación o Logical operators (Operadores lógicos) como entrada. El resultado de la expresión del operador (verdadero o falso) indica el estado general de éxito o fracaso del paso.
Si la expresión del operador lógico o de comparación se evalúa comotrue
, el paso se marca comoSuccess
. De lo contrario, el paso se marca comoFailed
. Si el paso falla, el onFailure
parámetro decide el resultado del paso.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
input |
Contiene un único operador lógico o de comparación. Tenga en cuenta que los operadores lógicos pueden contener más de un operador de comparación. | Esto es variable, según el operador | Sí |
Ejemplo de entrada: una comparación sencilla con el operador de stringEquals
comparación
En este ejemplo se obtiene el resultado de. true
- name: StringComparison action: Assert inputs: stringEquals: '2.1.1' value: '{{ validate.ApplicationVersion.outputs.stdout }}'
Ejemplo de entrada: comparaciones de expresiones regulares mediante el operador de comparación patternMatches
Todos estos ejemplos dan como resultado. 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'
Ejemplo de entrada: comparaciones anidadas con operadores lógicos y variables encadenadas
El siguiente ejemplo muestra las comparaciones anidadas con operadores lógicos que utilizan comparaciones con variables encadenadas. Se Assert
evalúa true
si se cumple alguna de las siguientes condiciones:
-
El
ApplicationVersion
es mayor que2.0
y elCPUArchitecture
igual aarm64
. -
Los
CPUArchitecture
igualesx86_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 }}'
Salida:
El resultado de un paso Assert
es el éxito o el fracaso del paso.
ExecuteBash
El módulo de ExecuteBashacción le permite ejecutar scripts bash con códigos/comandos de shell integrados. Este módulo es compatible con Linux.
Todos los comandos e instrucciones que especifique en el bloque de comandos se convierten en un archivo (por ejemplo input.sh
) y se ejecutan con el intérprete de comandos bash. El resultado de ejecutar el archivo del intérprete de comandos es el código de salida del paso.
El ExecuteBashmódulo gestiona los reinicios del sistema si el script se cierra con un código de salida de. 194
Cuando esto ocurre, la aplicación realiza una de las siguientes acciones:
-
La aplicación entrega el código de salida a la persona que llama si lo ejecuta Systems Manager Agent. Systems Manager Agent gestiona el reinicio del sistema y ejecuta el mismo paso que lo inició, tal y como se describe en Reiniciar una instancia gestionada desde scripts.
-
La aplicación guarda el
executionstate
actual, configura un activador de reinicio para volver a ejecutar la aplicación y reinicia el sistema.
Tras reiniciar el sistema, la aplicación ejecuta el mismo paso que inició el reinicio. Si necesita esta funcionalidad, debe escribir scripts idempotentes que puedan gestionar múltiples invocaciones del mismo comando del intérprete de comandos.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
commands |
Contiene una lista de instrucciones o comandos para ejecutar según la sintaxis de bash. Se permite el uso de varias líneas. YAML | Enumeración | Sí |
Ejemplo de entrada: antes y después de un reinicio
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
Campo | Descripción | Tipo |
---|---|---|
stdout |
Resultado estándar de la ejecución de comandos. | cadena |
Si inicia un reinicio y devuelve el código de salida 194
como parte del módulo de acción, la compilación se reanudará en el mismo paso del módulo de acción en el que se inició el reinicio. Si inicia un reinicio sin el código de salida, es posible que se produzca un error en el proceso de compilación.
Ejemplo de resultado: antes del reinicio (primera vez a través del documento)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Ejemplo de resultado: después del reinicio (segunda vez a través del documento)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
ExecuteBinary
El módulo de ExecuteBinaryacción permite ejecutar archivos binarios con una lista de argumentos de línea de comandos.
El ExecuteBinarymódulo gestiona los reinicios del sistema si el archivo binario se cierra con un código de salida de 194
(Linux) o 3010
(Windows). Cuando esto ocurre, la aplicación realiza una de las siguientes acciones:
-
La aplicación entrega el código de salida a la persona que llama si lo ejecuta Systems Manager Agent. Systems Manager Agent gestiona el reinicio del sistema y ejecuta el mismo paso que lo inició, tal y como se describe en Reiniciar una instancia gestionada desde scripts.
-
La aplicación guarda el
executionstate
actual, configura un activador de reinicio para volver a ejecutar la aplicación y reinicia el sistema.
Una vez reiniciado el sistema, la aplicación ejecuta el mismo paso que inició el reinicio. Si necesita esta funcionalidad, debe escribir scripts idempotentes que puedan gestionar múltiples invocaciones del mismo comando del intérprete de comandos.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
path |
La ruta de acceso al archivo binario que se va a ejecutar. | Cadena | Sí |
arguments |
Contiene una lista de argumentos de la línea de comandos que se utilizarán al ejecutar el archivo binario. | Lista de cadenas | No |
Ejemplo de entrada: instalar. NET
- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Campo | Descripción | Tipo |
---|---|---|
stdout |
Resultado estándar de la ejecución de comandos. | cadena |
Ejemplo de resultados
{ "stdout": "success" }
ExecuteDocument
El módulo de ExecuteDocumentacción añade soporte para documentos de componentes anidados, al ejecutar varios documentos de componentes desde un documento. TOE de AWS valida el documento que se pasa en el parámetro de entrada en tiempo de ejecución.
Restricciones
-
Este módulo de acción se ejecuta una vez, no se permiten reintentos y no existe la opción de establecer límites de tiempo de espera. ExecuteDocumentestablece los siguientes valores predeterminados y devuelve un error si intenta cambiarlos.
-
timeoutSeconds
: -1 -
maxAttempts
: 1
nota
Puede dejar estos valores en blanco y TOE de AWS utilizar los valores predeterminados.
-
-
Se permite la anidación de documentos con una profundidad de hasta tres niveles, pero no más. Tres niveles de anidación se traducen en cuatro niveles de documento, ya que el nivel superior no está anidado. En este escenario, el documento de nivel inferior no debe incluir a ningún otro documento.
-
No se permite la ejecución cíclica de los documentos componentes. Cualquier documento que se llame a sí mismo fuera de una construcción en bucle, o que llame a otro documento en un nivel superior de la cadena de ejecución actual, inicia un ciclo que puede dar como resultado un bucle sin fin. Cuando TOE de AWS detecta una ejecución cíclica, la detiene y registra el error.
Si un documento componente intenta ejecutarse por sí mismo o ejecutar alguno de los documentos componentes que se encuentran más arriba en la cadena de ejecución actual, se produce un error en la ejecución.
Entrada
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
document |
Ruta del documento componente. Entre las opciones válidas se incluyen:
|
Cadena | Sí |
document-s3-bucket-owner |
ID de la cuenta del propietario del bucket de S3 para el bucket de S3 donde se almacenan los documentos de los componentes. (Se recomienda si utiliza S3 URIs en el documento de componentes). |
Cadena | No |
phases |
Fases que se ejecutarán en el documento de componentes, expresadas como una lista separada por comas. Si no se especifica ninguna fase, se ejecutan todas las fases. |
Cadena | No |
parameters |
Parámetros de entrada que se pasan al documento del componente en tiempo de ejecución como pares de valores clave. |
Lista de mapas de parámetros | No |
Entrada de mapa de parámetros
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
name |
El nombre del parámetro de entrada que se va a pasar al documento del componente que está ejecutando el módulo de ExecuteDocumentacción. |
Cadena | Sí |
value |
El valor de un parámetro de entrada. |
Cadena | Sí |
Ejemplos de entradas
Los ejemplos siguientes muestran variaciones de las entradas del documento de componentes, en función de la ruta de instalación.
Ejemplo de entrada: ruta del documento 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
Ejemplo de entrada: S3 URI como ruta de documento
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: s3://my-bucket/Sample-1.yaml document-s3-bucket-owner: 123456789012 phases: build,validate parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Ejemplo de entrada: componente EC2 Image Builder ARN como ruta de documento
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: arn:aws:imagebuilder:us-west-2:aws:component/Sample-Test/1.0.0 phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Uso de un ForEach bucle para ejecutar documentos
# 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
Uso de un bucle For para ejecutar documentos
# 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
Salida
TOE de AWS crea un archivo de salida llamado detailedoutput.json
cada vez que se ejecuta. El archivo contiene detalles sobre cada fase y paso de cada documento componente que se invoca mientras se está ejecutando. Para el módulo de ExecuteDocumentacciones, encontrará un breve resumen del tiempo de ejecución en el outputs
campo y detalles sobre las fases, los pasos y los documentos en los que se ejecutadetailedOutput
.
{ \"executedStepCount\":1,\"executionId\":\"97054e22-06cc-11ec-9b14-acde48001122\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\" }",
El objeto de resumen de resultados de cada documento componente contiene los siguientes detalles, como se muestra aquí, con valores de ejemplo:
-
executedStepCount«:1
-
«:» executionId 12345a67-89bc-01de-2f34-abcd56789012"
-
failedStepCount«" 0
-
"failureMessage":""
-
«ignoredFailedStepContar»: 0
-
"logUrl":""
-
"status":"success"
Ejemplo de resultados
El siguiente ejemplo muestra el resultado del módulo de ExecuteDocumentacciones cuando se produce una ejecución anidada. En este ejemplo, el documento componente main.yaml
ejecuta correctamente el documento componente Sample-1.yaml
.
{ "executionId": "12345a67-89bc-01de-2f34-abcd56789012", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "main.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteNestedDocument", "status": "success", "failureMessage": "", "timeoutSeconds": -1, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteDocument", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"document\":\"Sample-1.yaml\",\"document-s3-bucket-owner\":\"\",\"phases\":\"\",\"parameters\":null}]", "outputs": "[{\"executedStepCount\":1,\"executionId\":\"98765f43-21ed-09cb-8a76-fedc54321098\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\"}]", "loop": null, "detailedOutput": [ { "executionId": "98765f43-21ed-09cb-8a76-fedc54321098", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "Sample-1.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteBashStep", "status": "success", "failureMessage": "", "timeoutSeconds": 7200, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteBash", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"commands\":[\"echo \\\"Hello World!\\\"\"]}]", "outputs": "[{\"stdout\":\"Hello World!\"}]", "loop": null, "detailedOutput": null }] }] }] }] }] }] }] }
ExecutePowerShell
El módulo de ExecutePowerShellacción permite ejecutar PowerShell scripts con códigos o comandos de shell integrados. Este módulo es compatible con la plataforma Windows y Windows. PowerShell
Todos los comandos o instrucciones especificados en el bloque de comandos se convierten en un archivo de script (por ejemploinput.ps1
) y se ejecutan en Windows. PowerShell El resultado de ejecutar el archivo del intérprete de comandos es el código de salida.
El ExecutePowerShellmódulo gestiona los reinicios del sistema si el comando shell se cierra con un código de salida de. 3010
Cuando esto ocurre, la aplicación realiza una de las siguientes acciones:
-
La aplicación entrega el código de salida a la persona que llama si lo ejecuta el Systems Manager Agent. Systems Manager Agent gestiona el reinicio del sistema y ejecuta el mismo paso que lo inició, tal y como se describe en Reiniciar una instancia gestionada desde scripts.
-
La aplicación guarda el
executionstate
actual, configura un activador de reinicio para volver a ejecutar la aplicación y reinicia el sistema.
Tras reiniciar el sistema, la aplicación ejecuta el mismo paso que inició el reinicio. Si necesita esta funcionalidad, debe escribir scripts idempotentes que puedan gestionar múltiples invocaciones del mismo comando del intérprete de comandos.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
commands |
Contiene una lista de instrucciones o comandos que se deben ejecutar según PowerShell la sintaxis. YAMLSe permite el uso de varias líneas. | Lista de cadenas | Sí. Debe especificar los |
file |
Contiene la ruta a un archivo de PowerShell script. PowerShell se ejecutará en este archivo mediante el argumento de la línea de -file comandos. La ruta debe apuntar a un archivo .ps1 . |
Cadena | Sí. Debe especificar los |
Ejemplo de entrada: antes y después de un reinicio
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)
Campo | Descripción | Tipo |
---|---|---|
stdout |
Resultado estándar de la ejecución de comandos. | cadena |
Si ejecuta un reinicio y devuelve el código de salida 3010
como parte del módulo de acción, la compilación se reanudará en el mismo paso del módulo de acción en el que se inició el reinicio. Si ejecuta un reinicio sin el código de salida, es posible que se produzca un error en el proceso de compilación.
Ejemplo de resultado: antes del reinicio (primera vez a través del documento)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Ejemplo de resultado: después del reinicio (segunda vez a través del documento)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
Módulos de descarga y carga de archivos
La siguiente sección contiene detalles sobre los módulos de acción que cargan o descargan archivos.
Descarga y carga los módulos de acción
Descarga S3
Con el módulo de acción S3Download
, puede descargar un objeto de Amazon S3, o un conjunto de objetos, a un archivo o carpeta local que especifique con la ruta destination
. Si ya existe algún archivo en la ubicación especificada y el indicador overwrite
está establecido como true, S3Download
sobrescribe el archivo.
Su ubicación source
puede apuntar a un objeto específico en Amazon S3, o puede usar un prefijo de clave con un asterisco como comodín (*
) para descargar un conjunto de objetos que coincidan con la ruta del prefijo de clave. Al especificar un prefijo de clave en su ubicación source
, el módulo de acción S3Download
descarga todo lo que coincida con el prefijo (archivos y carpetas incluidos). Asegúrese de que el prefijo de clave termine con una barra diagonal seguida de un asterisco (/*
), para descargar todo lo que coincida con el prefijo. Por ejemplo:
.s3://my-bucket/my-folder/*
nota
Antes de la descarga deben existir todas las carpetas de la ruta de destino. De lo contrario, la descarga fallará.
Si la acción S3Download
de un prefijo de clave especificado falla durante una descarga, el contenido de la carpeta no vuelve a su estado anterior al error. La carpeta de destino permanece tal y como estaba en el momento del error.
Casos de uso admitidos
El módulo de acción S3Download
admite los siguientes casos de uso:
-
El objeto Amazon S3 se descarga en una carpeta local, tal y como se especifica en la ruta de descarga.
-
Los objetos de Amazon S3 (con un prefijo de clave en la ruta del archivo de Amazon S3) se descargan en la carpeta local especificada, que copia de forma recursiva todos los objetos de Amazon S3 que coincidan con el prefijo de la clave en la carpeta local.
IAMrequisitos
El IAM rol que asocie al perfil de su instancia debe tener permisos para ejecutar el módulo de S3Download
acción. Las siguientes IAM políticas deben estar asociadas al IAM rol asociado al perfil de instancia:
-
Archivo único:
s3:GetObject
contra el bucket u objeto (por ejemplo,arn:aws:s3:::
).BucketName
/* -
Varios archivos:
s3:ListBucket
contra el bucket u objeto (por ejemplo,arn:aws:s3:::
) yBucketName
s3:GetObject
contra el bucket u objeto (por ejemplo,arn:aws:s3:::
).BucketName
/*
Clave |
Descripción |
Tipo |
Obligatoria |
Predeterminado |
---|---|---|---|---|
|
El bucket de Amazon S3 que es el origen de la descarga. Puede especificar una ruta a un objeto específico o utilizar un prefijo de clave que termine con una barra diagonal seguida de un asterisco comodín ( |
Cadena |
Sí |
N/A |
|
La ruta local en la que se descargan los objetos de Amazon S3. Para descargar un solo archivo, debe especificarse el nombre del archivo como parte de la ruta. Por ejemplo, |
Cadena |
Sí |
N/A |
|
ID de la cuenta de propietario esperada del bucket proporcionado en la ruta |
Cadena |
No |
N/A |
|
Si se establece como true, si ya existe un archivo con el mismo nombre en la carpeta de destino de la ruta local especificada, el archivo de descarga sobrescribe el archivo local. Si se establece como false, el archivo existente en el sistema local está protegido para que no se sobrescriba y el módulo de acción falla y se produce un error de descarga. Por ejemplo, |
Booleano |
No |
true |
nota
En los ejemplos siguientes, la ruta de la carpeta de Windows se puede reemplazar por una ruta de Linux. Por ejemplo, se puede sustituir
por C:\myfolder\package.zip
./myfolder/package.zip
Ejemplo de entrada: copia de un objeto de Amazon S3 a un archivo local
En el siguiente ejemplo, se muestra cómo copiar un objeto de Amazon S3 en un archivo 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
Ejemplo de entrada: copia de todos los objetos de Amazon S3 de un bucket de Amazon S3 con el prefijo de clave a una carpeta local
Ejemplo de entrada: copia todos los objetos de Amazon S3 de un bucket de Amazon S3 con el prefijo de clave a una carpeta local. Amazon S3 no tiene el concepto de carpeta, por lo que se copian todos los objetos que coincidan con el prefijo de clave. El número máximo de objetos que se puede descargar es 1000.
- name: MyS3DownloadKeyprefix action: S3Download maxAttempts: 3 inputs: - source: s3://
amzn-s3-demo-source-bucket/path/to/*
destination: C:\myfolder
\ expectedBucketOwner:123456789022
overwrite:false
- source: s3://amzn-s3-demo-source-bucket/path/to/*
destination:C:\myfolder
\ expectedBucketOwner:123456789022
overwrite:true
- source: s3://amzn-s3-demo-source-bucket/path/to/*
destination:C:\myfolder
\ expectedBucketOwner:123456789022
Salida
Ninguna.
S3Upload
Con el módulo de acción S3Upload, puede cargar un archivo desde un archivo o carpeta de origen a una ubicación de Amazon S3. Puede usar un comodín (*
) en la ruta especificada para su ubicación de origen para cargar todos los archivos cuya ruta coincida con el patrón de comodín.
Si se produce un error en la acción recursiva S3Upload, los archivos que ya se hayan cargado permanecerán en el bucket de Amazon S3 de destino.
Casos de uso admitidos
-
Archivo local del objeto de Amazon S3.
-
Archivos locales en la carpeta (con comodín) con el prefijo de clave de Amazon S3.
-
Copie la carpeta local (
recurse
debe estar configurado comotrue
) al prefijo de clave de Amazon S3.
IAMrequisitos
El IAM rol que asocie al perfil de su instancia debe tener permisos para ejecutar el módulo de S3Upload
acción. La siguiente IAM política debe estar asociada al IAM rol asociado al perfil de instancia. La política debe conceder permisos s3:PutObject
al bucket de Amazon S3 de destino. Por ejemplo, arn:aws:s3:::
).BucketName
/*
Clave |
Descripción |
Tipo |
Obligatoria |
Predeterminado |
---|---|---|---|---|
|
La ruta local en la que se originan los archivos/carpetas de origen. |
Cadena |
Sí |
N/A |
|
La ruta del bucket de Amazon S3 de destino en el que se cargan las carpetas o archivos de origen. |
Cadena |
Sí |
N/A |
|
Cuando se establece como |
Cadena |
No |
|
|
El ID de cuenta del propietario esperado para el bucket de Amazon S3 especificado en la ruta de destino. Le recomendamos que compruebe la propiedad del bucket de Amazon S3 especificado en el destino. |
Cadena |
No |
N/A |
Ejemplo de entrada: copia de un objeto de Amazon S3 a un archivo local
En el siguiente ejemplo, se muestra cómo copiar un objeto de Amazon S3 en un archivo local.
- 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
Ejemplo de entrada: copia de todos los objetos de Amazon S3 de un bucket de Amazon S3 con el prefijo de clave a una carpeta local
Ejemplo de entrada: copia todos los objetos de Amazon S3 de un bucket de Amazon S3 con el prefijo de clave a una carpeta local. En este ejemplo no se copian las subcarpetas ni su contenido porque el recurse
no está especificado y su valor predeterminado es false
.
- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\
myfolder\*
destination: s3://amzn-s3-demo-destination-bucket/path/to/
expectedBucketOwner:123456789022
Ejemplo de entrada: copiar de forma recursiva todos los archivos y carpetas de una carpeta local en un bucket de Amazon S3
El siguiente ejemplo muestra como copiar todos los archivos de forma recursiva de una carpeta local a un bucket de Amazon S3 con el prefijo de clave.
- 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
Salida
Ninguna.
WebDownload
El módulo de WebDownloadacción le permite descargar archivos y recursos desde una ubicación remota mediante el HTTPS protocoloHTTP/(HTTPSse recomienda). No hay límites en cuanto al número ni al tamaño de las descargas. Este módulo gestiona la lógica de reintento y retroceso exponencial.
A cada operación de descarga se le asigna un máximo de 5 intentos para que se realice correctamente según las entradas del usuario. Estos intentos difieren de los especificados en el campo maxAttempts
del documento steps
y están relacionados con errores en los módulos de acción.
Este módulo de acción gestiona los redireccionamientos de forma implícita. Todos los códigos de HTTP estado, excepto 200
el siguiente, producen un error.
Nombre de la clave | Descripción | Tipo | Obligatoria | Predeterminado |
---|---|---|---|---|
source |
ElHTTP/válido HTTPS URL (HTTPSse recomienda), que sigue el estándar RFC 3986. Se permiten expresiones de encadenamiento. | Cadena |
Sí |
N/A |
destination |
Ruta absoluta o relativa de archivos o carpetas del sistema local. Las rutas de las carpetas deben terminar en / . Si no terminan en / , se tratarán como rutas de archivos. El módulo crea cualquier archivo o carpeta necesarios para que las descargas se realicen correctamente. Se permiten expresiones de encadenamiento. |
Cadena | Sí | N/A |
overwrite |
Cuando está activado, sobrescribe cualquier archivo existente en el sistema local con el archivo o recurso descargado. Si no está activado, los archivos existentes en el sistema local no se sobrescriben y el módulo de acción produce un error. Cuando la sobreescritura está habilitada y se especifican la suma de verificación y el algoritmo, el módulo de acción de descarga el archivo solo si la suma de verificación y la almohadilla de los archivos preexistentes no coinciden. | Booleano | No | true |
checksum |
Al especificar la suma de comprobación, se compara con la almohadilla del archivo descargado que se genera con el algoritmo suministrado. Para habilitar la verificación de archivos, se deben proporcionar tanto la suma de verificación como el algoritmo. Se permiten expresiones de encadenamiento. | Cadena | No | N/A |
algorithm |
El algoritmo utilizado para calcular la suma de control. Las opciones sonMD5, SHA1SHA256, ySHA512. Para habilitar la verificación de archivos, se deben proporcionar tanto la suma de verificación como el algoritmo. Se permiten expresiones de encadenamiento. | Cadena | No | N/A |
ignoreCertificateErrors |
SSLla validación del certificado se ignora cuando está habilitada. | Booleano | No | false |
Nombre de la clave | Descripción | Tipo |
---|---|---|
destination |
Cadena de nueva línea delimitada por caracteres que especifica la ruta de destino en la que se almacenan los archivos o recursos descargados. | Cadena |
Ejemplo de entrada: descarga del archivo remoto al destino local
- name: DownloadRemoteFile action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\testfolder\package.zip
Salida:
{ "destination": "C:\\testfolder\\package.zip" }
Ejemplo de entrada: descarga de más de un archivo remoto a más de un destino local
- 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/
Salida:
{ "destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip" }
Ejemplo de entrada: descarga de un archivo remoto sin sobrescribir el destino local y descargar otro archivo remoto con verificación de archivos
- 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
Salida:
{ "destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip" }
Ejemplo de entrada: descargar un archivo remoto e ignorar la validación SSL de la certificación
- name: DownloadRemoteIgnoreValidation action: WebDownload maxAttempts: 3 inputs: - source: https://www.bad-ssl.com/resource destination: /tmp/downloads/ ignoreCertificateErrors: true
Salida:
{ "destination": "/tmp/downloads/resource" }
Módulos de operaciones del sistema de archivos
La siguiente sección contiene detalles de los módulos de acción que realizan operaciones del sistema de archivos.
Módulos de acción de operación del sistema de archivos
AppendFile
El módulo de AppendFileacción añade el contenido especificado al contenido preexistente de un archivo.
Si el valor de codificación del archivo es diferente del valor de codificación (utf-8
) predeterminado, puede especificar el valor de codificación del archivo mediante la opción encoding
. De forma predeterminada, se supone que utf-16
y utf-32
utilizan la codificación little-endian.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
El archivo especificado no existe en tiempo de ejecución.
-
No tiene permisos de escritura para modificar el contenido del archivo.
-
El módulo detecta un error durante la operación del archivo.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | Sí |
content |
El contenido que se va a adjuntar al archivo. | Cadena | No | Cadena vacía | N/A | Sí |
encoding |
El estándar de la codificación. | Cadena | No | 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 , y utf-32-BE . El valor de la opción de codificación no distingue entre mayúsculas y minúsculas. |
Sí |
Ejemplo de entrada: añadir un archivo sin codificar (Linux)
- name: AppendingFileWithOutEncodingLinux action: AppendFile inputs: - path: ./Sample.txt content: "The string to be appended to the file"
Ejemplo de entrada: añadir un archivo sin codificar (Windows)
- name: AppendingFileWithOutEncodingWindows action: AppendFile inputs: - path: C:\MyFolder\MyFile.txt content: "The string to be appended to the file"
Ejemplo de entrada: añadir un archivo con codificación (Linux)
- name: AppendingFileWithEncodingLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Ejemplo de entrada: añadir un archivo con codificación (Windows)
- name: AppendingFileWithEncodingWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Ejemplo de entrada: añadir un archivo con una cadena vacía (Linux)
- name: AppendingEmptyStringLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt
Ejemplo de entrada: añadir un archivo con una cadena vacía (Windows)
- name: AppendingEmptyStringWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt
Salida
Ninguna.
CopyFile
El módulo de CopyFileacción copia los archivos de la fuente especificada al destino especificado. De forma predeterminada, el módulo crea de forma recursiva la carpeta de destino si no existe en tiempo de ejecución.
Si ya existe un archivo con el nombre especificado en la carpeta especificada, el módulo de acción, de forma predeterminada, sobrescribe el archivo existente. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya un archivo en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error. Esta opción funciona igual que el comando de Linux cp
, que se sobrescribe de forma predeterminada.
El nombre del archivo fuente puede incluir un comodín (*
). Los caracteres comodín solo se aceptan después del último separador de ruta del archivo (/
o \
). Si se incluyen caracteres comodín en el nombre del archivo de origen, todos los archivos que coincidan con el comodín se copian en la carpeta de destino. Si desea mover más de un archivo con un carácter comodín, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
), lo que indica que la entrada de destino es una carpeta.
Si el nombre del archivo de destino es diferente del nombre del archivo de origen, puede especificar el nombre del archivo de destino mediante la opción destination
. Si no especifica un nombre de archivo de destino, se utilizará el nombre del archivo de origen para crear el archivo de destino. Cualquier texto que siga al separador (/
o \
) de la última ruta del archivo se trata como el nombre del archivo. Si desea utilizar el mismo nombre de archivo que el archivo de origen, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
).
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear un archivo en la carpeta especificada.
-
Los archivos de origen no existen en tiempo de ejecución.
-
Ya existe una carpeta con el nombre de archivo especificado y la opción
overwrite
está configurada comofalse
. -
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
source |
La ruta del archivo de origen. | Cadena | Sí | N/A | N/A | Sí |
destination |
La ruta del archivo de destino. | Cadena | Sí | N/A | N/A | Sí |
overwrite |
Si se establece como falso, los archivos de destino no se reemplazarán cuando ya haya un archivo en la ubicación especificada con el nombre especificado. | Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: copiar un archivo (Linux)
- name: CopyingAFileLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Ejemplo de entrada: copiar un archivo (Windows)
- name: CopyingAFileWindows action: CopyFile inputs: - source: C:\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Ejemplo de entrada: copia un archivo con el nombre del archivo fuente (Linux)
- name: CopyingFileWithSourceFileNameLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Ejemplo de entrada: copia un archivo con el nombre del archivo fuente (Windows)
- name: CopyingFileWithSourceFileNameWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\
Ejemplo de entrada: copia un archivo con el carácter comodín (Linux)
- name: CopyingFilesWithWildCardLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Ejemplo de entrada: copia un archivo con el carácter comodín (Windows)
- name: CopyingFilesWithWildCardWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Ejemplo de entrada: copiar un archivo sin sobrescribirlo (Linux)
- name: CopyingFilesWithoutOverwriteLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Ejemplo de entrada: copiar un archivo sin sobrescribirlo (Windows)
- name: CopyingFilesWithoutOverwriteWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Salida
Ninguna.
CopyFolder
El módulo de CopyFolderacción copia una carpeta de la fuente especificada al destino especificado. La entrada de la opción source
es la carpeta que se va a copiar y la entrada de la opción destination
es la carpeta en la que se copia el contenido de la carpeta de origen. De forma predeterminada, el módulo crea de forma recursiva la carpeta de destino si no existe en tiempo de ejecución.
Si ya existe una carpeta con el nombre especificado en la carpeta especificada, el módulo de acción, de forma predeterminada, sobrescribe la carpeta existente. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya una carpeta en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error.
El nombre de la carpeta fuente puede incluir un comodín (*
). Los caracteres comodín solo se aceptan después del último separador de ruta del archivo (/
o \
). Si se incluyen caracteres comodín en el nombre de la carpeta de origen, todas las carpetas que coincidan con el comodín se copian en la carpeta de destino. Si desea mover más de una carpeta utilizando un carácter comodín, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
), lo que indica que la entrada de destino es una carpeta.
Si el nombre de la carpeta de destino es diferente del nombre de la carpeta de origen, puede especificar el nombre de la carpeta de destino mediante la opción destination
. Si no especifica un nombre de carpeta de destino, se utilizará el nombre de la carpeta de origen para crear la carpeta de destino. Cualquier texto que siga al separador (/
o \
) de la última ruta del archivo se trata como el nombre de la carpeta. Si desea utilizar el mismo nombre de carpeta que la carpeta de origen, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
).
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear una carpeta en la carpeta especificada.
-
Las carpetas de origen no existen en tiempo de ejecución.
-
Ya existe una carpeta con el nombre de carpeta especificado y la opción
overwrite
está configurada comofalse
. -
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
source |
La ruta de la carpeta de origen. | Cadena | Sí | N/A | N/A | Sí |
destination |
La ruta de la carpeta de destino. | Cadena | Sí | N/A | N/A | Sí |
overwrite |
Si se establece como falso, las carpetas de destino no se reemplazarán cuando ya haya una carpeta en la ubicación especificada con el nombre especificado. | Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: copiar una carpeta (Linux)
- name: CopyingAFolderLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder
Ejemplo de entrada: copiar una carpeta (Windows)
- name: CopyingAFolderWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder
Ejemplo de entrada: copiar una carpeta con el nombre de la carpeta de origen (Linux)
- name: CopyingFolderSourceFolderNameLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/
Ejemplo de entrada: copiar una carpeta con el nombre de la carpeta de origen (Windows)
- name: CopyingFolderSourceFolderNameWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Ejemplo de entrada: copiar una carpeta con el carácter comodín (Linux)
- name: CopyingFoldersWithWildCardLinux action: CopyFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Ejemplo de entrada: copiar una carpeta con el carácter comodín (Windows)
- name: CopyingFoldersWithWildCardWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Ejemplo de entrada: copiar una carpeta sin sobrescribirla (Linux)
- name: CopyingFoldersWithoutOverwriteLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder overwrite: false
Ejemplo de entrada: copiar una carpeta sin sobrescribirla (Windows)
- name: CopyingFoldersWithoutOverwrite action: CopyFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder overwrite: false
Salida
Ninguna.
CreateFile
El módulo de CreateFileacción crea un archivo en una ubicación específica. De forma predeterminada, si es necesario, el módulo también crea de forma recursiva las carpetas principales.
Si el archivo ya existe en la carpeta especificada, el módulo de acción, de forma predeterminada, trunca o sobrescribe el archivo existente. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya un archivo en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error.
Si el valor de codificación del archivo es diferente del valor de codificación (utf-8
) predeterminado, puede especificar el valor de codificación del archivo mediante la opción encoding
. De forma predeterminada, se supone que utf-16
y utf-32
utilizan la codificación little-endian.
owner
, group
, y permissions
son entradas opcionales. La entrada para permissions
debe ser un valor de cadena. Los archivos se crean con los valores predeterminados cuando no se proporcionan. Estas opciones no son compatibles con las plataformas Windows. Este módulo de acción valida y devuelve un error si owner
, group
, y permissions
se utilizan en las plataformas Windows.
Este módulo de acción puede crear un archivo con los permisos definidos por el valor umask
predeterminado del sistema operativo. Debe establecer el valor umask
si quiere anular el valor predeterminado.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear un archivo o una carpeta en la carpeta especificada.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | Sí |
content |
El contenido de texto del archivo. | Cadena | No | N/A | N/A | Sí |
encoding |
El estándar de la codificación. | Cadena | No | 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 , y utf-32-BE . El valor de la opción de codificación no distingue entre mayúsculas y minúsculas. |
Sí |
owner |
El nombre o el ID de usuario. | Cadena | No | N/A | N/A | No es compatible con Windows. |
group |
El nombre o el ID del grupo. | Cadena | No | El usuario actual. | N/A | No es compatible con Windows. |
permissions |
Permisos de archivos. | Cadena | No | 0666 |
N/A | No es compatible con Windows. |
overwrite |
Si el nombre del archivo especificado ya existe, si se establece este valor como false se impide que el archivo se trunque o sobrescriba de forma predeterminada. |
Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: crear un archivo sin sobrescribirlo (Linux)
- name: CreatingFileWithoutOverwriteLinux action: CreateFile inputs: - path: /home/UserName/Sample.txt content: The text content of the sample file. overwrite: false
Ejemplo de entrada: crear un archivo sin sobrescribirlo (Windows)
- name: CreatingFileWithoutOverwriteWindows action: CreateFile inputs: - path: C:\Temp\Sample.txt content: The text content of the sample file. overwrite: false
Ejemplo de entrada: creación de un archivo con las propiedades del archivo
- 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
Ejemplo de entrada: creación de un archivo sin las propiedades de archivo
- name: CreatingFileWithoutFileProperties action: CreateFile inputs: - path: ./Sample.txt - path: Sample1.txt
Ejemplo de entrada: creación de un archivo vacío para omitir una sección del script de limpieza de Linux
- name: CreateSkipCleanupfile action: CreateFile inputs: - path:
<skip section file name>
Para obtener más información, consulte Anule el script de limpieza de Linux..
Salida
Ninguna.
CreateFolder
El módulo de CreateFolderacción crea una carpeta en una ubicación específica. De forma predeterminada, si es necesario, el módulo también crea de forma recursiva las carpetas principales.
Si la carpeta ya existe en la carpeta especificada, el módulo de acción, de forma predeterminada, trunca o sobrescribe la carpeta existente. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya una carpeta en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error.
owner
, group
, y permissions
son entradas opcionales. La entrada para permissions
debe ser un valor de cadena. Estas opciones no son compatibles con las plataformas Windows. Este módulo de acción valida y devuelve un error si owner
, group
, y permissions
se utilizan en las plataformas Windows.
Este módulo de acción puede crear una carpeta con los permisos definidos por el valor predeterminado umask
del sistema operativo. Debe establecer el valor umask
si quiere anular el valor predeterminado.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear una carpeta en la ubicación especificada.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta de la carpeta. | Cadena | Sí | N/A | N/A | Sí |
owner |
El nombre o el ID de usuario. | Cadena | No | El usuario actual. | N/A | No es compatible con Windows. |
group |
El nombre o el ID del grupo. | Cadena | No | El grupo del usuario actual. | N/A | No es compatible con Windows. |
permissions |
Permisos para carpetas. | Cadena | No | 0777 |
N/A | No es compatible con Windows. |
overwrite |
Si el nombre del archivo especificado ya existe, si se establece este valor como false se impide que el archivo se trunque o sobrescriba de forma predeterminada. |
Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: crear una carpeta (Linux)
- name: CreatingFolderLinux action: CreateFolder inputs: - path: /Sample/MyFolder/
Ejemplo de entrada: crear una carpeta (Windows)
- name: CreatingFolderWindows action: CreateFolder inputs: - path: C:\MyFolder
Ejemplo de entrada: creación de una carpeta especificando las propiedades de la carpeta
- name: CreatingFolderWithFolderProperties action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ owner: SampleOwnerName group: SampleGroupName permissions: 0777 - path: /Sample/MyFolder/SampleFoler/ permissions: 777
Ejemplo de entrada: cree una carpeta que sobrescriba la carpeta existente, si la hay.
- name: CreatingFolderWithOverwrite action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ overwrite: true
Salida
Ninguna.
CreateSymlink
El módulo de CreateSymlinkacción crea enlaces simbólicos o archivos que contienen una referencia a otro archivo. Este módulo no es compatible con las plataformas Windows.
La entrada de las opciones path
y target
puede ser una ruta absoluta o relativa. Si la entrada de la opción path
es una ruta relativa, se sustituye por la ruta absoluta cuando se crea el enlace.
De forma predeterminada, cuando ya existe un enlace con el nombre especificado en la carpeta especificada, el módulo de acción devuelve un error. Puede anular este comportamiento al configurar la opción force
como true
. Si la opción force
se establece como true
, el módulo sobrescribirá el enlace existente.
Si no existe una carpeta principal, el módulo de acción crea la carpeta de forma recursiva, de forma predeterminada.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
El archivo de destino no existe en tiempo de ejecución.
-
Ya existe un archivo de enlace no simbólico con el nombre especificado.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
target |
La ruta del archivo de destino al que apunta el enlace simbólico. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
force |
Fuerza la creación de un enlace cuando ya existe un enlace con el mismo nombre. | Booleano | No | false |
N/A | No es compatible con Windows. |
Ejemplo de entrada: creación de un enlace simbólico que obligue a crear un enlace
- name: CreatingSymbolicLinkWithForce action: CreateSymlink inputs: - path: /Folder2/Symboliclink.txt target: /Folder/Sample.txt force: true
Ejemplo de entrada: creación de un enlace simbólico que no obligue a crear un enlace
- name: CreatingSymbolicLinkWithOutForce action: CreateSymlink inputs: - path: Symboliclink.txt target: /Folder/Sample.txt
Salida
Ninguna.
DeleteFile
El módulo de DeleteFileacción elimina uno o varios archivos en una ubicación específica.
La entrada de path
debe ser una ruta de archivo válida o una ruta de archivo con un carácter comodín (*
) en el nombre del archivo. Si se especifican caracteres comodín en el nombre del archivo, se eliminarán todos los archivos de la misma carpeta que coincidan con el comodín.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la operación de eliminación.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | Sí |
Ejemplo de entrada: eliminación de un solo archivo (Linux)
- name: DeletingSingleFileLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/Sample.txt
Ejemplo de entrada: eliminación de un solo archivo (Windows)
- name: DeletingSingleFileWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\Sample.txt
Ejemplo de entrada: eliminación de un archivo que termine en “log” (Linux)
- name: DeletingFileEndingWithLogLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*log
Ejemplo de entrada: eliminación de un archivo que termine en “log” (Windows)
- name: DeletingFileEndingWithLogWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*log
Ejemplo de entrada: eliminación de todos los archivos de una carpeta específica (Linux)
- name: DeletingAllFilesInAFolderLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*
Ejemplo de entrada: eliminación de todos los archivos de una carpeta específica (Windows)
- name: DeletingAllFilesInAFolderWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*
Salida
Ninguna.
DeleteFolder
El módulo DeleteFolderde acción elimina las carpetas.
Si la carpeta no está vacía, debe configurar la opción force
como true
para eliminar la carpeta y su contenido. Si no establece la force
opción como true
y la carpeta que intenta eliminar no está vacía, el módulo de acción mostrará un error. El valor predeterminado de la opción force
es false
.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la operación de eliminación.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta de la carpeta. | Cadena | Sí | N/A | N/A | Sí |
force |
Elimina la carpeta esté vacía o no. | Booleano | No | false |
N/A | Sí |
Ejemplo de entrada: elimine una carpeta que no esté vacía mediante la opción force
(Linux)
- name: DeletingFolderWithForceOptionLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/ force: true
Ejemplo de entrada: elimine una carpeta que no esté vacía mediante la opción force
(Windows)
- name: DeletingFolderWithForceOptionWindows action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\ force: true
Ejemplo de entrada: eliminación de una carpeta (Linux)
- name: DeletingFolderWithOutForceLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/
Ejemplo de entrada: eliminación de una carpeta (Windows)
- name: DeletingFolderWithOutForce action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\
Salida
Ninguna.
ListFiles
El módulo de ListFilesacción muestra los archivos de una carpeta específica. Cuando la opción recursiva está establecida como true
, muestra los archivos en subcarpetas. De forma predeterminada, este módulo no muestra los archivos de las subcarpetas.
Para enumerar todos los archivos con nombres que coincidan con un patrón específico, utilice la opción fileNamePattern
para proporcionar el patrón. La opción fileNamePattern
acepta el valor comodín (*
). Cuando se proporciona el fileNamePattern
, se devuelven todos los archivos que coincidan con el formato de nombre de archivo especificado.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
La carpeta especificada no existe en tiempo de ejecución.
-
No tiene permiso para crear un archivo o una carpeta en la carpeta especificada.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta de la carpeta. | Cadena | Sí | N/A | N/A | Sí |
fileNamePattern |
El patrón que debe coincidir para mostrar todos los archivos con nombres que coincidan con el patrón. | Cadena | No | N/A | N/A | Sí |
recursive |
Muestra los archivos de la carpeta de forma recursiva. | Booleano | No | false |
N/A | Sí |
Ejemplo de entrada: lista los archivos de la carpeta especificada (Linux)
- name: ListingFilesInSampleFolderLinux action: ListFiles inputs: - path: /Sample/MyFolder/Sample
Ejemplo de entrada: lista los archivos de la carpeta especificada (Windows)
- name: ListingFilesInSampleFolderWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\Sample
Ejemplo de entrada: lista los archivos que terminan en “log” (Linux)
- name: ListingFilesWithEndingWithLogLinux action: ListFiles inputs: - path: /Sample/MyFolder/ fileNamePattern: *log
Ejemplo de entrada: lista los archivos que terminan en “log” (Windows)
- name: ListingFilesWithEndingWithLogWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\ fileNamePattern: *log
Ejemplo de entrada: lista los archivos de forma recursiva
- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Nombre de la clave | Descripción | Tipo |
---|---|---|
files |
La lista de archivos. | Cadena |
Ejemplo de resultados
{ "files": "/sample1.txt,/sample2.txt,/sample3.txt" }
MoveFile
El módulo de MoveFileacción mueve los archivos del origen especificado al destino especificado.
Si el archivo ya existe en la carpeta especificada, el módulo de acción sobrescribe el archivo existente de forma predeterminada. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya un archivo en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error. Esta opción funciona igual que el comando de Linux mv
, que se sobrescribe de forma predeterminada.
El nombre del archivo fuente puede incluir un comodín (*
). Los caracteres comodín solo se aceptan después del último separador de ruta del archivo (/
o \
). Si se incluyen caracteres comodín en el nombre del archivo de origen, todos los archivos que coincidan con el comodín se copian en la carpeta de destino. Si desea mover más de un archivo con un carácter comodín, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
), lo que indica que la entrada de destino es una carpeta.
Si el nombre del archivo de destino es diferente del nombre del archivo de origen, puede especificar el nombre del archivo de destino mediante la opción destination
. Si no especifica un nombre de archivo de destino, se utilizará el nombre del archivo de origen para crear el archivo de destino. Cualquier texto que siga al separador (/
o \
) de la última ruta del archivo se trata como el nombre del archivo. Si desea utilizar el mismo nombre de archivo que el archivo de origen, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
).
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear un archivo en la carpeta especificada.
-
Los archivos de origen no existen en tiempo de ejecución.
-
Ya existe una carpeta con el nombre de archivo especificado y la opción
overwrite
está configurada comofalse
. -
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
source |
La ruta del archivo de origen. | Cadena | Sí | N/A | N/A | Sí |
destination |
La ruta del archivo de destino. | Cadena | Sí | N/A | N/A | Sí |
overwrite |
Si se establece como falso, los archivos de destino no se reemplazarán cuando ya haya un archivo en la ubicación especificada con el nombre especificado. | Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: mover un archivo (Linux)
- name: MovingAFileLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Ejemplo de entrada: mover un archivo (Windows)
- name: MovingAFileWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Ejemplo de entrada: mueva un archivo utilizando el nombre del archivo fuente (Linux)
- name: MovingFileWithSourceFileNameLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Ejemplo de entrada: mueva un archivo con el nombre del archivo fuente (Windows)
- name: MovingFileWithSourceFileNameWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder
Ejemplo de entrada: mover un archivo con un carácter comodín (Linux)
- name: MovingFilesWithWildCardLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Ejemplo de entrada: mover un archivo con un carácter comodín (Windows)
- name: MovingFilesWithWildCardWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder
Ejemplo de entrada: mover un archivo sin sobrescribirlo (Linux)
- name: MovingFilesWithoutOverwriteLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Ejemplo de entrada: mover un archivo sin sobrescribirlo (Windows)
- name: MovingFilesWithoutOverwrite action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Salida
Ninguna.
MoveFolder
El módulo de MoveFolderacción mueve las carpetas del origen especificado al destino especificado. La entrada de la opción source
es la carpeta que se va a mover y la entrada de la opción destination
es la carpeta en la que se mueve el contenido de la carpeta de origen.
Si la carpeta principal de destino o la entrada de la opción destination
no existen en tiempo de ejecución, el comportamiento predeterminado del módulo es crear la carpeta de forma recursiva en el destino especificado.
Si ya existe una carpeta con el nombre especificado en la carpeta especificada, el módulo de acción, de forma predeterminada, sobrescribe la carpeta existente. Puede anular este comportamiento al configurar la opción sobrescribir como false
. Cuando la opción de sobreescritura esté establecida como false
y ya haya una carpeta en la ubicación especificada con el nombre especificado, el módulo de acción devolverá un error.
El nombre de la carpeta fuente puede incluir un comodín (*
). Los caracteres comodín solo se aceptan después del último separador de ruta del archivo (/
o \
). Si se incluyen caracteres comodín en el nombre de la carpeta de origen, todas las carpetas que coincidan con el comodín se copian en la carpeta de destino. Si desea mover más de una carpeta con un carácter comodín, la entrada de la opción destination
debe terminar con un separador de rutas de archivos (/
o \
), lo que indica que la entrada de destino es una carpeta.
Si el nombre de la carpeta de destino es diferente del nombre de la carpeta de origen, puede especificar el nombre de la carpeta de destino mediante la opción destination
. Si no especifica un nombre de carpeta de destino, se utilizará el nombre de la carpeta de origen para crear la carpeta de destino. Cualquier texto que siga al separador (/
o \
) de la última ruta del archivo se trata como el nombre de la carpeta. Si desea utilizar el mismo nombre de carpeta que la carpeta de origen, la entrada de la opción destination
debe terminar con un separador de rutas de archivo (/
o \
).
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para crear una carpeta en la carpeta de destino.
-
Las carpetas de origen no existen en tiempo de ejecución.
-
Ya existe una carpeta con el nombre especificado y la opción
overwrite
está configurada comofalse
. -
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
source |
La ruta de la carpeta de origen. | Cadena | Sí | N/A | N/A | Sí |
destination |
La ruta de la carpeta de destino. | Cadena | Sí | N/A | N/A | Sí |
overwrite |
Si se establece como falso, las carpetas de destino no se reemplazarán cuando ya haya una carpeta en la ubicación especificada con el nombre especificado. | Booleano | No | true |
N/A | Sí |
Ejemplo de entrada: mover una carpeta (Linux)
- name: MovingAFolderLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder
Ejemplo de entrada: mover una carpeta (Windows)
- name: MovingAFolderWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder
Ejemplo de entrada: mover una carpeta con el nombre de la carpeta de origen (Linux)
- name: MovingFolderWithSourceFolderNameLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/
Ejemplo de entrada: mover una carpeta con el nombre de la carpeta de origen (Windows)
- name: MovingFolderWithSourceFolderNameWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Ejemplo de entrada: mover una carpeta con un carácter comodín (Linux)
- name: MovingFoldersWithWildCardLinux action: MoveFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Ejemplo de entrada: mover una carpeta con un carácter comodín (Windows)
- name: MovingFoldersWithWildCardWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Ejemplo de entrada: mover una carpeta sin sobrescribirla (Linux)
- name: MovingFoldersWithoutOverwriteLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder overwrite: false
Ejemplo de entrada: mover una carpeta sin sobrescribirla (Windows)
- name: MovingFoldersWithoutOverwriteWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder overwrite: false
Salida
Ninguna.
ReadFile
El módulo de ReadFileacción lee el contenido de un archivo de texto de tipo cadena. Este módulo se puede utilizar para leer el contenido de un archivo y utilizarlo en los pasos siguientes mediante el encadenamiento o para leer los datos del archivo console.log
. Si la ruta especificada es un enlace simbólico, este módulo devuelve el contenido del archivo de destino. Este módulo solo admite archivos de texto.
Si el valor de codificación del archivo es diferente del valor de codificación (utf-8
) predeterminado, puede especificar el valor de codificación del archivo mediante la opción encoding
. De forma predeterminada, se supone que utf-16
y utf-32
utilizan la codificación little-endian.
De forma predeterminada, este módulo no puede imprimir el contenido del archivo en el archivo. console.log
Puede anular esta configuración configurando la propiedad printFileContent
como true
.
Este módulo solo puede devolver el contenido de un archivo. No puede analizar archivos, como Excel o JSON archivos.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
El archivo no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | Sí |
encoding |
El estándar de la codificación. | Cadena | No | 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 , y utf-32-BE . El valor de la opción de codificación no distingue entre mayúsculas y minúsculas. |
Sí |
printFileContent |
Imprime el contenido del archivo en el archivo console.log . |
Booleano | No | false | N/A | Sí. |
Ejemplo de entrada: leer un archivo (Linux)
- name: ReadingFileLinux action: ReadFile inputs: - path: /home/UserName/SampleFile.txt
Ejemplo de entrada: leer un archivo (Windows)
- name: ReadingFileWindows action: ReadFile inputs: - path: C:\Windows\WindowsUpdate.log
Ejemplo de entrada: cómo leer un archivo y especificar el estándar de codificación
- name: ReadingFileWithFileEncoding action: ReadFile inputs: - path: /FolderName/SampleFile.txt encoding: UTF-32
Ejemplo de entrada: cómo leer un archivo e imprimirlo en el archivo console.log
- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Campo | Descripción | Tipo |
---|---|---|
content |
El contenido del archivo. | cadena |
Ejemplo de resultados
{ "content" : "The file content" }
SetFileEncoding
El módulo de SetFileEncodingacción modifica la propiedad de codificación de un archivo existente. Este módulo puede convertir la codificación de archivos utf-8
a un estándar de codificación específico. De forma predeterminada, utf-16
y utf-32
se supone que utilizan la codificación little-endian.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la modificación especificada.
-
El archivo no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | Sí |
encoding |
El estándar de la codificación. | Cadena | No | 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 , y utf-32-BE . El valor de la opción de codificación no distingue entre mayúsculas y minúsculas. |
Sí |
Ejemplo de entrada: cómo establecer la propiedad de codificación del archivo
- name: SettingFileEncodingProperty action: SetFileEncoding inputs: - path: /home/UserName/SampleFile.txt encoding: UTF-16
Salida
Ninguna.
SetFileOwner
El módulo de SetFileOwneracción modifica las propiedades del group
propietario owner
y las propiedades del propietario de un archivo existente. Si el archivo especificado es un enlace simbólico, el módulo modifica la propiedad owner
del archivo fuente. Este módulo no es compatible con las plataformas Windows.
Este módulo acepta nombres de usuarios y grupos como entradas. Si no se proporciona el nombre del grupo, el módulo asigna el propietario del archivo al grupo al que pertenece el usuario.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la modificación especificada.
-
El nombre de usuario o grupo especificado no existe en el tiempo de ejecución.
-
El archivo no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
owner |
El nombre de usuario. | cadena | Sí | N/A | N/A | No es compatible con Windows. |
group |
El nombre del grupo de usuarios. | Cadena | No | El nombre del grupo al que pertenece el usuario. | N/A | No es compatible con Windows. |
Ejemplo de entrada: cómo establecer la propiedad del propietario del archivo sin especificar el nombre del grupo de usuarios
- name: SettingFileOwnerPropertyNoGroup action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser
Ejemplo de entrada: establezca la propiedad del propietario del archivo especificando el propietario y el grupo de usuarios
- name: SettingFileOwnerProperty action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser group: LinuxUserGroup
Salida
Ninguna.
SetFolderOwner
El módulo de SetFolderOwneracción modifica de forma recursiva las propiedades de group
propietario owner
y de propiedad de una carpeta existente. De forma predeterminada, el módulo puede modificar la propiedad de todo el contenido de una carpeta. Para omitir este comportamiento, se puede configurar la opción recursive
como false
. Este módulo no es compatible con las plataformas Windows.
Este módulo acepta nombres de usuarios y grupos como entradas. Si no se proporciona el nombre del grupo, el módulo asigna el propietario del archivo al grupo al que pertenece el usuario.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la modificación especificada.
-
El nombre de usuario o grupo especificado no existe en el tiempo de ejecución.
-
La carpeta no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta de la carpeta. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
owner |
El nombre de usuario. | cadena | Sí | N/A | N/A | No es compatible con Windows. |
group |
El nombre del grupo de usuarios. | Cadena | No | El nombre del grupo al que pertenece el usuario. | N/A | No es compatible con Windows. |
recursive |
Anula el comportamiento predeterminado de modificar la propiedad de todo el contenido de una carpeta cuando se establece como false . |
Booleano | No | true |
N/A | No es compatible con Windows. |
Ejemplo de entrada: cómo establecer la propiedad del propietario de la carpeta sin especificar el nombre del grupo de usuarios
- name: SettingFolderPropertyWithOutGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser
Ejemplo de entrada: cómo establecer la propiedad del propietario de la carpeta sin anular la propiedad de todo el contenido de una carpeta
- name: SettingFolderPropertyWithOutRecursively action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser recursive: false
Ejemplo de entrada: cómo establecer la propiedad del propietario del archivo especificando el nombre del grupo de usuarios
- name: SettingFolderPropertyWithGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser group: LinuxUserGroup
Salida
Ninguna.
SetFilePermissions
El módulo de SetFilePermissionsacciones modifica las permissions
de un archivo existente. Este módulo no es compatible con las plataformas Windows.
La entrada para permissions
debe ser un valor de cadena.
Este módulo de acción puede crear un archivo con los permisos definidos por el valor umask predeterminado del sistema operativo. Debe establecer el valor umask
si quiere anular el valor predeterminado.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la modificación especificada.
-
El archivo no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta del archivo. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
permissions |
Permisos de archivos. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
Ejemplo de entrada: modificación de los permisos de los archivos
- name: ModifyingFilePermissions action: SetFilePermissions inputs: - path: /home/UserName/SampleFile.txt permissions: 766
Salida
Ninguna.
SetFolderPermissions
El módulo de SetFolderPermissionsacción modifica de forma recursiva permissions
la carpeta existente y todos sus subarchivos y subcarpetas. De forma predeterminada, este módulo puede modificar los permisos para todo el contenido de la carpeta especificada. Para omitir este comportamiento, se puede configurar la opción recursive
como false
. Este módulo no es compatible con las plataformas Windows.
La entrada para permissions
debe ser un valor de cadena.
Este módulo de acción puede modificar los permisos según el valor de umask predeterminado del sistema operativo. Debe establecer el valor umask
si quiere anular el valor predeterminado.
El módulo de acción devuelve un error cuando ocurre lo siguiente:
-
No tiene permiso para realizar la modificación especificada.
-
La carpeta no existe en el tiempo de ejecución.
-
El módulo de acción detecta un error al realizar la operación.
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables | Compatible con todas las plataformas |
---|---|---|---|---|---|---|
path |
La ruta de la carpeta. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
permissions |
Permisos para carpetas. | Cadena | Sí | N/A | N/A | No es compatible con Windows. |
recursive |
Anula el comportamiento predeterminado de modificar los permisos de todo el contenido de una carpeta cuando se establece como false . |
Booleano | No | true |
N/A | No es compatible con Windows. |
Ejemplo de entrada: establecimiento de permisos de carpeta
- name: SettingFolderPermissions action: SetFolderPermissions inputs: - path: SampleFolder/ permissions: 0777
Ejemplo de entrada: cómo establecer los permisos de una carpeta sin modificar los permisos para todo el contenido de una carpeta
- name: SettingFolderPermissionsNoRecursive action: SetFolderPermissions inputs: - path: /home/UserName/SampleFolder/ permissions: 777 recursive: false
Salida
Ninguna.
Acciones de instalación de software
En la siguiente sección se describen los módulos de acción que instalan o desinstalan software.
IAMrequisitos
Si la ruta de descarga de la instalación es un S3URI, el IAM rol que asocie al perfil de la instancia debe tener permiso para ejecutar el módulo de S3Download
acción. Para conceder el permiso necesario, adjunta la S3:GetObject
IAM política al IAM rol que está asociado al perfil de tu instancia y especifica la ruta del bucket. Por ejemplo,
).arn:aws:s3:::
BucketName
/*
MSIEntradas complejas
Si las cadenas de entrada contienen caracteres entre comillas dobles ("
), debe utilizar uno de los siguientes métodos para asegurarse de que se interpretan correctamente:
-
Puede utilizar comillas simples (') en la parte exterior de la cadena para contenerla y comillas dobles (") dentro de la cadena, como se muestra en el siguiente ejemplo.
properties: COMPANYNAME: '"Acme ""Widgets"" and ""Gizmos."""'
En este caso, si necesita usar un apóstrofo dentro de la cadena, debe evitarlo. Esto significa usar otra comilla simple (') antes del apóstrofo.
-
Puede usar comillas dobles (") en la parte exterior de la cadena para contenerla. Además, puede evitar las comillas dobles que haya dentro de la cadena utilizando el carácter de barra invertida (
\
), como se muestra en el siguiente ejemplo.properties: COMPANYNAME: "\"Acme \"\"Widgets\"\" and \"\"Gizmos.\"\"\""
Ambos métodos pasan el valor COMPANYNAME="Acme ""Widgets""
and ""Gizmos."""
al comando msiexec.
Módulos de acción de instalación de software
Instalar MSI
El módulo de InstallMSI
acción instala una aplicación de Windows mediante un MSI archivo. Puede especificar el MSI archivo mediante una ruta local, un objeto URI S3 o una webURL. La opción de reinicio configura el comportamiento de reinicio del sistema.
TOE de AWS genera el msiexec comando en función de los parámetros de entrada del módulo de acción. Los valores de los path
parámetros de entrada logFile
(ubicación del MSI archivo) y (ubicación del archivo de registro) deben escribirse entre comillas («).
Los siguientes códigos de MSI salida se consideran correctos:
-
0 (Success)
-
1614 (ERROR_ PRODUCT _UNINSTALLED)
-
1641 (reinicio iniciado)
-
3010 (es necesario reiniciar)
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables |
---|---|---|---|---|---|
path |
Especifique la ubicación del MSI archivo mediante una de las siguientes opciones:
Se permite el encadenamiento de expresiones. |
Cadena | Sí | N/A | N/A |
reboot |
Configure el comportamiento de reinicio del sistema después de que el módulo de acción se ejecute correctamente. Configuración:
|
Cadena | No | Allow |
Allow, Force, Skip |
logOptions |
Especifique las opciones que se van a utilizar para el registro MSI de la instalación. Los indicadores especificados se pasan al MSI instalador junto con el parámetro de línea de Para obtener más información sobre las opciones de registroMSI, consulte Opciones de línea de comandos |
Cadena | No | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Una ruta absoluta o relativa a la ubicación del archivo de registro. Si la ruta del archivo de registro no existe, créela. Si no se proporciona la ruta del archivo de registro, TOE de AWS no almacena el registro MSI de instalación. |
Cadena | No | N/A | N/A |
properties |
MSIregistrar pares clave-valor de propiedades, por ejemplo:
Nota: No se permite la modificación de las siguientes propiedades:
|
Map[String]String | No | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Marcador para ignorar los errores de validación de la firma de Authenticode para el instalador especificado en la ruta. El comando Get-AuthenticodeSignature se utiliza para validar los instaladores. Configuración:
|
Booleano | No | false |
true, false |
allowUnsignedInstaller |
Marca que permite ejecutar el instalador sin firma especificado en la ruta. El comando Get-AuthenticodeSignature se utiliza para validar los instaladores. Configuración:
|
Booleano | No | false |
true, false |
Ejemplos
Los ejemplos siguientes muestran variaciones de la sección de entrada de su documento de componentes, en función de la ruta de instalación.
Ejemplo de entrada: instalación de la ruta del documento 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
Ejemplo de entrada: instalación de la ruta 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
Ejemplo de entrada: instalación de una ruta 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
Salida
Véase a continuación un ejemplo de la salida del módulo de acción InstallMSI
.
{ "logFile": "web-path-install.log", "msiExitCode": 0, "stdout": "" }
Desinstalar MSI
El módulo de UninstallMSI
acción le permite eliminar una aplicación de Windows mediante un MSI archivo. Puede especificar la ubicación del MSI archivo mediante una ruta de archivo local, un objeto URI S3 o una webURL. La opción de reinicio configura el comportamiento de reinicio del sistema.
TOE de AWS genera el msiexec comando en función de los parámetros de entrada del módulo de acción. La ubicación del MSI archivo (path
) y la ubicación del archivo de registro (logFile
) se escriben explícitamente entre comillas dobles («) al generar el msiexec comando.
Los siguientes códigos de MSI salida se consideran correctos:
-
0 (Success)
-
1605 (ERROR_ UNKNOWN _PRODUCT)
-
1614 (ERROR_ _PRODUCT) UNINSTALLED
-
1641 (reinicio iniciado)
-
3010 (es necesario reiniciar)
Nombre de la clave | Descripción | Tipo | Obligatoria | Valor predeterminado | Valores aceptables |
---|---|---|---|---|---|
path |
Especifique la ubicación del MSI archivo mediante una de las siguientes opciones:
Se permite el encadenamiento de expresiones. |
Cadena | Sí | N/A | N/A |
reboot |
Configura el comportamiento de reinicio del sistema después de que el módulo de acción se ejecute correctamente. Configuración:
|
Cadena | No | Allow |
Allow, Force, Skip |
logOptions |
Especifique las opciones que se van a utilizar para el registro MSI de la instalación. Los indicadores especificados se pasan al MSI instalador junto con el parámetro de línea de Para obtener más información sobre las opciones de registroMSI, consulte Opciones de línea de comandos |
Cadena | No | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Una ruta absoluta o relativa a la ubicación del archivo de registro. Si la ruta del archivo de registro no existe, créela. Si no se proporciona la ruta del archivo de registro, TOE de AWS no almacena el registro MSI de instalación. |
Cadena | No | N/A | N/A |
properties |
MSIregistrar pares clave-valor de propiedades, por ejemplo:
Nota: No se permite la modificación de las siguientes propiedades:
|
Map[String]String | No | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Marcador para ignorar los errores de validación de la firma de Authenticode para el instalador especificado en la ruta. El comando Get-AuthenticodeSignature se utiliza para validar los instaladores. Configuración:
|
Booleano | No | false |
true, false |
allowUnsignedInstaller |
Marca que permite ejecutar el instalador sin firma especificado en la ruta. El comando Get-AuthenticodeSignature se utiliza para validar los instaladores. Configuración:
|
Booleano | No | false |
true, false |
Ejemplos
Los ejemplos siguientes muestran variaciones de la sección de entrada de su documento de componentes, en función de la ruta de instalación.
Ejemplo de entrada: eliminación de la instalación de la ruta del documento 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
Ejemplo de entrada: eliminación de la instalación de la ruta 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
Ejemplo de entrada: eliminación de la instalación de una ruta 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
Salida
Véase a continuación un ejemplo de la salida del módulo de acción UninstallMSI
.
{ "logFile": "web-path-uninstall.log", "msiExitCode": 0, "stdout": "" }
Módulos de acción del sistema
En la siguiente sección se describen los módulos de acción que realizan acciones del sistema o actualizan la configuración del sistema.
Módulos de acción del sistema
Reboot
El módulo de acción Reboot reinicia la instancia. Tiene una opción configurable para retrasar el inicio del reinicio. De forma predeterminada, delaySeconds
está configurada como 0
, lo que significa que no hay ningún retraso. El tiempo de espera por pasos no es compatible con el módulo de acción de reinicio, ya que no se aplica cuando se reinicia la instancia.
Si Systems Manager Agent invoca la aplicación, entrega el código de salida (3010
para Windows o 194
Linux) a Systems Manager Agent. Systems Manager Agent gestiona el reinicio del sistema tal y como se describe en Reiniciar una instancia gestionada desde scripts.
Si la aplicación se invoca en el host como un proceso independiente, guarda el estado de ejecución actual, configura un activador de ejecución automática posterior al reinicio para volver a ejecutar la aplicación después del reinicio y, a continuación, reinicia el sistema.
Activador de ejecución automática posterior al reinicio:
-
Windows. TOE de AWS crea una entrada del programador de tareas de Windows con un activador que se ejecuta automáticamente en
SystemStartup
-
Linux. TOE de AWS agrega un trabajo en crontab que se ejecuta automáticamente después de que el sistema se reinicie.
@reboot /download/path/awstoe run --document s3://bucket/key/doc.yaml
Este activador se borra cuando se inicia la aplicación.
Reintentos
De forma predeterminada, el número máximo de reintentos se establece en CommandRetryLimit
de Systems Manager. Si el número de reinicios supera el límite de reintentos, se produce un error en la automatización. Para cambiar el límite, puede editar el archivo de configuración del agente de Systems Manager (Mds.CommandRetryLimit
). Consulte Runtime Configuration
Para utilizar el módulo de acción reinicio, para los pasos que contienen el reinicio exitcode
(por ejemplo, 3010
), debe ejecutar la aplicación binaria como sudo user
.
Nombre de la clave | Descripción | Tipo | Obligatoria | Predeterminado |
---|---|---|---|---|
delaySeconds |
Retrasa un tiempo específico antes de iniciar un reinicio. | Entero |
No |
|
Ejemplo de entrada: paso de reinicio
- name: RebootStep action: Reboot onFailure: Abort maxAttempts: 2 inputs: delaySeconds: 60
Salida
Ninguna.
Cuando finalice el módulo Reboot, Generador de Imágenes continúa con el siguiente paso de la compilación.
SetRegistry
El módulo de SetRegistryacciones acepta una lista de entradas y permite establecer el valor de la clave de registro especificada. Si no existe una clave de registro, se crea en la ruta definida. Esta característica solo se aplica a los clientes de Windows.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
path |
Ruta de la clave de registro. | Cadena | Sí |
name |
Nombre de la clave de registro. | Cadena | Sí |
value |
Valor de la clave de registro. | String/Number/Array | Sí |
type |
Valor de la clave de registro. | Cadena | Sí |
Prefijos de ruta admitidos
-
HKEY_CLASSES_ROOT / HKCR:
-
HKEY_USERS / HKU:
-
HKEY_LOCAL_MACHINE / HKLM:
-
HKEY_CURRENT_CONFIG / HKCC:
-
HKEY_CURRENT_USER / HKCU:
Tipos admitidos
-
BINARY
-
DWORD
-
QWORD
-
SZ
-
EXPAND_SZ
-
MULTI_SZ
Ejemplo de entrada: cómo establecer los valores de las claves de registro
- name: SetRegistryKeyValues action: SetRegistry maxAttempts: 3 inputs: - path: HKLM:\SOFTWARE\
MySoftWare
name:MyName
value: FirstVersionSoftware type: SZ - path: HKEY_CURRENT_USER\Software\Test name: Version value: 1.1 type: DWORD
Salida
Ninguna.
Actualizar OS
El módulo de acción UpdateOS añade soporte para instalar actualizaciones de Windows y Linux. Instala todas las actualizaciones disponibles de forma predeterminada. Como alternativa, puede configurar una lista de una o más actualizaciones específicas para que las instale el módulo de acción. También puede especificar las actualizaciones para excluirlas de la instalación.
Si se proporcionan listas de "incluir" y "excluir", la lista de actualizaciones resultante solo podrá incluir las incluidas en la lista de "inclusión" que no estén incluidas en la lista de "excluidas".
nota
UpdateOS no es compatible con Amazon Linux 2023 (AL2023). Le recomendamos que actualice su base AMI a la nueva versión que viene con cada versión. Para ver otras alternativas, consulte Controlar las actualizaciones recibidas de las versiones principales y secundarias en la Guía del usuario de Amazon Linux 2023.
-
Windows. Las actualizaciones se instalan desde la fuente de actualización configurada en la máquina de destino.
-
Linux. La aplicación busca el administrador de paquetes compatible en la plataforma Linux y utiliza un administrador de paquetes
yum
oapt-get
. Si ninguna de las opciones es compatible, se devuelve un error. Debe tener permisossudo
para ejecutar el módulo de acción UpdateOS. Si no tiene permisossudo
se devuelve unerror.Input
.
Nombre de la clave | Descripción | Tipo | Obligatoria |
---|---|---|---|
include |
Para Windows puede especificar lo siguiente:
Para Linux, puede especificar uno o más paquetes para incluirlos en la lista de actualizaciones para su instalación. |
Lista de cadenas | No |
exclude |
Para Windows puede especificar lo siguiente:
Para Linux, puede especificar uno o más paquetes para incluirlos en la lista de actualizaciones para su instalación. |
Lista de cadenas | No |
Ejemplo de entrada: cómo añadir soporte para instalar actualizaciones de Linux
- name: UpdateMyLinux action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: exclude: - ec2-hibinit-agent
Ejemplo de entrada: cómo añadir soporte para instalar actualizaciones de Windows
- name: UpdateWindowsOperatingSystem action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: include: - KB1234567 - '*Security*'
Salida
Ninguna.