AWSTOE 구성 요소 관리자가 지원하는 작업 모듈 - EC2 Image Builder

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSTOE 구성 요소 관리자가 지원하는 작업 모듈

EC2 Image Builder와 같은 이미지 구축 서비스는 작업 모듈을 AWSTOE 사용하여 사용자 지정된 머신 이미지를 구축하고 테스트하는 데 사용되는 EC2 인스턴스를 구성하는 데 도움이 됩니다. 이 섹션에서는 예제를 포함하여 일반적으로 사용되는 AWSTOE 작업 모듈의 기능과 구성 방법을 설명합니다.

AWSTOE 구성 요소는 일반 텍스트 YAML 문서를 사용하여 작성됩니다. 문서 구문에 대한 자세한 내용은 사용자 지정 AWSTOE 구성 요소에 구성 요소 문서 프레임워크 사용 섹션을 참조하세요.

참고

모든 작업 모듈은 실행할 때 Systems Manager 에이전트와 동일한 계정을 사용하며, Linux의 경우 root이고 Windows의 경우 NT Authority\SYSTEM입니다.

일반 실행 모듈

다음 섹션에는 일반 실행 명령 및 지침을 수행하는 작업 모듈에 대한 세부 정보가 포함되어 있습니다.

ExecuteBash

ExecuteBash액션 모듈을 사용하면 인라인 셸 코드/명령으로 bash 스크립트를 실행할 수 있습니다. 이 모듈은 Linux를 지원합니다.

명령 블록에서 지정하는 모든 명령과 지침은 파일(예: input.sh)로 변환되고 bash 쉘과 함께 실행됩니다. 쉘 파일을 실행한 결과는 해당 단계의 종료 코드입니다.

스크립트가 종료 코드가 1인 상태로 종료되면 ExecuteBash모듈에서 시스템 재시작을 처리합니다. 194 애플리케이션이 시작되면 다음 작업 중 하나를 수행합니다.

  • Systems Manager Agent에서 실행하는 경우, 애플리케이션은 종료 코드를 호출자에게 전달합니다. Systems Manager Agent는 스크립트에서 관리형 인스턴스 재부팅에 설명된 대로 시스템 재부팅을 처리하고 재시작을 시작한 것과 동일한 단계를 실행합니다.

  • 애플리케이션은 현재 executionstate(을)를 저장하고 애플리케이션을 다시 실행하도록 재시작 트리거를 구성한 다음 시스템을 다시 시작합니다.

시스템을 다시 시작한 후 애플리케이션은 재시작을 시작한 단계와 동일한 단계를 실행합니다. 이 기능이 필요한 경우 동일한 쉘 명령의 여러 호출을 처리할 수 있는 idempotent 스크립트를 작성해야 합니다.

Input
프리미티브 설명 유형 필수
commands bash 구문에 따라 실행할 지침 또는 명령 목록이 포함되어 있습니다. 여러 줄의 YAML이 허용됩니다. 나열

입력 예제: 재부팅 전과 재부팅 후

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
출력
필드 설명 유형
stdout 명령 실행의 표준 출력. 문자열

재부팅을 시작하고 작업 모듈의 일부로 종료 코드 194(을)를 반환하면 재부팅을 시작한 동일한 작업 모듈 단계에서 빌드가 재개됩니다. 종료 코드 없이 재부팅을 시작하면 빌드 프로세스가 실패할 수 있습니다.

출력 예제: 재부팅 전(문서를 통해 처음으로)

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

출력 예제: 재부팅 후(문서를 통해 두 번째로)

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

ExecuteBinary

ExecuteBinary액션 모듈을 사용하면 명령줄 인수 목록이 포함된 바이너리 파일을 실행할 수 있습니다.

이진 파일이 종료 코드가 194 (Linux) 또는 3010 (Windows) 인 경우 ExecuteBinary모듈은 시스템 재시작을 처리합니다. 이 경우 애플리케이션은 다음 작업 중 하나를 수행합니다.

  • Systems Manager Agent에서 실행하는 경우, 애플리케이션은 종료 코드를 호출자에게 전달합니다. Systems Manager Agent는 스크립트에서 관리형 인스턴스 재부팅에 설명된 대로 시스템 재시작을 처리하고 재시작을 시작한 것과 동일한 단계를 실행합니다.

  • 애플리케이션은 현재 executionstate(을)를 저장하고 애플리케이션을 다시 실행하도록 재시작 트리거를 구성한 다음 시스템을 다시 시작합니다.

시스템이 재시작된 후 애플리케이션은 재시작을 시작한 단계와 동일한 단계를 실행합니다. 이 기능이 필요한 경우 동일한 쉘 명령의 여러 호출을 처리할 수 있는 idempotent 스크립트를 작성해야 합니다.

Input
프리미티브 설명 유형 필수
path 실행할 바이너리 파일 경로입니다. String
arguments 바이너리를 실행할 때 사용할 명령줄 인수 목록이 포함되어 있습니다. 문자열 목록 아니요

입력 예제: .NET 설치

- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
출력
필드 설명 유형
stdout 명령 실행의 표준 출력. 문자열

출력 예제

{ "stdout": "success" }

ExecuteDocument

ExecuteDocument작업 모듈은 한 문서에서 여러 구성 요소 문서를 실행하는 중첩된 구성 요소 문서에 대한 지원을 추가합니다. AWSTOE 런타임에 입력 매개 변수로 전달된 문서의 유효성을 검사합니다.

제한 사항
  • 이 작업 모듈은 한 번만 실행되고 재시도는 허용되지 않으며 제한 시간을 설정하는 옵션도 없습니다. ExecuteDocument다음과 같은 기본값을 설정하고 변경하려고 하면 오류를 반환합니다.

    • timeoutSeconds: -1

    • maxAttempts: 1

    참고

    이 값은 비워 둘 수 있으며 기본값을 AWSTOE 사용합니다.

  • 문서 중첩은 최대 세 개 수준까지 허용되지만, 그 이상은 허용되지 않습니다. 최상위 수준은 중첩되지 않으므로 세 개 수준의 중첩은 네 가지 문서 수준으로 변환됩니다. 이 시나리오에서는 최하위 수준 문서가 다른 문서를 호출해서는 안 됩니다.

  • 구성 요소 문서의 순환 실행은 허용되지 않습니다. 반복 구성 외부에서 자신을 호출하거나 현재 실행 체인의 상위에 있는 다른 문서를 호출하는 모든 문서는 사이클을 시작하여 무한 루프를 초래할 수 있습니다. AWSTOE 가 순환 실행을 감지하면 실행을 중지하고 실패를 기록합니다.

ExecuteDocument 작업 모듈의 중첩 수준 제한.

구성 요소 문서가 자체적으로 실행되거나 현재 실행 체인의 상위에 있는 구성 요소 문서를 실행하려고 하면 실행되지 않습니다.

입력

프리미티브 설명 유형 필수
document

구성 요소 문서의 경로. 유효한 옵션은 다음과 같습니다.

  • 로컬 파일 경로

  • S3 URI

  • EC2 Image Builder 구성 요소 빌드 버전 ARN

String
document-s3-bucket-owner

구성 요소 문서가 저장된 S3 버킷의 S3 버킷 소유자의 계정 ID입니다. (구성 요소 문서에서 S3 URI를 사용하는 경우 권장합니다.)

String 아니요
phases

구성 요소 문서에서 실행할 수 있는 단계로, 쉼표로 구분된 목록으로 표시됩니다. 단계가 지정되지 않은 경우 모든 단계가 실행됩니다.

String 아니요
parameters

런타임 시 구성 요소 문서에 키 값 페어로 전달되는 입력 파라미터입니다.

파라미터 맵 목록 아니요

파라미터 맵 입력

프리미티브 설명 유형 필수
name

ExecuteDocument작업 모듈이 실행 중인 구성 요소 문서에 전달할 입력 매개 변수의 이름입니다.

String
value

입력 파라미터의 값입니다.

String
입력 예제

다음 예제는 설치 경로에 따른 구성 요소 문서 입력의 변형을 보여줍니다.

입력 예제: 로컬 문서 경로

# 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

입력 예제: 문서 경로로서의 S3 URI

# 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

입력 예제: 문서 경로로서의 EC2 Image Builder 구성 요소 ARN

# 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

ForEach 루프를 사용하여 문서 실행

# 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

For 루프를 사용하여 문서 실행

# 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
출력

AWSTOE 실행할 detailedoutput.json 때마다 호출되는 출력 파일을 만듭니다. 이 파일에는 실행 중에 호출되는 모든 구성 요소 문서의 모든 단계 및 단계에 대한 세부 정보가 포함됩니다. ExecuteDocument작업 모듈의 경우 outputs 필드에서 간략한 런타임 요약과 모듈이 실행되는 단계, 단계 및 문서에 대한 세부 정보를 찾을 수 있습니다. detailedOutput

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

