Módulos de acción compatibles con el administrador de componentes TOE de AWS - Generador de Imágenes de EC2

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 Image Builder de EC2, TOE de AWS utilizan módulos de acción para ayudar a configurar las instancias de EC2 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.

TOE de AWS los componentes se crean con documentos YAML de texto simple. 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.

Módulos de ejecución general

La siguiente sección contiene detalles de los módulos de acción que ejecutan comandos e instrucciones de ejecución generales.

ExecuteBash

El módulo de ExecuteBashacción le permite ejecutar scripts bash con códigos/comandos de shell en línea. 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.

Entrada
Primitivo Descripción Tipo Obligatoria
commands Contiene una lista de instrucciones o comandos para ejecutar según la sintaxis de bash. Se permite el YAML multilínea. Enumeración

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
Salida
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.

Entrada
Primitivo Descripción Tipo Obligatoria
path La ruta de acceso al archivo binario que se va a ejecutar. Cadena
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: install.NET

- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Salida
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 solo 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.

Restricciones de nivel de anidación para el módulo de ExecuteDocument acción.

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

Primitivo Descripción Tipo Obligatoria
document

Ruta del documento componente. Entre las opciones válidas se incluyen:

  • Rutas de archivo locales

  • URI de S3

  • ARN de la versión de compilación del componente de Generador de Imágenes de EC2

Cadena
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 URI de S3 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

Primitivo Descripción Tipo Obligatoria
name

El nombre del parámetro de entrada que se va a pasar al documento de componentes que está ejecutando el módulo de ExecuteDocumentacción.

Cadena
value

El valor de un parámetro de entrada.

Cadena
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: URI de S3 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: ARN del componente Generador de Imágenes de EC2 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.

Entrada
Primitivo Descripción Tipo Obligatoria
commands Contiene una lista de instrucciones o comandos que se deben ejecutar según PowerShell la sintaxis. Se permite el YAML multilínea. Lista de cadenas

Sí. Debe especificar los commands o el file no ambos.

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 commands o el file no ambos.

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)
Salida
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 de los módulos de acción que ejecutan comandos e instrucciones de ejecución generales.

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.

Requisitos de IAM