각 구성 요소 문서의 출력 요약 개체에는 다음과 같은 세부 정보가 여기 나온 것처럼 샘플 값과 함께 포함되어 있습니다.

  • executedStepCount“:1

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

  • “failedStepCount“:0

  • "failureMessage":""

  • “ignoredFailedStep개수”: 0

  • "logUrl":""

  • "status":"success"

출력 예시

다음 예제는 중첩 실행이 발생할 때 ExecuteDocument액션 모듈의 출력을 보여줍니다. 이 예제에서 main.yaml 구성 요소 문서는 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

ExecutePowerShell액션 모듈을 사용하면 인라인 셸 코드/명령으로 PowerShell 스크립트를 실행할 수 있습니다. 이 모듈은 Windows 플랫폼 및 Windows를 지원합니다. PowerShell

명령 블록에 지정된 모든 명령/지침은 스크립트 파일 (예:input.ps1) 로 변환되고 Windows를 사용하여 실행됩니다. PowerShell 쉘 파일을 실행한 결과는 종료 코드입니다.

셸 명령이 종료 코드가 1인 상태로 종료되면 ExecutePowerShell모듈에서 시스템 재시작을 처리합니다. 3010 애플리케이션이 시작되면 다음 작업 중 하나를 수행합니다.

  • Systems Manager 에이전트가 실행하는 경우 종료 코드를 호출자에게 전달합니다. Systems Manager Agent는 스크립트에서 관리형 인스턴스 재부팅에 설명된 대로 시스템 재부팅을 처리하고 재시작을 시작한 것과 동일한 단계를 실행합니다.

  • 현재 executionstate(을)를 저장하고 애플리케이션을 다시 실행하도록 재시작 트리거를 구성한 다음 시스템을 재부팅합니다.

시스템을 다시 시작한 후 애플리케이션은 재시작을 시작한 단계와 동일한 단계를 실행합니다. 이 기능이 필요한 경우 동일한 쉘 명령의 여러 호출을 처리할 수 있는 idempotent 스크립트를 작성해야 합니다.

Input
프리미티브 설명 유형 필수
commands 구문별로 PowerShell 실행할 지침 또는 명령 목록이 들어 있습니다. 여러 줄의 YAML이 허용됩니다. 문자열 목록

예. commands 또는 file(을)를 지정해야 하며, 둘 다 지정하지는 않습니다.

file PowerShell 스크립트 파일의 경로를 포함합니다. PowerShell -file명령줄 인수를 사용하여 이 파일에 대해 실행됩니다. 이 경로는 .ps1 파일을 가리켜야 합니다. String

예. commands 또는 file(을)를 지정해야 하며, 둘 다 지정하지는 않습니다.

입력 예제: 재부팅 전과 재부팅 후

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)
출력
필드 설명 유형
stdout 명령 실행의 표준 출력. 문자열

재부팅을 실행하고 작업 모듈의 일부로 종료 코드 3010(을)를 반환하면, 재부팅을 시작한 동일한 작업 모듈 단계에서 빌드가 재개됩니다. 종료 코드 없이 재부팅을 실행하면, 빌드 프로세스가 실패할 수 있습니다.

출력 예제: 재부팅 전(문서를 통해 처음으로)

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

출력 예제: 재부팅 후(문서를 통해 두 번째로)

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

파일 다운로드 및 업로드 모듈

다음 섹션에는 다운로드 및 업로드 명령과 지침을 수행하는 작업 모듈에 대한 세부 정보가 포함되어 있습니다.

작업 모듈 다운로드 및 업로드

S3Download

S3Download 작업 모듈을 사용하면, Amazon S3 객체 또는 객체 집합을 destination 경로로 지정한 로컬 파일 또는 폴더에 다운로드할 수 있습니다. 지정된 위치에 파일이 이미 있고 overwrite 플래그가 true로 설정된 경우, S3Download(이)가 파일을 덮어씁니다.

source 위치는 Amazon S3의 특정 객체를 가리키거나 별표 와일드카드(*)와 함께 키 접두사를 사용하여 키 접두사 경로와 일치하는 객체 집합을 다운로드할 수 있습니다. source 위치에서 키 접두사를 지정하면 S3Download 작업 모듈이 접두사와 일치하는 모든 항목(파일 및 폴더 포함)을 다운로드합니다. 접두사와 일치하는 모든 항목을 다운로드할 수 있도록 키 접두사가 슬래시 뒤에 별표(/*)로 끝나는지 확인합니다. 예를 들면 s3://my-bucket/my-folder/*입니다.

참고

대상 경로에 있는 모든 폴더는 다운로드 전에 존재해야 합니다. 그렇지 않으면 다운로드가 실패합니다.

다운로드 중에 지정된 키 접두사에 대한 S3Download 작업이 실패하는 경우, 폴더 콘텐츠는 실패 이전 상태로 롤백되지 않습니다. 대상 폴더는 장애 발생 시점의 상태로 유지됩니다.

지원되는 사용 사례

S3Download 작업 모듈은 다음 사용 사례를 지원합니다.

  • Amazon S3 객체는 다운로드 경로에 지정된 대로 로컬 폴더에 다운로드됩니다.

  • Amazon S3 파일 경로에 키 접두사가 있는 Amazon S3 객체는 지정된 로컬 폴더로 다운로드되며, 이 폴더는 키 접두사와 일치하는 모든 Amazon S3 객체를 로컬 폴더에 반복적으로 복사합니다.

IAM 요구 사항

인스턴스 프로파일에 연결하는 IAM 역할에는 S3Download 작업 모듈을 실행할 권한이 있어야 합니다. 다음 IAM 정책을 인스턴스 프로파일과 관련된 IAM 역할에 연결해야 합니다.

  • 단일 파일: 버킷/객체에 대한 s3:GetObject(예: arn:aws:s3:::BucketName/*)

  • 다중 파일: 버킷/객체에 대한 s3:ListBucket(예: arn:aws:s3:::BucketName) 및 버킷/객체에 대한 s3:GetObject(예: arn:aws:s3:::BucketName/*)

Input

프리미티브

설명

유형

필수

기본값

source

다운로드의 소스가 되는 Amazon S3 버킷입니다. 특정 객체의 경로를 지정하거나, 슬래시 다음 별표 와일드카드(/*)로 끝나는 키 접두사를 사용하여 키 접두사와 일치하는 객체 집합을 다운로드할 수 있습니다.

String

N/A

destination

Amazon S3 객체가 다운로드되는 로컬 경로입니다. 단일 파일을 다운로드하려면, 파일 이름을 경로의 일부로 지정해야 합니다. 예: /myfolder/package.zip.

String

N/A

expectedBucketOwner

source 경로에 제공된 버킷의 예상 소유자 계정 ID입니다. 원본에 지정된 Amazon S3 버킷의 소유권을 확인하는 것이 좋습니다.

String

아니요

N/A

overwrite

true로 설정하면 지정된 로컬 경로의 대상 폴더에 같은 이름의 파일이 이미 있는 경우 다운로드 파일이 로컬 파일을 덮어씁니다. false로 설정하면 로컬 시스템의 기존 파일이 덮어써지지 않고, 작업 모듈이 실패하며 다운로드 오류가 발생합니다.

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

불린(Boolean)

아니요

true

참고

다음 예제에서는 Windows 폴더 경로를 Linux 경로로 바꿀 수 있습니다. 예를 들어, C:\myfolder\package.zip(을)를 /myfolder/package.zip(으)로 바꿀 수 있습니다.

입력 예제: Amazon S3 객체를 로컬 파일에 복사

다음 예제에서는 Amazon S3 객체를 로컬 파일에 복사하는 방법을 보여 줍니다.

- 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
입력 예제: 키 접두사가 있는 Amazon S3 버킷의 모든 Amazon S3 객체를 로컬 폴더에 복사

다음 예제에서는 키 접두사가 있는 Amazon S3 버킷의 모든 Amazon S3 객체를 로컬 폴더로 복사하는 방법을 보여 줍니다. Amazon S3에는 폴더라는 개념이 없으므로, 키 접두사와 일치하는 모든 객체가 복사됩니다. 다운로드할 수 있는 최대 객체 수는 1,000개입니다.

- 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
출력

없음.

S3Upload

S3Upload 작업 모듈을 사용하면 원본 파일 또는 폴더에서 Amazon S3 위치로 파일을 업로드할 수 있습니다. 소스 위치에 지정된 경로에 와일드카드(*)를 사용하여 경로가 와일드카드 패턴과 일치하는 모든 파일을 업로드할 수 있습니다.

재귀 S3Upload 작업이 실패하는 경우 이미 업로드된 모든 파일은 대상 Amazon S3 버킷에 남아 있게 됩니다.

지원되는 사용 사례
  • 로컬 파일을 Amazon S3 객체로.

  • 폴더의 로컬 파일(와일드카드 포함)을 Amazon S3 키 접두사로.

  • 로컬 폴더(recursetrue로 설정해야 함)를 Amazon S3 키 접두사로 복사합니다.

IAM 요구 사항

인스턴스 프로파일에 연결하는 IAM 역할에는 S3Upload 작업 모듈을 실행할 권한이 있어야 합니다. 다음 IAM 정책을 인스턴스 프로파일과 관련된 IAM 역할에 연결해야 합니다. 정책은 대상 Amazon S3 버킷에 s3:PutObject 권한을 부여해야 합니다. 예: arn:aws:s3:::BucketName/*).

Input

프리미티브

설명

유형

필수

기본값

source

소스 파일/폴더가 시작되는 로컬 경로. source(은)는 별표 와일드카드(*)(을)를 지원합니다.

String

N/A

destination

원본 파일/폴더가 업로드되는 대상 Amazon S3 버킷의 경로입니다.

String

N/A

recurse

true(으)로 설정하면 S3Upload(을)를 재귀적으로 수행합니다.

String

아니요

false

expectedBucketOwner

대상 경로에 지정된 Amazon S3 버킷의 예상 소유자 계정 ID입니다. 대상에 지정된 Amazon S3 버킷의 소유권을 확인하는 것이 좋습니다.

String

아니요

N/A

입력 예제: 로컬 파일을 Amazon S3 객체에 복사

다음 예제에서는 로컬 파일을 Amazon S3 객체에 복사하는 방법을 보여 줍니다.

- name: MyS3UploadFile action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\package.zip destination: s3://mybucket/path/to/package.zip expectedBucketOwner: 123456789022
입력 예제: 키 접두사를 사용하여 로컬 폴더의 모든 파일을 Amazon S3 버킷으로 복사

다음 예제에서는 키 접두사를 사용하여 로컬 폴더의 모든 파일을 Amazon S3 버킷으로 복사하는 방법을 보여 줍니다. recurse(이)가 지정되지 않았으므로 이 예제는 하위 폴더나 해당 콘텐츠를 복사하지 않으며 기본값은 false입니다.

- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\* destination: s3://mybucket/path/to/ expectedBucketOwner: 123456789022
입력 예제: 모든 파일 및 폴더를 로컬 폴더에서 Amazon S3 버킷으로 재귀적으로 복사

다음 예제에서는 모든 파일 및 폴더를 로컬 폴더에서 키 접두사를 사용하여 Amazon S3 버킷으로 재귀적으로 복사하는 방법을 보여줍니다.

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

없음.

WebDownload

WebDownload작업 모듈을 사용하면 HTTP/HTTPS 프로토콜을 통해 원격 위치에서 파일 및 리소스를 다운로드할 수 있습니다 (HTTPS 권장). 다운로드 수나 크기에는 제한이 없습니다. 이 모듈은 재시도 및 지수 백오프 로직을 처리합니다.

사용자 입력에 따라 각 다운로드 작업의 성공 시도는 최대 5회까지 할당됩니다. 이러한 시도는 작업 모듈 오류와 관련된 문서 stepsmaxAttempts 필드에 지정된 시도와 다릅니다.

이 작업 모듈은 리디렉션을 묵시적으로 처리합니다. 200을(를) 제외한 모든 HTTP 상태 코드에서 오류가 발생합니다.

Input
프리미티브 설명 유형 필수 기본값
source RFC 3986 표준을 따르는 유효한 HTTP/HTTPS URL(HTTPS 권장)입니다. chaining 표현식은 허용됩니다. String

N/A
destination 로컬 시스템의 절대 또는 상대 파일이나 폴더 경로입니다. 폴더 경로는 /(으)로 끝나야 합니다. /(으)로 끝나지 않는 경우, 파일 경로로 취급됩니다. 모듈은 성공적인 다운로드를 위해 필요한 파일이나 폴더를 생성합니다. chaining 표현식은 허용됩니다. String N/A
overwrite 활성화하면 로컬 시스템의 기존 파일을 다운로드한 파일 또는 리소스로 덮어씁니다. 활성화하지 않으면 로컬 시스템의 기존 파일을 덮어쓰지 않고, 작업 모듈이 실패하며 오류가 발생합니다. 덮어쓰기가 활성화되고 체크섬과 알고리즘이 지정된 경우, 작업 모듈은 기존 파일의 체크섬과 해시가 일치하지 않는 경우에만 파일을 다운로드합니다. 불린(Boolean) 아니요 true
checksum 체크섬을 지정하면, 제공된 알고리즘으로 생성된 다운로드한 파일의 해시와 비교하여 체크섬이 검사됩니다. 파일 검증을 활성화하려면, 체크섬과 알고리즘을 모두 제공해야 합니다. chaining 표현식은 허용됩니다. String 아니요 N/A
algorithm 체크섬을 계산하는 데 사용되는 알고리즘입니다. 옵션은 MD5, SHA1, SHA256 및 SHA512입니다. 파일 검증을 활성화하려면, 체크섬과 알고리즘을 모두 제공해야 합니다. chaining 표현식은 허용됩니다. String 아니요 N/A
ignoreCertificateErrors 활성화된 경우 SSL 인증서 검증이 무시됩니다. 불린(Boolean) 아니요 false
출력
프리미티브 설명 유형
destination 다운로드한 파일 또는 리소스가 저장되는 대상 경로를 지정하는 줄 바꿈 문자로 구분된 문자열입니다. String

입력 예제: 로컬 대상으로 원격 파일 다운로드

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

출력:

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

입력 예제: 둘 이상의 로컬 대상에 둘 이상의 원격 파일 다운로드

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

출력:

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

입력 예제: 로컬 대상을 덮어쓰지 않고 원격 파일 하나를 다운로드하고 파일 확인을 통해 다른 원격 파일을 다운로드합니다.

- 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

출력:

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

입력 예제: 원격 파일 다운로드 및 SSL 인증 검증 무시

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

출력:

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

파일 시스템 작업 모듈

다음 섹션에는 파일 시스템 작업 명령 및 지침을 수행하는 작업 모듈에 대한 세부 정보가 포함되어 있습니다.

AppendFile

AppendFile작업 모듈은 파일의 기존 내용에 지정된 콘텐츠를 추가합니다.

파일 인코딩 값이 기본 인코딩(utf-8) 값과 다른 경우, encoding 옵션을 사용하여 파일 인코딩 값을 지정할 수 있습니다. 기본적으로 utf-16utf-32(은)는 리틀 엔디안 인코딩을 사용하는 것으로 간주됩니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 파일이 런타임에 존재하지 않습니다.

  • 파일 내용을 수정할 수 있는 쓰기 권한이 없습니다.

  • 파일 작업 중에 모듈에서 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A
content 파일에 추가할 콘텐츠입니다. String 아니요 빈 문자열 N/A
encoding 인코딩 표준입니다. String 아니요 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 utf-32-BE. 인코딩 옵션 값은 대/소문자를 구분하지 않습니다.

입력 예제: 인코딩 없이 파일 추가(Linux)

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

입력 예제: 인코딩 없이 파일 추가(Windows)

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

입력 예제: 인코딩으로 파일 추가(Linux)

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

입력 예제: 인코딩으로 파일 추가(Windows)

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

입력 예제: 빈 문자열로 파일 추가(Linux)

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

입력 예제: 빈 문자열로 파일 추가(Windows)

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

없음.

CopyFile

CopyFile작업 모듈은 지정된 소스의 파일을 지정된 대상으로 복사합니다. 기본적으로 모듈은 런타임 시 대상 폴더가 없는 경우 대상 폴더를 재귀적으로 만듭니다.

지정된 이름의 파일이 지정된 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 파일을 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 파일이 이미 있는 경우, 작업 모듈은 오류를 반환합니다. 이 옵션은 기본적으로 덮어쓰는 Linux의 cp 명령과 동일하게 작동합니다.

소스 파일 이름에는 와일드카드(*)가 포함될 수 있습니다. 와일드카드 문자는 마지막 파일 경로 구분자(/ 또는 \) 뒤에만 사용할 수 있습니다. 와일드카드 문자가 소스 파일 이름에 포함된 경우, 와일드카드와 일치하는 모든 파일이 대상 폴더에 복사됩니다. 와일드카드 문자를 사용하여 둘 이상의 파일을 이동하려는 경우, destination 옵션 입력 시 대상 입력이 폴더임을 나타내는 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

대상 파일 이름이 원본 파일 이름과 다른 경우, destination 옵션을 사용하여 대상 파일 이름을 지정할 수 있습니다. 대상 파일 이름을 지정하지 않으면, 원본 파일의 이름이 대상 파일을 만드는 데 사용됩니다. 마지막 파일 경로 구분자(/ 또는 \) 뒤에 오는 모든 텍스트는 파일 이름으로 취급됩니다. 소스 파일과 같은 파일 이름을 사용하려면, destination 옵션 입력 시 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 폴더에 파일을 생성할 수 있는 권한이 없습니다.

  • 소스 파일이 런타임에 존재하지 않습니다.

  • 지정된 파일 이름을 가진 폴더가 이미 있으며 overwrite 옵션이 false(으)로 설정되어 있습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
source 소스 파일 경로입니다. String 해당 사항 없음 N/A
destination 대상 파일 경로입니다. String 해당 사항 없음 N/A
overwrite false로 설정하면 지정된 위치에 지정된 이름을 가진 파일이 이미 있는 경우 대상 파일이 교체되지 않습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 파일 복사(Linux)

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

입력 예제: 파일 복사(Windows)

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

입력 예제: 소스 파일 이름을 사용하여 파일 복사(Linux)

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

입력 예제: 소스 파일 이름을 사용하여 파일 복사(Windows)

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

입력 예제: 와일드카드 문자를 사용하여 파일 복사(Linux)

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

입력 예제: 와일드카드 문자를 사용하여 파일 복사(Windows)

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

입력 예제: 덮어쓰지 않고 파일 복사(Linux)

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

입력 예제: 덮어쓰지 않고 파일 복사(Windows)

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

없음.

CopyFolder

CopyFolder작업 모듈은 지정된 소스의 폴더를 지정된 대상으로 복사합니다. source 옵션에 대한 입력은 복사할 폴더이고, destination 옵션에 대한 입력은 소스 폴더의 콘텐츠가 복사되는 폴더입니다. 기본적으로 모듈은 런타임 시 대상 폴더가 없는 경우 대상 폴더를 재귀적으로 만듭니다.

지정된 이름의 폴더가 지정된 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 폴더를 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 폴더가 이미 있는 경우, 작업 모듈은 오류를 반환합니다.

소스 폴더 이름에는 와일드카드(*)가 포함될 수 있습니다. 와일드카드 문자는 마지막 파일 경로 구분자(/ 또는 \) 뒤에만 사용할 수 있습니다. 와일드카드 문자가 소스 폴더 이름에 포함된 경우, 와일드카드와 일치하는 모든 폴더가 대상 폴더에 복사됩니다. 와일드카드 문자를 사용하여 폴더를 두 개 이상 복사하려는 경우, destination 옵션 입력 시 대상 입력이 폴더임을 나타내는 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

대상 폴더 이름이 소스 폴더 이름과 다른 경우, destination 옵션을 사용하여 대상 폴더 이름을 지정할 수 있습니다. 대상 폴더 이름을 지정하지 않으면, 원본 폴더의 이름이 대상 폴더를 만드는 데 사용됩니다. 마지막 파일 경로 구분자(/ 또는 \) 뒤에 오는 모든 텍스트는 폴더 이름으로 취급됩니다. 소스 폴더와 같은 폴더 이름을 사용하려면, destination 옵션 입력 시 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 폴더에 폴더를 생성할 수 있는 권한이 없습니다.

  • 소스 폴더가 런타임에 존재하지 않습니다.

  • 지정된 폴더 이름을 가진 폴더가 이미 있으며 overwrite 옵션이 false(으)로 설정되어 있습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
source 소스 폴더 경로입니다. String 해당 사항 없음 N/A
destination 대상 폴더 경로입니다. String 해당 사항 없음 N/A
overwrite false로 설정하면 지정된 위치에 지정된 이름을 가진 폴더가 이미 있는 경우 대상 폴더가 바뀌지 않습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 폴더 복사(Linux)

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

입력 예제: 폴더 복사(Windows)

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

입력 예제: 소스 폴더 이름을 사용하여 폴더 복사(Linux)

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

입력 예제: 소스 폴더 이름을 사용하여 폴더 복사(Windows)

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

입력 예제: 와일드카드 문자를 사용하여 폴더 복사(Linux)

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

입력 예제: 와일드카드 문자를 사용하여 폴더 복사(Windows)

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

입력 예제: 덮어쓰지 않고 폴더 복사(Linux)

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

입력 예제: 덮어쓰지 않고 폴더 복사(Windows)

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

없음.

CreateFile

CreateFile작업 모듈은 지정된 위치에 파일을 만듭니다. 기본적으로 필요한 경우, 모듈은 상위 폴더를 반복적으로 생성하기도 합니다.

파일이 지정된 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 파일을 잘라내거나 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 파일이 이미 있는 경우, 작업 모듈은 오류를 반환합니다.

파일 인코딩 값이 기본 인코딩(utf-8) 값과 다른 경우, encoding 옵션을 사용하여 파일 인코딩 값을 지정할 수 있습니다. 기본적으로 utf-16utf-32(은)는 리틀 엔디안 인코딩을 사용하는 것으로 간주됩니다.

owner, grouppermissions(은)는 선택적 입력 사항입니다. permissions의 입력은 문자열 값이어야 합니다. 제공하지 않을 경우 파일은 기본값으로 생성됩니다. Windows 플랫폼에서는 이러한 옵션이 지원되지 않습니다. 이 작업 모듈은 Windows 플랫폼에서 owner, grouppermissions 옵션을 사용하는 경우 검증하고 오류를 반환합니다.

이 작업 모듈은 운영 체제의 umask 기본값으로 정의된 권한을 가진 파일을 만들 수 있습니다. 기본값을 재정의하려면 umask 값을 설정해야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 상위 폴더에 파일이나 폴더를 만들 권한이 없습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A
content 파일의 텍스트 콘텐츠. String 아니요 N/A N/A
encoding 인코딩 표준입니다. String 아니요 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 utf-32-BE. 인코딩 옵션 값은 대/소문자를 구분하지 않습니다.
owner 사용자 이름 또는 ID입니다. String 아니요 N/A N/A Windows에서 지원되지 않습니다.
group 그룹 이름 또는 ID입니다. String 아니요 현재 사용자입니다. N/A Windows에서 지원되지 않습니다.
permissions 파일 권한입니다. String 아니요 0666 N/A Windows에서 지원되지 않습니다.
overwrite 지정된 파일의 이름이 이미 있는 경우, 이 값을 false(으)로 설정하면 기본적으로 파일이 잘리거나 덮어쓰기 되지 않도록 할 수 있습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 덮어쓰지 않고 파일 생성(Linux)

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

입력 예제: 덮어쓰지 않고 파일 생성(Windows)

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

입력 예제: 파일 속성이 있는 파일 생성

- 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

입력 예제: 파일 속성이 없는 파일 생성

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

입력 예제: Linux 정리 스크립트에서 섹션을 건너뛰기 위한 빈 파일 생성

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

자세한 정보는 Linux 정리 스크립트를 오버라이드합니다.섹션을 참조하십시오.

출력

없음.

CreateFolder

CreateFolder작업 모듈은 지정된 위치에 폴더를 만듭니다. 기본적으로 필요한 경우, 모듈은 상위 폴더를 반복적으로 생성하기도 합니다.

폴더가 지정된 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 폴더를 잘라내거나 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 폴더가 이미 있는 경우, 작업 모듈은 오류를 반환합니다.

owner, grouppermissions(은)는 선택적 입력 사항입니다. permissions의 입력은 문자열 값이어야 합니다. Windows 플랫폼에서는 이러한 옵션이 지원되지 않습니다. 이 작업 모듈은 Windows 플랫폼에서 owner, grouppermissions 옵션을 사용하는 경우 검증하고 오류를 반환합니다.

이 작업 모듈은 운영 체제의 umask 기본값으로 정의된 권한을 가진 폴더를 만들 수 있습니다. 기본값을 재정의하려면 umask 값을 설정해야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 위치에 폴더를 생성할 수 있는 권한이 없습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 폴더 경로입니다. String 해당 사항 없음 N/A
owner 사용자 이름 또는 ID입니다. String 아니요 현재 사용자입니다. N/A Windows에서 지원되지 않습니다.
group 그룹 이름 또는 ID입니다. String 아니요 현재 사용자의 그룹입니다. N/A Windows에서 지원되지 않습니다.
permissions 폴더 권한입니다. String 아니요 0777 N/A Windows에서 지원되지 않습니다.
overwrite 지정된 파일의 이름이 이미 있는 경우, 이 값을 false(으)로 설정하면 기본적으로 파일이 잘리거나 덮어쓰기 되지 않도록 할 수 있습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 폴더 생성(Linux)

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

입력 예제: 폴더 생성(Windows)

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

입력 예제: 폴더 속성을 지정하는 폴더 생성

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

입력 예제: 기존 폴더를 덮어쓰는 폴더가 있는 경우 해당 폴더를 생성합니다.

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

없음.

CreateSymlink액션 모듈은 심볼릭 링크 또는 다른 파일에 대한 참조가 포함된 파일을 만듭니다. 이 모듈은 Windows 플랫폼에서 지원되지 않습니다.

pathtarget 옵션의 입력은 절대 경로이거나 상대 경로일 수 있습니다. path 옵션의 입력이 상대 경로인 경우, 링크를 만들 때 절대 경로로 대체됩니다.

기본적으로 지정된 이름의 링크가 지정된 폴더에 이미 있는 경우, 작업 모듈은 오류를 반환합니다. force 옵션을 true(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. force 옵션을 true(으)로 설정하면 모듈이 기존 링크를 덮어씁니다.

상위 폴더가 없는 경우, 작업 모듈은 기본적으로 폴더를 반복적으로 만듭니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 대상 파일이 런타임에 존재하지 않습니다.

  • 지정된 이름을 가진 비 심볼 링크 파일이 이미 있습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
target 심볼 링크가 가리키는 대상 파일 경로입니다. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
force 같은 이름의 링크가 이미 있는 경우 링크를 강제로 생성합니다. 불린(Boolean) 아니요 false N/A Windows에서 지원되지 않습니다.

입력 예제: 링크 생성을 강제하는 심볼 링크 생성

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

입력 예제: 링크 생성을 강제하지 않는 심볼 링크 생성

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

없음.

DeleteFile

DeleteFile작업 모듈은 지정된 위치에 있는 파일을 하나 또는 여러 개 삭제합니다.

path의 입력은 유효한 파일 경로이거나 파일 이름에 와일드카드 문자(*)가 포함된 파일 경로여야 합니다. 파일 이름에 와일드카드 문자를 지정하면 동일한 폴더 내에서 와일드카드와 일치하는 모든 파일이 삭제됩니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 삭제 작업을 수행할 수 있는 권한이 없습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A

입력 예제: 단일 파일 삭제(Linux)

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

입력 예제: 단일 파일 삭제(Windows)

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

입력 예제: ‘log’로 끝나는 파일 삭제(Linux)

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

입력 예제: ‘log’로 끝나는 파일 삭제(Windows)

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

입력 예제: 지정된 폴더의 모든 파일 삭제(Linux)

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

입력 예제: 지정된 폴더의 모든 파일 삭제(Windows)

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

없음.

DeleteFolder

DeleteFolder작업 모듈은 폴더를 삭제합니다.

폴더가 비어 있지 않은 경우, 폴더와 해당 내용을 제거하려면 force 옵션을 true로 설정해야 합니다. force 옵션을 true(으)로 설정하지 않은 상태에서 삭제하려는 폴더가 비어 있지 않으면, 작업 모듈에서 오류를 반환합니다. force 옵션의 기본값은 false입니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 삭제 작업을 수행할 수 있는 권한이 없습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 폴더 경로입니다. String 해당 사항 없음 N/A
force 폴더가 비어 있는지 여부에 관계없이 폴더를 제거합니다. 불린(Boolean) 아니요 false N/A

입력 예제: force 옵션을 사용하여 비어 있지 않은 폴더 삭제(Linux)

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

입력 예제: force 옵션을 사용하여 비어 있지 않은 폴더 삭제(Windows)

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

입력 예제: 폴더 삭제(Linux)

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

입력 예제: 폴더 삭제(Windows)

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

없음.

ListFiles

ListFiles작업 모듈은 지정된 폴더의 파일을 나열합니다. 재귀 옵션을 true(으)로 설정하면, 하위 폴더의 파일이 나열됩니다. 이 모듈은 기본적으로 하위 폴더의 파일을 나열하지 않습니다.

지정된 패턴과 일치하는 이름을 가진 모든 파일을 나열하려면 fileNamePattern 옵션을 사용하여 패턴을 제공하십시오. fileNamePattern 옵션에는 와일드카드(*) 값을 적용할 수 있습니다. fileNamePattern(이)가 제공되면 지정된 파일 이름 형식과 일치하는 모든 파일이 반환됩니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 폴더가 런타임에 존재하지 않습니다.

  • 지정된 상위 폴더에 파일이나 폴더를 만들 권한이 없습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 폴더 경로입니다. String 해당 사항 없음 N/A
fileNamePattern 패턴과 일치하는 이름을 가진 모든 파일을 나열하기 위해 일치시킬 패턴입니다. String 아니요 N/A N/A
recursive 폴더의 파일을 재귀적으로 나열합니다. 불린(Boolean) 아니요 false N/A

입력 예제: 지정된 폴더의 파일 나열(Linux)

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

입력 예제: 지정된 폴더의 파일 나열(Windows)

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

입력 예제: ‘log’로 끝나는 파일 나열(Linux)

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

입력 예제: ‘log’로 끝나는 파일 나열(Windows)

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

입력 예제: 파일을 재귀적으로 나열

- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
출력
프리미티브 설명 유형
files 파일 목록입니다. String

출력 예제

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

MoveFile

MoveFile작업 모듈은 파일을 지정된 소스에서 지정된 대상으로 이동합니다.

파일이 지정된 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 파일을 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 파일이 이미 있는 경우, 작업 모듈은 오류를 반환합니다. 이 옵션은 기본적으로 덮어쓰는 Linux의 mv 명령과 동일하게 작동합니다.

소스 파일 이름에는 와일드카드(*)가 포함될 수 있습니다. 와일드카드 문자는 마지막 파일 경로 구분자(/ 또는 \) 뒤에만 사용할 수 있습니다. 와일드카드 문자가 소스 파일 이름에 포함된 경우, 와일드카드와 일치하는 모든 파일이 대상 폴더에 복사됩니다. 와일드카드 문자를 사용하여 둘 이상의 파일을 이동하려는 경우, destination 옵션 입력 시 대상 입력이 폴더임을 나타내는 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

대상 파일 이름이 원본 파일 이름과 다른 경우, destination 옵션을 사용하여 대상 파일 이름을 지정할 수 있습니다. 대상 파일 이름을 지정하지 않으면, 원본 파일의 이름이 대상 파일을 만드는 데 사용됩니다. 마지막 파일 경로 구분자(/ 또는 \) 뒤에 오는 모든 텍스트는 파일 이름으로 취급됩니다. 소스 파일과 같은 파일 이름을 사용하려면, destination 옵션 입력 시 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 폴더에 파일을 생성할 수 있는 권한이 없습니다.

  • 소스 파일이 런타임에 존재하지 않습니다.

  • 지정된 파일 이름을 가진 폴더가 이미 있으며 overwrite 옵션이 false(으)로 설정되어 있습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
source 소스 파일 경로입니다. String 해당 사항 없음 N/A
destination 대상 파일 경로입니다. String 해당 사항 없음 N/A
overwrite false로 설정하면 지정된 위치에 지정된 이름을 가진 파일이 이미 있는 경우 대상 파일이 교체되지 않습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 파일 이동(Linux)

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

입력 예제: 파일 이동(Windows)

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

입력 예제: 소스 파일 이름을 사용하여 파일 이동(Linux)

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

입력 예제: 소스 파일 이름을 사용하여 파일 이동(Windows)

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

입력 예제: 와일드카드 문자를 사용하여 파일 이동(Linux)

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

입력 예제: 와일드카드 문자를 사용하여 파일 이동(Windows)

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

입력 예제: 덮어쓰지 않고 파일 이동(Linux)

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

입력 예제: 덮어쓰지 않고 파일 이동(Windows)

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

없음.

MoveFolder

MoveFolder작업 모듈은 지정된 소스에서 지정된 대상으로 폴더를 이동합니다. source 옵션에 대한 입력은 이동할 폴더이고 destination 옵션에 대한 입력은 소스 폴더의 내용이 이동되는 폴더입니다.

런타임 시 대상 상위 폴더 또는 destination 옵션에 대한 입력이 없는 경우, 모듈의 기본 동작은 지정된 대상에 폴더를 반복적으로 생성하는 것입니다.

소스 폴더와 동일한 폴더가 대상 폴더에 이미 있는 경우, 작업 모듈은 기본적으로 기존 폴더를 덮어씁니다. 덮어쓰기 옵션을 false(으)로 설정하여 이 기본 동작을 재정의할 수 있습니다. 덮어쓰기 옵션이 false(으)로 설정되어 있고 지정된 위치에 지정된 이름을 가진 폴더가 이미 있는 경우, 작업 모듈은 오류를 반환합니다.

소스 폴더 이름에는 와일드카드(*)가 포함될 수 있습니다. 와일드카드 문자는 마지막 파일 경로 구분자(/ 또는 \) 뒤에만 사용할 수 있습니다. 와일드카드 문자가 소스 폴더 이름에 포함된 경우, 와일드카드와 일치하는 모든 폴더가 대상 폴더에 복사됩니다. 와일드카드 문자를 사용하여 폴더를 두 개 이상 이동하려는 경우, destination 옵션 입력 시 대상 입력이 폴더임을 나타내는 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

대상 폴더 이름이 소스 폴더 이름과 다른 경우, destination 옵션을 사용하여 대상 폴더 이름을 지정할 수 있습니다. 대상 폴더 이름을 지정하지 않으면, 원본 폴더의 이름이 대상 폴더를 만드는 데 사용됩니다. 마지막 파일 경로 구분자(/ 또는 \) 뒤에 오는 모든 텍스트는 폴더 이름으로 취급됩니다. 소스 폴더와 같은 폴더 이름을 사용하려면, destination 옵션 입력 시 파일 경로 구분자(/ 또는 \)로 끝나야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 대상 폴더에 폴더를 생성할 수 있는 권한이 없습니다.

  • 소스 폴더가 런타임에 존재하지 않습니다.

  • 지정된 이름을 가진 폴더가 이미 있으며 overwrite 옵션이 false로 설정되어 있습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
source 소스 폴더 경로입니다. String 해당 사항 없음 N/A
destination 대상 폴더 경로입니다. String 해당 사항 없음 N/A
overwrite false로 설정하면 지정된 위치에 지정된 이름을 가진 폴더가 이미 있는 경우 대상 폴더가 바뀌지 않습니다. 불린(Boolean) 아니요 true N/A

입력 예제: 폴더 이동(Linux)

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

입력 예제: 폴더 이동(Windows)

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

입력 예제: 소스 폴더 이름을 사용하여 폴더 이동(Linux)

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

입력 예제: 소스 폴더 이름을 사용하여 폴더 이동(Windows)

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

입력 예제: 와일드카드 문자를 사용하여 폴더 이동(Linux)

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

입력 예제: 와일드카드 문자를 사용하여 폴더 이동(Windows)

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

입력 예제: 덮어쓰지 않고 폴더 이동(Linux)

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

입력 예제: 덮어쓰지 않고 폴더 이동(Windows)

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

없음.

ReadFile

ReadFile작업 모듈은 문자열 유형의 텍스트 파일 내용을 읽습니다. 이 모듈은 체인을 통해 후속 단계에서 사용할 파일 내용을 읽거나 console.log 파일로 데이터를 읽는 데 사용할 수 있습니다. 지정된 경로가 심볼 링크인 경우, 이 모듈은 대상 파일의 내용을 반환합니다. 이 모듈은 텍스트 파일만 지원합니다.

파일 인코딩 값이 기본 인코딩(utf-8) 값과 다른 경우, encoding 옵션을 사용하여 파일 인코딩 값을 지정할 수 있습니다. 기본적으로 utf-16utf-32(은)는 리틀 엔디안 인코딩을 사용하는 것으로 간주됩니다.

기본적으로 이 모듈은 파일 내용을 console.log 파일에 인쇄할 수 없습니다. printFileContent 속성을 true로 설정하여 이 설정을 재정의할 수 있습니다.

이 모듈은 파일 내용만 반환할 수 있습니다. Excel 또는 JSON 파일과 같은 파일은 구문 분석할 수 없습니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 파일이 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A
encoding 인코딩 표준입니다. String 아니요 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 utf-32-BE. 인코딩 옵션 값은 대/소문자를 구분하지 않습니다.
printFileContent 파일 내용을 console.log 파일에 인쇄합니다. 불린(Boolean) 아니요 false N/A 예.

입력 예제: 파일 읽기(Linux)

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

입력 예제: 파일 읽기(Windows)

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

입력 예제: 파일 읽기 및 인코딩 표준 지정

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

입력 예제: 파일 읽기 및 console.log 파일에 인쇄

- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
출력
필드 설명 유형
content 파일 내용입니다. 문자열

출력 예제

{ "content" : "The file content" }

SetFileEncoding

SetFileEncoding액션 모듈은 기존 파일의 인코딩 속성을 수정합니다. 이 모듈은 파일 인코딩을 utf-8에서 지정된 인코딩 표준으로 변환할 수 있습니다. 기본적으로 utf-16utf-32(은)는 리틀 엔디안 인코딩으로 간주됩니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 수정을 수행할 수 있는 권한이 없습니다.

  • 파일이 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A
encoding 인코딩 표준입니다. String 아니요 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 utf-32-BE. 인코딩 옵션 값은 대/소문자를 구분하지 않습니다.

입력 예제: 파일 인코딩 속성 설정

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

없음.

SetFileOwner

SetFileOwner작업 모듈은 기존 파일의 ownergroup 소유자 속성을 수정합니다. 지정된 파일이 심볼 링크인 경우, 모듈은 소스 파일의 owner 속성을 수정합니다. 이 모듈은 Windows 플랫폼에서 지원되지 않습니다.

이 모듈은 사용자 및 그룹 이름을 입력으로 수용합니다. 그룹 이름을 제공하지 않으면, 모듈은 사용자가 속한 그룹에 파일의 그룹 소유자를 할당합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 수정을 수행할 수 있는 권한이 없습니다.

  • 지정된 사용자 또는 그룹 이름이 런타임에 존재하지 않습니다.

  • 파일이 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
owner 사용자 이름. 문자열 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
group 사용자 그룹의 이름입니다. String 아니요 사용자가 속한 그룹의 이름입니다. N/A Windows에서 지원되지 않습니다.

입력 예제: 사용자 그룹 이름을 지정하지 않고 파일 소유자 속성 설정

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

입력 예제: 소유자 및 사용자 그룹을 지정하여 파일 소유자 속성 설정

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

없음.

SetFolderOwner

SetFolderOwner작업 모듈은 기존 폴더의 ownergroup 소유자 속성을 반복적으로 수정합니다. 기본적으로 모듈은 폴더의 모든 내용에 대한 소유권을 수정할 수 있습니다. recursive 옵션을 false(으)로 설정하여 이 동작을 재정의할 수 있습니다. 이 모듈은 Windows 플랫폼에서 지원되지 않습니다.

이 모듈은 사용자 및 그룹 이름을 입력으로 수용합니다. 그룹 이름을 제공하지 않으면, 모듈은 사용자가 속한 그룹에 파일의 그룹 소유자를 할당합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 수정을 수행할 수 있는 권한이 없습니다.

  • 지정된 사용자 또는 그룹 이름이 런타임에 존재하지 않습니다.

  • 폴더가 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 폴더 경로입니다. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
owner 사용자 이름. 문자열 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
group 사용자 그룹의 이름입니다. String 아니요 사용자가 속한 그룹의 이름입니다. N/A Windows에서 지원되지 않습니다.
recursive false(으)로 설정하면 폴더의 모든 내용에 대한 소유권을 수정하는 기본 동작을 재정의합니다. 불린(Boolean) 아니요 true N/A Windows에서 지원되지 않습니다.

입력 예제: 사용자 그룹 이름을 지정하지 않고 폴더 소유자 속성 설정

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

입력 예제: 폴더 내 모든 콘텐츠의 소유권을 재정의하지 않고 폴더 소유자 속성 설정

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

입력 예제: 사용자 그룹 이름을 지정하여 파일 소유권 속성 설정

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

없음.

SetFilePermissions

SetFilePermissions작업 모듈은 기존 파일을 permissions 수정합니다. 이 모듈은 Windows 플랫폼에서 지원되지 않습니다.

permissions의 입력은 문자열 값이어야 합니다.

이 작업 모듈은 운영 체제의 기본 umask 값으로 정의된 권한을 가진 파일을 만들 수 있습니다. 기본값을 재정의하려면 umask 값을 설정해야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 수정을 수행할 수 있는 권한이 없습니다.

  • 파일이 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 파일 경로. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
permissions 파일 권한입니다. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.

입력 예제: 파일 권한 수정

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

없음.

SetFolderPermissions

SetFolderPermissions작업 모듈은 기존 폴더와 모든 하위 파일 및 하위 폴더를 반복적으로 수정합니다. permissions 기본적으로 이 모듈은 지정된 폴더의 모든 내용에 대한 권한을 수정할 수 있습니다. recursive 옵션을 false(으)로 설정하여 이 동작을 재정의할 수 있습니다. 이 모듈은 Windows 플랫폼에서 지원되지 않습니다.

permissions의 입력은 문자열 값이어야 합니다.

이 작업 모듈은 운영 체제의 기본 umask 값에 따라 권한을 수정할 수 있습니다. 기본값을 재정의하려면 umask 값을 설정해야 합니다.

다음과 같은 상황이 발생하면 작업 모듈이 오류를 반환합니다.

  • 지정된 수정을 수행할 수 있는 권한이 없습니다.

  • 폴더가 런타임에 존재하지 않습니다.

  • 작업 모듈에서 작업을 수행하는 동안 오류가 발생했습니다.

Input
프리미티브 설명 유형 필수 기본값 허용되는 값 모든 플랫폼에서 지원됩니다.
path 폴더 경로입니다. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
permissions 폴더 권한입니다. String 해당 사항 없음 N/A Windows에서 지원되지 않습니다.
recursive false로 설정된 경우 폴더의 모든 내용에 대한 권한을 수정하는 기본 동작을 재정의합니다. 불린(Boolean) 아니요 true N/A Windows에서 지원되지 않습니다.

입력 예제: 폴더 권한 설정

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

입력 예제: 폴더의 모든 콘텐츠에 대한 권한을 수정하지 않고 폴더 권한 설정

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

없음.

소프트웨어 설치 작업

이 섹션에서는 소프트웨어 설치 작업 명령 및 지침을 수행하는 작업 모듈에 대해 설명합니다.

IAM 요구 사항

설치 다운로드 경로가 S3 URI인 경우, 인스턴스 프로파일에 연결하는 IAM 역할에 S3Download 작업 모듈을 실행할 권한이 있어야 합니다. 필요한 권한을 부여하려면 S3:GetObject IAM 정책을 인스턴스 프로파일과 연결된 IAM 역할에 연결하고 버킷 경로를 지정하십시오. 예: arn:aws:s3:::BucketName/*).

복합 MSI 입력

입력 문자열에 큰따옴표(")가 포함된 경우, 다음 방법 중 하나를 사용하여 올바르게 해석되도록 해야 합니다.

  • 다음 예제와 같이 문자열 외부에 작은따옴표(')를 사용하여 문자열을 포함하고, 문자열 안에는 큰따옴표(")를 사용할 수 있습니다.

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

    이 경우 문자열 안에 아포스트로피를 사용해야 하는 경우에는 이스케이프해야 합니다. 즉, 아포스트로피 앞에 작은따옴표(')를 하나 더 사용해야 합니다.

  • 문자열 바깥쪽에 큰따옴표(")를 사용하여 문자열을 포함할 수 있습니다. 또한 다음 예제와 같이 백슬래시 문자(\)를 사용하여 문자열 내의 큰따옴표를 이스케이프할 수 있습니다.

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

두 방법 모두 COMPANYNAME="Acme ""Widgets"" and ""Gizmos.""" 값을 msiexec 명령에 전달합니다.

소프트웨어 설치 작업 모듈

InstallMSI

InstallMSI 작업 모듈은 MSI 파일을 사용하여 Windows 애플리케이션을 설치합니다. 로컬 경로, S3 객체 URI 또는 웹 URL을 사용하여 MSI 파일을 지정할 수 있습니다. 재부팅 옵션은 시스템의 재부팅 동작을 구성합니다.

AWSTOE 작업 모듈의 입력 매개 변수를 기반으로 msiexec 명령을 생성합니다. path(MSI 파일 위치) 및 logFile(로그 파일 위치) 입력 파라미터의 값은 따옴표(")로 묶어야 합니다.

다음 MSI 종료 코드는 성공한 것으로 간주됩니다.

  • 0(성공)

  • 1614(ERROR_PRODUCT_UNINSTALLED)

  • 1641(재부팅이 시작됨)

  • 3010(재부팅 필요)

Input
프리미티브 설명 유형 필수 기본값 허용되는 값
path

다음 중 하나를 사용하여 MSI 파일 위치를 지정합니다.

  • 로컬 파일 경로입니다. 경로는 절대 경로일 수도 있고 상대 경로일 수도 있음

  • 유효한 S3 객체 URI입니다.

  • RFC 3986 표준을 따르는 유효한 웹 HTTP/HTTPS URL(HTTPS 권장)입니다.

chaining 표현식이 허용됩니다.

String 해당 사항 없음 N/A
reboot

작업 모듈이 성공적으로 실행된 후 나타나는 시스템 재부팅 동작을 구성합니다.

설정:
  • Force - msiexec 명령이 성공적으로 실행된 후 시스템 재부팅을 시작합니다.

  • Allow - msiexec 명령이 재부팅이 필요함을 나타내는 종료 코드를 반환하는 경우 시스템 재부팅을 시작합니다.

  • Skip - 재부팅을 건너뛰었음을 나타내는 정보 메시지를 console.log 파일에 기록합니다. 이 옵션은 msiexec 명령이 재부팅이 필요함을 나타내는 종료 코드를 반환하더라도 재부팅을 방지합니다.

String 아니요 Allow Allow, Force, Skip
logOptions

MSI 설치 로깅에 사용할 옵션을 지정합니다. 지정된 플래그는 /L 명령줄 파라미터와 함께 MSI 설치 관리자에 전달되어 로깅을 활성화합니다. 플래그가 지정되지 않은 경우 기본값을 AWSTOE 사용합니다.

MSI의 로그 옵션에 대한 자세한 내용은 Microsoft Windows 설치 프로그램 제품 설명서의 명령줄 옵션을 참조하세요.

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

로그 파일 위치의 절대 경로 또는 상대 경로입니다. 로그 파일 경로가 없으면 생성됩니다. 로그 파일 경로를 제공하지 않으면 MSI 설치 로그를 저장하지 AWSTOE 않습니다.

String 아니요 N/A N/A
properties

MSI 로깅 속성 키/값 페어, 예: TARGETDIR: "C:\target\location"

 

참고: 다음 속성은 수정할 수 없습니다.

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Map[String]String 아니요 N/A N/A
ignoreAuthenticodeSignatureErrors

경로에 지정된 설치 프로그램의 Authenticode 서명 검증 오류를 무시하도록 설정하는 플래그입니다. Get-AuthenticodeSignature 명령은 설치 프로그램을 검증하는 데 사용됩니다.

설정:
  • true - 검증 오류는 무시되고 설치 프로그램이 실행됩니다.

  • false - 검증 오류가 무시되지 않습니다. 검증이 성공한 경우에만 설치 프로그램이 실행됩니다. 이는 기본 설정 동작입니다.

불린(Boolean) 아니요 false true, false
allowUnsignedInstaller

경로에 지정된 서명되지 않은 설치 프로그램을 실행할 수 있도록 하는 플래그입니다. Get-AuthenticodeSignature 명령은 설치 프로그램을 검증하는 데 사용됩니다.

설정:
  • true - Get-AuthenticodeSignature 명령에서 반환된 NotSigned 상태를 무시하고 설치 프로그램을 실행합니다.

  • false - 설치 프로그램이 서명되어야 합니다. 서명되지 않은 설치 프로그램은 실행되지 않습니다. 이는 기본 설정 동작입니다.

불린(Boolean) 아니요 false true, false

다음 예제는 설치 경로에 따른 구성 요소 문서의 입력 섹션 변형을 보여줍니다.

입력 예제: 로컬 문서 경로 설치

- 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

입력 예제: 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

입력 예제: 웹 경로 설치

- 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
출력

다음은 InstallMSI 작업 모듈의 출력 예제입니다.

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

UninstallMSI

UninstallMSI 작업 모듈을 사용하면 MSI 파일을 사용하여 Windows 애플리케이션을 제거할 수 있습니다. 로컬 파일 경로, S3 객체 URI 또는 웹 URL을 사용하여 MSI 파일 위치를 지정할 수 있습니다. 재부팅 옵션은 시스템의 재부팅 동작을 구성합니다.

AWSTOE 작업 모듈의 입력 매개 변수를 기반으로 msiexec 명령을 생성합니다. MSI 파일 위치(path)와 로그 파일 위치(logFile)는 msiexec 명령을 생성하는 동안 명시적으로 큰따옴표(")로 묶습니다.

다음 MSI 종료 코드는 성공한 것으로 간주됩니다.

  • 0(성공)

  • 1605(ERROR_UNKNOWN_PRODUCT)

  • 1614(ERROR_PRODUCT_UNINSTALLED)

  • 1641(재부팅이 시작됨)

  • 3010(재부팅 필요)

Input
프리미티브 설명 유형 필수 기본값 허용되는 값
path

다음 중 하나를 사용하여 MSI 파일 위치를 지정합니다.

  • 로컬 파일 경로입니다. 경로는 절대 경로일 수도 있고 상대 경로일 수도 있습니다.

  • 유효한 S3 객체 URI입니다.

  • RFC 3986 표준을 따르는 유효한 웹 HTTP/HTTPS URL(HTTPS 권장)입니다.

chaining 표현식이 허용됩니다.

String 해당 사항 없음 N/A
reboot

작업 모듈이 성공적으로 실행된 후 나타나는 시스템 재부팅 동작을 구성합니다.

설정:
  • Force - msiexec 명령이 성공적으로 실행된 후 시스템 재부팅을 시작합니다.

  • Allow - msiexec 명령이 재부팅이 필요함을 나타내는 종료 코드를 반환하는 경우 시스템 재부팅을 시작합니다.

  • Skip - 재부팅을 건너뛰었음을 나타내는 정보 메시지를 console.log 파일에 기록합니다. 이 옵션은 msiexec 명령이 재부팅이 필요함을 나타내는 종료 코드를 반환하더라도 재부팅을 방지합니다.

String 아니요 Allow Allow, Force, Skip
logOptions

MSI 설치 로깅에 사용할 옵션을 지정합니다. 지정된 플래그는 /L 명령줄 파라미터와 함께 MSI 설치 관리자에 전달되어 로깅을 활성화합니다. 플래그가 지정되지 않은 경우 기본값을 AWSTOE 사용합니다.

MSI의 로그 옵션에 대한 자세한 내용은 Microsoft Windows 설치 프로그램 제품 설명서의 명령줄 옵션을 참조하세요.

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

로그 파일 위치의 절대 경로 또는 상대 경로입니다. 로그 파일 경로가 없으면 생성됩니다. 로그 파일 경로를 제공하지 않으면 MSI 설치 로그를 저장하지 AWSTOE 않습니다.

String 아니요 N/A N/A
properties

MSI 로깅 속성 키/값 페어, 예: TARGETDIR: "C:\target\location"

 

참고: 다음 속성은 수정할 수 없습니다.

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Map[String]String 아니요 N/A N/A
ignoreAuthenticodeSignatureErrors

경로에 지정된 설치 프로그램의 Authenticode 서명 검증 오류를 무시하도록 설정하는 플래그입니다. Get-AuthenticodeSignature 명령은 설치 프로그램을 검증하는 데 사용됩니다.

설정:
  • true - 검증 오류는 무시되고 설치 프로그램이 실행됩니다.

  • false - 검증 오류가 무시되지 않습니다. 검증이 성공한 경우에만 설치 프로그램이 실행됩니다. 이는 기본 설정 동작입니다.

불린(Boolean) 아니요 false true, false
allowUnsignedInstaller

경로에 지정된 서명되지 않은 설치 프로그램을 실행할 수 있도록 하는 플래그입니다. Get-AuthenticodeSignature 명령은 설치 프로그램을 검증하는 데 사용됩니다.

설정:
  • true - Get-AuthenticodeSignature 명령에서 반환된 NotSigned 상태를 무시하고 설치 프로그램을 실행합니다.

  • false - 설치 프로그램이 서명되어야 합니다. 서명되지 않은 설치 프로그램은 실행되지 않습니다. 이는 기본 설정 동작입니다.

불린(Boolean) 아니요 false true, false

다음 예제는 설치 경로에 따른 구성 요소 문서의 입력 섹션 변형을 보여줍니다.

입력 예제: 로컬 문서 경로 설치 제거

- 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

입력 예제: 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

입력 예제: 웹 경로 설치 제거

- 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
출력

다음은 UninstallMSI 작업 모듈의 출력 예제입니다.

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

시스템 작업 모듈

다음 섹션에서는 파일 시스템 작업 명령 및 지침을 수행하는 작업 모듈에 대해 설명합니다.

시스템 작업 모듈

재부팅

재부팅 작업 모듈은 인스턴스를 재부팅합니다. 재부팅 시작을 지연시킬 수 있는 구성 가능한 옵션이 포함되어 있습니다. 기본적으로 delaySeconds(은)는 0(으)로 설정되어 있으며, 이는 지연이 없음을 의미합니다. 재부팅 작업 모듈의 경우, 인스턴스 재부팅 시에는 적용되지 않기 때문에 단계 시간 초과가 지원되지 않습니다.

Systems Manager Agent가 애플리케이션을 호출하면, 종료 코드(Windows의 경우 3010, Linux의 경우 194)가 Systems Manager Agent에 전달됩니다. Systems Manager Agent는 스크립트에서 관리형 인스턴스 재부팅에 설명된 대로 시스템 재부팅을 처리합니다.

애플리케이션이 호스트에서 독립 실행형 프로세스로 호출되는 경우, 현재 실행 상태를 저장하고 재부팅 후 애플리케이션을 재실행하도록 재부팅 후 자동 실행 트리거를 구성한 다음 시스템을 재부팅합니다.

재부팅 후 자동 실행 트리거:

  • Windows. AWSTOE (은)는 SystemStartup에서 자동으로 실행되는 트리거가 포함된 Windows 작업 스케줄러 항목을 만듭니다.

  • Linux. AWSTOE (은)는 시스템 재부팅 후 자동으로 실행되는 작업을 crontab에 추가합니다.

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

이 트리거는 애플리케이션이 시작될 때 정리됩니다.

재시도

기본적으로 최대 재시도 횟수는 Systems Manager CommandRetryLimit으로 설정됩니다. 재부팅 횟수가 재시도 제한을 초과하면, 자동화가 실패합니다. Systems Manager 에이전트 구성 파일(Mds.CommandRetryLimit)을 편집하여 제한을 변경할 수 있습니다. Systems Manager 에이전트 오픈 소스의 런타임 구성을 참조하세요.

Reboot 작업 모듈을 사용하려면, exitcode 재부팅이 포함된 단계(예: 3010)의 경우 애플리케이션 바이너리를 sudo user(으)로 실행해야 합니다.

Input
프리미티브 설명 유형 필수 기본값
delaySeconds 재부팅을 시작하기 전에 특정 시간을 지연시킵니다. Integer

아니요

0

입력 예제: 재부팅 단계

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

출력

없음.

Reboot 모듈이 완료되면, Image Builder는 빌드의 다음 단계를 계속 진행합니다.

SetRegistry

SetRegistry작업 모듈은 입력 목록을 받아들이고 지정된 레지스트리 키의 값을 설정할 수 있습니다. 레지스트리 키가 없으면, 정의된 경로에 새로 생성됩니다. 이 기능은 Windows에만 적용됩니다.

Input
프리미티브 설명 유형 필수
path 레지스트리 키의 경로입니다. String
name 레지스트리 키의 이름입니다. String
value 레지스트리 키의 값입니다. 문자열/숫자/배열
type 레지스트리 키의 값 유형입니다. String
지원되는 경로 접두사
  • HKEY_CLASSES_ROOT / HKCR:

  • HKEY_USERS / HKU:

  • HKEY_LOCAL_MACHINE / HKLM:

  • HKEY_CURRENT_CONFIG / HKCC:

  • HKEY_CURRENT_USER / HKCU:

지원되는 유형
  • BINARY

  • DWORD

  • QWORD

  • SZ

  • EXPAND_SZ

  • MULTI_SZ

입력 예제: 레지스트리 키 값 설정

- 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

출력

없음.

UpdateOS

UpdateOS 작업 모듈은 Windows 및 Linux 업데이트 설치에 대한 지원을 추가합니다. 기본적으로 사용 가능한 모든 업데이트가 설치됩니다. 또는 설치할 작업 모듈에 대한 하나 이상의 특정 업데이트 목록을 구성할 수 있습니다. 설치에서 제외할 업데이트를 지정할 수도 있습니다.

‘포함’ 목록과 ‘제외’ 목록을 모두 제공하는 경우 결과 업데이트 목록에는 ‘포함’ 목록에 나열되어 있지만 ‘제외’ 목록에 나열되지 않은 업데이트만 포함될 수 있습니다.

참고

UpdateOS는 Amazon Linux 2023(AL2023)을 지원하지 않습니다. 기본 AMI를 모든 릴리스와 함께 제공되는 새 버전으로 업데이트하는 것이 좋습니다. 다른 대안은 Amazon Linux 2023 사용 설명서메이저 릴리스와 마이너 릴리스에서 받은 업데이트 제어를 참조하세요.

  • Windows. 업데이트는 대상 컴퓨터에 구성된 업데이트 소스에서 설치됩니다.

  • Linux. 애플리케이션은 Linux 플랫폼에서 지원되는 패키지 관리자를 확인하고 yum 또는 apt-get 패키지 관리자를 사용합니다. 둘 다 지원되지 않으면 오류가 반환됩니다. UpdateOS 작업 모듈을 실행할 sudo 권한이 있어야 합니다. sudo 권한이 없는 경우 error.Input(이)가 반환됩니다.

Input
프리미티브 설명 유형 필수
include

Windows의 경우, 다음을 지정할 수 있습니다.

  • 설치할 수 있는 업데이트 목록에 포함할 하나 이상의 Microsoft 기술 자료(KB) 문서 ID입니다. 유효한 값은 KB1234567 또는 1234567입니다.

  • 와일드카드 값(*)을 사용한 업데이트 이름입니다. 유효한 값은 Security* 또는 *Security*입니다.

Linux의 경우 설치용 업데이트 목록에 포함할 패키지를 하나 이상 지정할 수 있습니다.

문자열 목록 아니요
exclude

Windows의 경우, 다음을 지정할 수 있습니다.

  • 설치에서 제외할 업데이트 목록에 포함할 하나 이상의 Microsoft 기술 자료(KB) 문서 ID입니다. 유효한 값은 KB1234567 또는 1234567입니다.

  • 와일드카드(*) 값을 사용한 업데이트 이름입니다. 유효한 값은 Security* 또는 *Security*입니다.

Linux의 경우, 설치용 업데이트 목록에서 제외할 패키지를 하나 이상 지정할 수 있습니다.

문자열 목록 아니요

입력 예제: Linux 업데이트 설치에 대한 지원 추가

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

입력 예제: Windows 업데이트 설치에 대한 지원 추가

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

출력

없음.