El rol de IAM que asocie al perfil de instancia debe tener permiso para ejecutar el módulo de acción S3Download. Las siguientes políticas de IAM se deben adjuntar al rol de IAM 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:::BucketName) y s3:GetObject contra el bucket u objeto (por ejemplo, arn:aws:s3:::BucketName/*).

Entrada

Primitivo

Descripción

Tipo

Obligatoria

Predeterminado

source

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 (/*), para descargar un conjunto de objetos que coincidan con el prefijo de clave.

Cadena

N/A

destination

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, /myfolder/package.zip.

Cadena

N/A

expectedBucketOwner

ID de la cuenta de propietario esperada del bucket proporcionado en la ruta source. Le recomendamos que compruebe la propiedad del bucket de Amazon S3 especificado en la fuente.

Cadena

No

N/A

overwrite

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, Error: S3Download: File already exists and "overwrite" property for "destination" file is set to false. Cannot download.

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 C:\myfolder\package.zip por /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://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: false - source: s3://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022 overwrite: true - source: s3://mybucket/path/to/package.zip destination: C:\myfolder\package.zip expectedBucketOwner: 123456789022
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://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022 overwrite: false - source: s3://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022 overwrite: true - source: s3://mybucket/path/to/* destination: C:\myfolder\ expectedBucketOwner: 123456789022
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 como true) al prefijo de clave de Amazon S3.

Requisitos de IAM

El rol de IAM que asocie al perfil de instancia debe tener permiso para ejecutar el módulo de acción S3Upload. La siguiente política de IAM debe estar asociada al rol de IAM que está asociado con el perfil de instancia. La política debe conceder permisos s3:PutObject al bucket de Amazon S3 de destino. Por ejemplo, arn:aws:s3:::BucketName/*).

Entrada

Primitivo

Descripción

Tipo

Obligatoria

Predeterminado

source

La ruta local en la que se originan los archivos/carpetas de origen. source admite un asterisco como comodín (*).

Cadena

N/A

destination

La ruta del bucket de Amazon S3 de destino en el que se cargan las carpetas o archivos de origen.

Cadena

N/A

recurse

Cuando se establece como true, ejecuta S3Upload de forma recursiva.

Cadena

No

false

expectedBucketOwner

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://mybucket/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://mybucket/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://mybucket/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 a través del protocolo HTTP/HTTPS (se recomienda HTTPS). 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 estado HTTP, excepto por 200, generan un error.

Entrada
Primitivo Descripción Tipo Obligatoria Predeterminado
source La URL HTTP/HTTPS válida (se recomienda HTTPS), que sigue el estándar RFC 3986. Se permiten expresiones de encadenamiento. Cadena

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 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 son MD5, SHA1, SHA256 y SHA512. 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 La validación del certificado SSL se ignora cuando está habilitada. Booleano No false
Salida
Primitivo 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: descarga de un archivo remoto e ignore la validación de la certificación SSL

- 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 operación del sistema de archivos

La siguiente sección contiene detalles de los módulos de acción que ejecutan comandos e instrucciones de ejecución generales.

AppendFile

El módulo de AppendFileacción añade contenido específico 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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A
content El contenido que se va a adjuntar al archivo. Cadena No Cadena vacía N/A
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.

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 como false.

  • El módulo de acción detecta un error al realizar la operación.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
source La ruta del archivo de origen. Cadena N/A N/A
destination La ruta del archivo de destino. Cadena N/A N/A
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

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 como false.

  • El módulo de acción detecta un error al realizar la operación.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
source La ruta de la carpeta de origen. Cadena N/A N/A
destination La ruta de la carpeta de destino. Cadena N/A N/A
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

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A
content El contenido de texto del archivo. Cadena No N/A N/A
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.
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

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta de la carpeta. Cadena N/A N/A
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

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.

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A No es compatible con Windows.
target La ruta del archivo de destino al que apunta el enlace simbólico. Cadena 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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta de la carpeta. Cadena N/A N/A
force Elimina la carpeta esté vacía o no. Booleano No false N/A

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta de la carpeta. Cadena N/A N/A
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
recursive Muestra los archivos de la carpeta de forma recursiva. Booleano No false N/A

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
Salida
Primitivo 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 como false.

  • El módulo de acción detecta un error al realizar la operación.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
source La ruta del archivo de origen. Cadena N/A N/A
destination La ruta del archivo de destino. Cadena N/A N/A
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

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 como false.

  • El módulo de acción detecta un error al realizar la operación.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
source La ruta de la carpeta de origen. Cadena N/A N/A
destination La ruta de la carpeta de destino. Cadena N/A N/A
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

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 los archivos Excel o JSON.

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A
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.
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
Salida
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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A
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.

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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A No es compatible con Windows.
owner El nombre de usuario. cadena 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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta de la carpeta. Cadena N/A N/A No es compatible con Windows.
owner El nombre de usuario. cadena 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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta del archivo. Cadena N/A N/A No es compatible con Windows.
permissions Permisos de archivos. Cadena 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.

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables Compatible con todas las plataformas
path La ruta de la carpeta. Cadena N/A N/A No es compatible con Windows.
permissions Permisos para carpetas. Cadena 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 esta sección se describen los módulos de acción que ejecutan comandos e instrucciones de acción de instalación de software.

Requisitos de IAM

Si la ruta de descarga de la instalación es un URI de S3, el rol de IAM que asocie al perfil de instancia debe tener permiso para ejecutar el módulo de acción S3Download. Para conceder el permiso necesario, adjunte la política de IAM S3:GetObject al rol de IAM asociado a su perfil de instancia y especifique la ruta de acceso a su bucket. Por ejemplo, arn:aws:s3:::BucketName/*).

Entradas MSI 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

InstallMSI

El módulo de acción InstallMSI instala una aplicación de Windows mediante un archivo MSI. Puede especificar el archivo MSI mediante una ruta local, un URI de objeto S3 o una URL web. 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 parámetros de entrada path (ubicación del archivo MSI) y logFile (ubicación del archivo de registro) deben escribirse entre comillas (").

Los siguientes códigos de salida MSI se consideran correctos:

  • 0 (Success)

  • 1614 (ERROR_PRODUCT_UNINSTALLED)

  • 1641 (reinicio iniciado)

  • 3010 (es necesario reiniciar)

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables
path

Especifique la ubicación del archivo MSI, usando una de las siguientes opciones:

  • La ruta de archivo local. La ruta puede ser absoluta o relativa.

  • Un URI de objeto S3 válido.

  • Una URL HTTP/HTTPS web válida (se recomienda HTTPS) que siga el estándar RFC 3986.

Se permite el encadenamiento de expresiones.

Cadena 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:
  • Force: inicia un reinicio del sistema después de que el comando msiexec se ejecute correctamente.

  • Allow: inicia un reinicio del sistema si el comando msiexec devuelve un código de salida que indica que es necesario reiniciar el sistema.

  • Skip: registra un mensaje informativo en el archivo console.log que indica que se ha omitido un reinicio. Esta opción impide el reinicio, incluso si el comando msiexec devuelve un código de salida que indica que es necesario reiniciar.

Cadena No Allow Allow, Force, Skip
logOptions

Especifique las opciones que se van a utilizar para el registro de la instalación de MSI. Los indicadores especificados se pasan al instalador de MSI, junto con el parámetro de línea de comandos /L para habilitar el registro. Si no se especifica ningún indicador, TOE de AWS utiliza el valor por defecto.

Para obtener más información acerca de opciones de registro MSI, consulte Opciones de línea de comandos en la documentación de del producto Windows Installer Microsoft.

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 de instalación de MSI.

Cadena No N/A N/A
properties

Los pares clave-valor de las propiedades de registro MSI, por ejemplo, TARGETDIR: "C:\target\location"

 

Nota: No se permite la modificación de las siguientes propiedades:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

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:
  • true: los errores de validación se ignoran y el instalador se ejecuta.

  • false: los errores de validación no se ignoran. El instalador solo se ejecuta cuando la validación se realiza correctamente. Este es el comportamiento predeterminado.

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:
  • true: ignora el estado NotSigned devuelto por el comando Get-AuthenticodeSignature y ejecuta el instalador.

  • false: requiere que el instalador esté firmado. Los instaladores sin firma no se ejecutarán. Este es el comportamiento predeterminado.

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": "" }

UninstallMSI

Este módulo de acción UninstallMSI le permite desinstalar una aplicación de Windows utilizando un archivo MSI. Puede especificar la ubicación del archivo MSI mediante una ruta de archivo local, un URI de objeto S3 o una URL web. 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 archivo MSI (path) y la ubicación del archivo de registro (logFile) se escriben explícitamente entre comillas dobles (") al generar el comando msiexec.

Los siguientes códigos de salida MSI se consideran correctos:

  • 0 (Success)

  • 1605 (ERROR_UNKNOWN_PRODUCT)

  • 1614 (ERROR_PRODUCT_UNINSTALLED)

  • 1641 (reinicio iniciado)

  • 3010 (es necesario reiniciar)

Entrada
Primitivo Descripción Tipo Obligatoria Valor predeterminado Valores aceptables
path

Especifique la ubicación del archivo MSI, usando una de las siguientes opciones:

  • La ruta de archivo local. La ruta puede ser absoluta o relativa.

  • Un URI de objeto S3 válido.

  • Una URL HTTP/HTTPS web válida (se recomienda HTTPS) que siga el estándar RFC 3986.

Se permite el encadenamiento de expresiones.

Cadena 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:
  • Force: inicia un reinicio del sistema después de que el comando msiexec se ejecute correctamente.

  • Allow: inicia un reinicio del sistema si el comando msiexec devuelve un código de salida que indica que es necesario reiniciar el sistema.

  • Skip: registra un mensaje informativo en el archivo console.log que indica que se ha omitido un reinicio. Esta opción impide el reinicio, incluso si el comando msiexec devuelve un código de salida que indica que es necesario reiniciar.

Cadena No Allow Allow, Force, Skip
logOptions

Especifique las opciones que se van a utilizar para el registro de la instalación de MSI. Los indicadores especificados se pasan al instalador de MSI, junto con el parámetro de línea de comandos /L para habilitar el registro. Si no se especifica ningún indicador, TOE de AWS utiliza el valor por defecto.

Para obtener más información acerca de opciones de registro MSI, consulte Opciones de línea de comandos en la documentación de del producto Windows Installer Microsoft.

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 de instalación de MSI.

Cadena No N/A N/A
properties

Los pares clave-valor de las propiedades de registro MSI, por ejemplo, TARGETDIR: "C:\target\location"

 

Nota: No se permite la modificación de las siguientes propiedades:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

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:
  • true: los errores de validación se ignoran y el instalador se ejecuta.

  • false: los errores de validación no se ignoran. El instalador solo se ejecuta cuando la validación se realiza correctamente. Este es el comportamiento predeterminado.

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:
  • true: ignora el estado NotSigned devuelto por el comando Get-AuthenticodeSignature y ejecuta el instalador.

  • false: requiere que el instalador esté firmado. Los instaladores sin firma no se ejecutarán. Este es el comportamiento predeterminado.

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 ejecutan comandos e instrucciones de acción del sistema de archivos.

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 en el código abierto del agente de Systems Manager.

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.

Entrada
Primitivo Descripción Tipo Obligatoria Predeterminado
delaySeconds Retrasa un tiempo específico antes de iniciar un reinicio. Entero

No

0

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 SetRegistryacción 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.

Entrada
Primitivo Descripción Tipo Obligatoria
path Ruta de la clave de registro. Cadena
name Nombre de la clave de registro. Cadena
value Valor de la clave de registro. Cadena/número/matriz
type Valor de la clave de registro. Cadena
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 la AMI base 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 o apt-get. Si ninguna de las opciones es compatible, se devuelve un error. Debe tener permisos sudo para ejecutar el módulo de acción UpdateOS. Si no tiene permisos sudo se devuelve un error.Input.

Entrada
Primitivo Descripción Tipo Obligatoria
include

Para Windows puede especificar lo siguiente:

  • Uno o más ID de artículo de Microsoft Knowledge Base (KB) para incluirlos en la lista de actualizaciones que se pueden instalar. Los formatos válidos son KB1234567 o 1234567.

  • Un nombre de actualización con un valor comodín (*). Los formatos válidos son Security* o *Security*.

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:

  • Uno o más ID de artículo de Microsoft Knowledge Base (KB) para incluirlos en la lista de actualizaciones que se pueden instalar. Los formatos válidos son KB1234567 o 1234567.

  • Un nombre de actualización con un valor comodín (*). Los formatos válidos son Security* o *Security*.

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.