Modul aksi didukung oleh manajer AWSTOE komponen - EC2 Image Builder

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Modul aksi didukung oleh manajer AWSTOE komponen

Layanan pembuatan gambar, seperti EC2 Image Builder, AWSTOE menggunakan modul tindakan untuk membantu mengonfigurasi instans EC2 yang digunakan untuk membangun dan menguji gambar mesin yang disesuaikan. Bagian ini menjelaskan fitur modul AWSTOE tindakan yang umum digunakan, dan cara mengonfigurasinya, termasuk contoh.

AWSTOEkomponen ditulis dengan dokumen YAMM plaintext. Untuk informasi selengkapnya tentang sintaks dokumen, lihatGunakan dokumen komponen di AWSTOE.

catatan

Semua modul tindakan menggunakan akun yang sama dengan agen Systems Manager saat dijalankan, yang ada root di Linux, dan NT Authority\SYSTEM di Windows.

Modul eksekusi umum

Bagian berikut berisi rincian untuk modul tindakan yang melakukan perintah eksekusi umum dan instruksi.

ExecuteBash

Modul ExecuteBashaksi memungkinkan Anda menjalankan skrip bash dengan kode/perintah shell sebaris. Modul ini mendukung Linux.

Semua perintah dan instruksi yang Anda tentukan di blok perintah diubah menjadi file (misalnya,input.sh) dan dijalankan dengan shell bash. Hasil menjalankan file shell adalah kode keluar dari langkah tersebut.

ExecuteBashModul menangani sistem restart jika skrip keluar dengan kode keluar dari. 194 Saat dimulai, aplikasi melakukan salah satu tindakan berikut:

  • Aplikasi menyerahkan kode keluar ke pemanggil jika dijalankan oleh Agen Systems Manager. Agen Systems Manager menangani reboot sistem dan menjalankan langkah yang sama yang memulai restart, seperti yang dijelaskan dalam Memulai Ulang Instans Terkelola dari Skrip.

  • Aplikasi menyimpan arusexecutionstate, mengonfigurasi pemicu restart untuk menjalankan kembali aplikasi, dan memulai ulang sistem.

Setelah sistem restart, aplikasi menjalankan langkah yang sama yang memulai restart. Jika Anda memerlukan fungsi ini, Anda harus menulis skrip idempoten yang dapat menangani beberapa pemanggilan dari perintah shell yang sama.

Input
Primitif Deskripsi Tipe Diperlukan
commands Berisi daftar instruksi atau perintah untuk dijalankan sesuai sintaks bash. YAML multi-baris diizinkan. Daftar Ya

Contoh masukan: Sebelum dan sesudah reboot

name: ExitCode194Example description: This shows how the exit code can be used to restart a system with ExecuteBash schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecuteBash inputs: commands: - | REBOOT_INDICATOR=/var/tmp/reboot-indicator if [ -f "${REBOOT_INDICATOR}" ]; then echo 'The reboot file exists. Deleting it and exiting with success.' rm "${REBOOT_INDICATOR}" exit 0 fi echo 'The reboot file does not exist. Creating it and triggering a restart.' touch "${REBOOT_INDICATOR}" exit 194
Output
Bidang Deskripsi Tipe
stdout Output standar eksekusi perintah. string

Jika Anda memulai reboot dan mengembalikan kode keluar 194 sebagai bagian dari modul tindakan, build akan dilanjutkan pada langkah modul tindakan yang sama yang memulai reboot. Jika Anda memulai reboot tanpa kode keluar, proses pembuatan mungkin gagal.

Contoh keluaran: Sebelum reboot (pertama kali melalui dokumen)

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

Contoh keluaran: Setelah reboot, (kedua kalinya melalui dokumen)

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

ExecuteBinary

Modul ExecuteBinarytindakan memungkinkan Anda menjalankan file biner dengan daftar argumen baris perintah.

ExecuteBinaryModul ini menangani sistem restart jika file biner keluar dengan kode keluar dari 194 (Linux) atau 3010 (Windows). Ketika ini terjadi, aplikasi melakukan salah satu tindakan berikut:

  • Aplikasi menyerahkan kode keluar ke pemanggil jika dijalankan oleh Agen Systems Manager. Agen Systems Manager menangani memulai ulang sistem dan menjalankan langkah yang sama yang memulai restart, seperti yang dijelaskan dalam Memulai Ulang Instans Terkelola dari Skrip.

  • Aplikasi menyimpan arusexecutionstate, mengonfigurasi pemicu restart untuk menjalankan kembali aplikasi, dan memulai ulang sistem.

Setelah sistem restart, aplikasi menjalankan langkah yang sama yang memulai restart. Jika Anda memerlukan fungsi ini, Anda harus menulis skrip idempoten yang dapat menangani beberapa pemanggilan dari perintah shell yang sama.

Input
Primitif Deskripsi Tipe Diperlukan
path Path ke file biner untuk eksekusi. Tali Ya
arguments Berisi daftar argumen baris perintah untuk digunakan saat menjalankan biner. Daftar String Tidak

Contoh masukan: instal .NET

name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Output
Bidang Deskripsi Tipe
stdout Output standar eksekusi perintah. string

Contoh keluaran

{ "stdout": "success" }

ExecuteDocument

Modul ExecuteDocumenttindakan menambahkan dukungan untuk dokumen komponen bersarang, menjalankan beberapa dokumen komponen dari satu dokumen. AWSTOEmemvalidasi dokumen yang diteruskan dalam parameter input pada waktu berjalan.

Pembatasan
  • Modul tindakan ini berjalan satu kali, tanpa percobaan ulang yang diizinkan, dan tidak ada opsi untuk menetapkan batas waktu tunggu. ExecuteDocumentmenetapkan nilai default berikut, dan mengembalikan kesalahan jika Anda mencoba untuk mengubahnya.

    • timeoutSeconds: -1

    • maxAttempts: 1

    catatan

    Anda dapat membiarkan nilai-nilai ini kosong, dan AWSTOE menggunakan nilai default.

  • Penyarangan dokumen diperbolehkan, hingga kedalaman tiga tingkat, tetapi tidak lebih dari itu. Tiga tingkat bersarang diterjemahkan ke empat tingkat dokumen, karena tingkat atas tidak bersarang. Dalam skenario ini, dokumen tingkat terendah tidak boleh memanggil dokumen lain.

  • Eksekusi siklik dokumen komponen tidak diperbolehkan. Setiap dokumen yang menyebut dirinya di luar konstruksi perulangan, atau yang memanggil dokumen lain yang lebih tinggi dalam rantai eksekusi saat ini, memulai siklus yang dapat menghasilkan loop tanpa akhir. Ketika AWSTOE mendeteksi eksekusi siklik, itu menghentikan eksekusi dan mencatat kegagalan.

Pembatasan tingkat bersarang untuk modul ExecuteDocument tindakan.

Jika dokumen komponen mencoba menjalankannya sendiri, atau menjalankan salah satu dokumen komponen yang lebih tinggi dalam rantai eksekusi saat ini, eksekusi gagal.

Masukan

Primitif Deskripsi Tipe Diperlukan
document

Jalur dokumen komponen. Pilihan yang valid meliputi:

  • Jalur file lokal

  • URI S3

  • ARN versi pembuatan komponen EC2 Image Builder

Tali Ya
document-s3-bucket-owner

ID akun pemilik bucket S3 untuk bucket S3 tempat dokumen komponen disimpan. (Direkomendasikan jika Anda menggunakan URI S3 di dokumen komponen Anda.)

String Tidak
phases

Fase untuk dijalankan dalam dokumen komponen, dinyatakan sebagai daftar dipisahkan koma. Jika tidak ada fase yang ditentukan, maka semua fase berjalan.

String Tidak
parameters

Parameter masukan yang diteruskan ke dokumen komponen saat runtime sebagai pasangan nilai kunci.

Daftar Peta Parameter Tidak

Masukan peta parameter

Primitif Deskripsi Tipe Diperlukan
name

Nama parameter input untuk diteruskan ke dokumen komponen yang sedang dijalankan modul ExecuteDocumenttindakan.

Tali Ya
value

Nilai parameter input.

Tali Ya
Contoh masukan

Contoh berikut menunjukkan variasi input untuk dokumen komponen Anda, tergantung pada jalur instalasi Anda.

Contoh masukan: Jalur dokumen lokal

# 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

Contoh masukan: URI S3 sebagai jalur dokumen

# 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

Contoh masukan: Komponen EC2 Image Builder ARN sebagai jalur dokumen

# 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

Menggunakan ForEach loop untuk menjalankan dokumen

# 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

Menggunakan loop For untuk menjalankan dokumen

# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument loop: name: 'myForLoop' for: start: 1 end: 2 updateBy: 1 inputs: document: "Sample-{{myForLoop.value}}.yaml" phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Output

AWSTOEmembuat file output yang disebut detailedoutput.json setiap kali dijalankan. File berisi rincian tentang setiap fase dan langkah dari setiap dokumen komponen yang dipanggil saat sedang berjalan. Untuk modul ExecuteDocumenttindakan, Anda dapat menemukan ringkasan runtime singkat di outputs lapangan, dan detail tentang fase, langkah, dan dokumen yang dijalankan didetailedOutput.

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

Setiap objek ringkasan keluaran dokumen komponen berisi rincian berikut, seperti yang ditunjukkan di sini, dengan nilai sampel:

  • executedStepCount“:1

  • “ExecutionID” :"12345a67-89bc-01de-2f34-abcd56789012"

  • “failedStepCount“:0

  • “FailureMessage”: "”

  • “ignoredFailedStepHitung” :0

  • “logUrl”: "”

  • “status” :"sukses”

Contoh keluaran

Contoh berikut menunjukkan output dari modul ExecuteDocumenttindakan ketika eksekusi bersarang terjadi. Dalam contoh ini, dokumen main.yaml komponen berhasil menjalankan dokumen Sample-1.yaml komponen.

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

Modul ExecutePowerShelltindakan memungkinkan Anda menjalankan PowerShell skrip dengan kode/perintah shell sebaris. Modul ini mendukung platform Windows dan Windows PowerShell.

Semua perintah/instruksi yang ditentukan dalam blok perintah diubah menjadi file skrip (misalnya,input.ps1) dan dijalankan menggunakan Windows. PowerShell Hasil menjalankan file shell adalah kode keluar.

ExecutePowerShellModul menangani sistem restart jika perintah shell keluar dengan kode keluar dari. 3010 Saat dimulai, aplikasi melakukan salah satu tindakan berikut:

  • Menyerahkan kode keluar ke pemanggil jika dijalankan oleh Agen Systems Manager. Agen Systems Manager menangani reboot sistem dan menjalankan langkah yang sama yang memulai restart, seperti yang dijelaskan dalam Memulai Ulang Instans Terkelola dari Skrip.

  • Menyimpan arusexecutionstate, mengonfigurasi pemicu restart untuk menjalankan kembali aplikasi, dan me-reboot sistem.

Setelah sistem restart, aplikasi menjalankan langkah yang sama yang memulai restart. Jika Anda memerlukan fungsi ini, Anda harus menulis skrip idempoten yang dapat menangani beberapa pemanggilan dari perintah shell yang sama.

Input
Primitif Deskripsi Tipe Diperlukan
commands Berisi daftar instruksi atau perintah untuk dijalankan sesuai PowerShell sintaks. YAML multi-baris diizinkan. Daftar String

Ya. Harus menentukan commands ataufile, tidak keduanya.

file Berisi path ke file PowerShell script. PowerShell akan berjalan melawan file ini menggunakan argumen baris -file perintah. Jalur harus menunjuk ke .ps1 file. String

Ya. Harus menentukan commands ataufile, tidak keduanya.

Contoh masukan: Sebelum dan sesudah reboot

name: ExitCode3010Example description: This shows how the exit code can be used to restart a system with ExecutePowerShell schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecutePowerShell inputs: commands: - | $rebootIndicator = Join-Path -Path $env:SystemDrive -ChildPath 'reboot-indicator' if (Test-Path -Path $rebootIndicator) { Write-Host 'The reboot file exists. Deleting it and exiting with success.' Remove-Item -Path $rebootIndicator -Force | Out-Null [System.Environment]::Exit(0) } Write-Host 'The reboot file does not exist. Creating it and triggering a restart.' New-Item -Path $rebootIndicator -ItemType File | Out-Null [System.Environment]::Exit(3010)
Output
Bidang Deskripsi Tipe
stdout Output standar eksekusi perintah. string

Jika Anda menjalankan reboot dan mengembalikan kode keluar 3010 sebagai bagian dari modul tindakan, build akan dilanjutkan pada langkah modul tindakan yang sama yang memulai reboot. Jika Anda menjalankan reboot tanpa kode keluar, proses build mungkin gagal.

Contoh keluaran: Sebelum reboot (pertama kali melalui dokumen)

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

Contoh keluaran: Setelah reboot, (kedua kalinya melalui dokumen)

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

Modul unduhan dan unggah file

Bagian berikut berisi rincian untuk modul tindakan yang melakukan perintah dan instruksi download dan upload.

Unduh dan unggah modul tindakan

S3Unduh

Dengan modul S3Download tindakan, Anda dapat mengunduh objek Amazon S3, atau sekumpulan objek, ke file atau folder lokal yang Anda tentukan dengan jalur. destination Jika ada file yang sudah ada di lokasi yang ditentukan, dan overwrite bendera disetel ke true, S3Download timpa file tersebut.

sourceLokasi Anda dapat menunjuk ke objek tertentu di Amazon S3, atau Anda dapat menggunakan key prefix dengan wildcard asterisk * () untuk mengunduh sekumpulan objek yang cocok dengan jalur awalan key. Saat Anda menentukan key prefix di source lokasi Anda, modul S3Download tindakan akan mengunduh semua yang cocok dengan awalan (termasuk file dan folder). Pastikan bahwa key prefix diakhiri dengan garis miring maju, diikuti dengan tanda bintang (/*), sehingga Anda mengunduh semua yang cocok dengan awalan. Sebagai contoh: s3://my-bucket/my-folder/*.

catatan

Semua folder di jalur tujuan harus ada sebelum mengunduh, atau unduhan gagal.

Jika S3Download tindakan untuk key prefix tertentu gagal selama download, konten folder tidak digulung kembali ke statusnya sebelum kegagalan. Folder tujuan tetap seperti pada saat kegagalan.

Kasus penggunaan yang didukung

Modul S3Download tindakan mendukung kasus penggunaan berikut:

  • Objek Amazon S3 diunduh ke folder lokal, seperti yang ditentukan dalam jalur unduhan.

  • Objek Amazon S3 (dengan awalan kunci di jalur file Amazon S3) diunduh ke folder lokal yang ditentukan, yang secara rekursif menyalin semua objek Amazon S3 yang cocok dengan awalan key ke folder lokal.

Persyaratan IAM

Peran IAM yang Anda kaitkan dengan profil instans Anda harus memiliki izin untuk menjalankan modul S3Download tindakan. Kebijakan IAM berikut harus dilampirkan pada peran IAM yang terkait dengan profil instans:

  • File tunggal: s3:GetObject terhadap ember/objek (misalnya,). arn:aws:s3:::BucketName/*

  • Beberapa file: s3:ListBucket terhadap ember/objek (misalnya,arn:aws:s3:::BucketName) dan s3:GetObject terhadap ember/objek (misalnya,). arn:aws:s3:::BucketName/*

Input

Primitif

Deskripsi

Tipe

Diperlukan

Default

source

Bucket Amazon S3 yang merupakan sumber unduhan Anda. Anda dapat menentukan path ke objek tertentu, atau menggunakan key prefix, yang diakhiri dengan garis miring maju, diikuti dengan wildcard asterisk (/*), untuk mengunduh sekumpulan objek yang cocok dengan key prefix.

Tali

Ya

T/A

destination

Jalur lokal tempat objek Amazon S3 diunduh. Untuk mengunduh satu file, Anda harus menentukan nama file sebagai bagian dari jalur. Sebagai contoh, /myfolder/package.zip.

Tali

Ya

T/A

expectedBucketOwner

ID akun pemilik yang diharapkan dari bucket yang disediakan di source jalur. Kami menyarankan Anda memverifikasi kepemilikan bucket Amazon S3 yang ditentukan dalam sumbernya.

String

Tidak

T/A

overwrite

Ketika disetel ke true, jika file dengan nama yang sama sudah ada di folder tujuan untuk jalur lokal yang ditentukan, file unduhan menimpa file lokal. Ketika disetel ke false, file yang ada di sistem lokal dilindungi agar tidak ditimpa, dan modul tindakan gagal dengan kesalahan unduhan.

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

Boolean

Tidak

betul

catatan

Untuk contoh berikut, jalur folder Windows dapat diganti dengan jalur Linux. Misalnya, C:\myfolder\package.zip bisa diganti dengan/myfolder/package.zip.

Contoh masukan: salin objek Amazon S3 ke file lokal

Contoh berikut menunjukkan cara menyalin objek Amazon S3 ke file lokal.

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
Contoh masukan: salin semua objek Amazon S3 di bucket Amazon S3 dengan key prefix ke folder lokal

Contoh berikut menunjukkan cara menyalin semua objek Amazon S3 di bucket Amazon S3 dengan awalan key ke folder lokal. Amazon S3 tidak memiliki konsep folder, oleh karena itu semua objek yang cocok dengan key prefix disalin. Jumlah maksimum objek yang dapat diunduh adalah 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
Output

Tidak ada.

S3Unggah

Dengan modul tindakan S3Upload, Anda dapat mengunggah file dari file sumber atau folder ke lokasi Amazon S3. Anda dapat menggunakan wildcard (*) di jalur yang ditentukan untuk lokasi sumber Anda untuk mengunggah semua file yang jalurnya cocok dengan pola wildcard.

Jika tindakan S3Upload rekursif gagal, file apa pun yang telah diunggah akan tetap berada di bucket Amazon S3 tujuan.

Kasus penggunaan yang didukung
  • File lokal ke objek Amazon S3.

  • File lokal dalam folder (dengan wildcard) ke awalan kunci Amazon S3.

  • Salin folder lokal (harus recurse disetel ketrue) ke Amazon S3 key prefix.

Persyaratan IAM

Peran IAM yang Anda kaitkan dengan profil instans Anda harus memiliki izin untuk menjalankan modul S3Upload tindakan. Kebijakan IAM berikut harus dilampirkan pada peran IAM yang terkait dengan profil instans. Kebijakan harus memberikan s3:PutObject izin ke bucket Amazon S3 target. Misalnya,arn:aws:s3:::BucketName/*).

Input

Primitif

Deskripsi

Tipe

Diperlukan

Default

source

Jalur lokal tempat file sumber/folder berasal. sourceMendukung wildcard asterisk ()*.

Tali

Ya

T/A

destination

Jalur untuk bucket Amazon S3 tujuan tempat file sumber/folder diunggah.

Tali

Ya

T/A

recurse

Saat disetel ketrue, lakukan S3Upload secara rekursif.

String

Tidak

false

expectedBucketOwner

ID akun pemilik yang diharapkan untuk bucket Amazon S3 yang ditentukan di jalur tujuan. Kami menyarankan Anda memverifikasi kepemilikan bucket Amazon S3 yang ditentukan di tujuan.

String

Tidak

T/A

Contoh masukan: salin file lokal ke objek Amazon S3

Contoh berikut menunjukkan cara menyalin file lokal ke objek 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
Contoh masukan: salin semua file dalam folder lokal ke bucket Amazon S3 dengan key prefix

Contoh berikut menunjukkan cara menyalin semua file di folder lokal ke bucket Amazon S3 dengan key prefix. Contoh ini tidak menyalin sub-folder atau isinya karena tidak recurse ditentukan, dan defaultnya. false

name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\myfolder\* destination: s3://mybucket/path/to/ expectedBucketOwner: 123456789022
Contoh masukan: salin semua file dan folder secara rekursif dari folder lokal ke bucket Amazon S3

Contoh berikut menunjukkan cara menyalin semua file dan folder secara rekursif dari folder lokal ke bucket Amazon S3 dengan key prefix.

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

Tidak ada.

WebDownload

Modul WebDownloadtindakan memungkinkan Anda mengunduh file dan sumber daya dari lokasi terpencil melalui protokol HTTP/HTTPS (disarankan HTTPS). Tidak ada batasan jumlah atau ukuran unduhan. Modul ini menangani coba lagi dan logika backoff eksponensial.

Setiap operasi pengunduhan dialokasikan maksimal 5 upaya untuk berhasil sesuai dengan input pengguna. Upaya ini berbeda dari yang ditentukan di maxAttempts bidang dokumensteps, yang terkait dengan kegagalan modul tindakan.

Modul tindakan ini secara implisit menangani pengalihan. Semua kode status HTTP, kecuali200, menghasilkan kesalahan.

Input
Primitif Deskripsi Tipe Diperlukan Default
source URL HTTP/HTTPS yang valid (disarankan HTTPS), yang mengikuti standar RFC 3986. Ekspresi rantai diizinkan. Tali

Ya

T/A
destination Sebuah file absolut atau relatif atau jalur folder pada sistem lokal. Jalur folder harus diakhiri dengan/. Jika mereka tidak berakhir dengan/, mereka akan diperlakukan sebagai jalur file. Modul ini membuat file atau folder yang diperlukan untuk unduhan yang berhasil. Ekspresi rantai diizinkan. Tali Ya T/A
overwrite Saat diaktifkan, timpa file yang ada di sistem lokal dengan file atau sumber daya yang diunduh. Saat tidak diaktifkan, file apa pun yang ada di sistem lokal tidak ditimpa, dan modul tindakan gagal dengan kesalahan. Ketika timpa diaktifkan dan checksum dan algoritma ditentukan, maka modul tindakan mengunduh file hanya jika checksum dan hash dari file yang sudah ada sebelumnya tidak cocok. Boolean Tidak true
checksum Ketika Anda menentukan checksum, itu diperiksa terhadap hash dari file yang diunduh yang dihasilkan dengan algoritma yang disediakan. Agar verifikasi file diaktifkan, checksum dan algoritme harus disediakan. Ekspresi rantai diizinkan. String Tidak T/A
algorithm Algoritma yang digunakan untuk menghitung checksum. Pilihannya adalah MD5, SHA1, SHA256, dan SHA512. Agar verifikasi file diaktifkan, checksum dan algoritme harus disediakan. Ekspresi rantai diizinkan. String Tidak T/A
ignoreCertificateErrors Validasi sertifikat SSL diabaikan saat diaktifkan. Boolean Tidak false
Output
Primitif Deskripsi Tipe
destination String berbatasan karakter baris baru yang menentukan jalur tujuan tempat file atau sumber daya yang diunduh disimpan. String

Contoh masukan: unduh file jarak jauh ke tujuan lokal

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

Contoh masukan: unduh lebih dari satu file jarak jauh ke lebih dari satu tujuan lokal

name: DownloadRemoteFiles action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: /tmp/java14_renamed.zip - source: https://testdomain/path/to/java14.zip destination: /tmp/create_new_folder_and_add_java14_as_zip/ Output: { "destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip" }

Contoh masukan: unduh satu file jarak jauh tanpa menimpa tujuan lokal, dan unduh file jarak jauh lainnya dengan verifikasi file

name: DownloadRemoteMultipleProperties action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder\java14_renamed.zip overwrite: false - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder_and_add_java14_as_zip\ checksum: ac68bbf921d953d1cfab916cb6120864 algorithm: MD5 overwrite: true Output: { "destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip" }

Contoh masukan: unduh file jarak jauh dan abaikan validasi sertifikasi SSL

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

Modul operasi sistem file

Bagian berikut berisi rincian untuk modul tindakan yang melakukan perintah dan instruksi operasi sistem file.

AppendFile

Modul AppendFiletindakan menambahkan konten tertentu ke konten file yang sudah ada sebelumnya.

Jika nilai encoding file berbeda dari nilai encoding (utf-8) default, maka Anda dapat menentukan nilai encoding file dengan menggunakan opsi. encoding Secara default, utf-16 dan utf-32 diasumsikan menggunakan pengkodean endian kecil.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • File yang ditentukan tidak ada saat runtime.

  • Anda tidak memiliki izin menulis untuk mengubah konten file.

  • Modul mengalami kesalahan selama operasi file.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A N/A Ya
content Konten yang akan ditambahkan ke file. String Tidak Empty string T/A Ya
encoding Standar pengkodean. String Tidak utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, dan utf-32-BE. Nilai opsi pengkodean tidak peka huruf besar/kecil. Ya

Contoh masukan: tambahkan file tanpa pengkodean (Linux)

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

Contoh masukan: tambahkan file tanpa pengkodean (Windows)

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

Contoh masukan: tambahkan file dengan encoding (Linux)

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

Contoh masukan: tambahkan file dengan pengkodean (Windows)

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

Contoh masukan: tambahkan file dengan string kosong (Linux)

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

Contoh masukan: tambahkan file dengan string kosong (Windows)

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

Tidak ada.

CopyFile

Modul CopyFiletindakan menyalin file dari sumber yang ditentukan ke tujuan yang ditentukan. Secara default, modul secara rekursif membuat folder tujuan jika tidak ada saat runtime.

Jika file dengan nama yang ditentukan sudah ada di folder yang ditentukan, modul tindakan, secara default, menimpa file yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada file di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan. Opsi ini bekerja sama dengan cp perintah di Linux, yang menimpa secara default.

Nama file sumber dapat menyertakan wildcard (*). Karakter wildcard diterima hanya setelah pemisah jalur file terakhir (/atau\). Jika karakter wildcard disertakan dalam nama file sumber, semua file yang cocok dengan wildcard disalin ke folder tujuan. Jika Anda ingin memindahkan lebih dari satu file dengan menggunakan karakter wildcard, input ke destination opsi harus diakhiri dengan pemisah jalur file (/atau\), yang menunjukkan bahwa input tujuan adalah folder.

Jika nama file tujuan berbeda dari nama file sumber, Anda dapat menentukan nama file tujuan menggunakan destination opsi. Jika Anda tidak menentukan nama file tujuan, nama file sumber digunakan untuk membuat file tujuan. Setiap teks yang mengikuti pemisah jalur file terakhir (/atau\) diperlakukan sebagai nama file. Jika Anda ingin menggunakan nama file yang sama dengan file sumber, maka input destination opsi harus diakhiri dengan pemisah jalur file (/atau\).

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat file di folder yang ditentukan.

  • File sumber tidak ada saat runtime.

  • Sudah ada folder dengan nama file yang ditentukan dan overwrite opsi diatur kefalse.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
source Jalur file sumber. Tali Ya T/A N/A Ya
destination Jalur file tujuan. Tali Ya T/A N/A Ya
overwrite Ketika diatur ke false, file tujuan tidak akan diganti ketika sudah ada file di lokasi yang ditentukan dengan nama yang ditentukan. Boolean Tidak true T/A Ya

Contoh masukan: salin file (Linux)

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

Contoh masukan: salin file (Windows)

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

Contoh masukan: salin file menggunakan nama file sumber (Linux)

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

Contoh masukan: salin file menggunakan nama file sumber (Windows)

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

Contoh masukan: salin file menggunakan karakter wildcard (Linux)

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

Contoh masukan: salin file menggunakan karakter wildcard (Windows)

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

Contoh masukan: salin file tanpa menimpa (Linux)

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

Contoh masukan: salin file tanpa menimpa (Windows)

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

Tidak ada.

CopyFolder

Modul CopyFoldertindakan menyalin folder dari sumber yang ditentukan ke tujuan yang ditentukan. Input untuk source opsi adalah folder yang akan disalin, dan input untuk destination opsi adalah folder tempat konten folder sumber disalin. Secara default, modul secara rekursif membuat folder tujuan jika tidak ada saat runtime.

Jika folder dengan nama yang ditentukan sudah ada di folder yang ditentukan, modul tindakan, secara default, menimpa folder yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada folder di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan.

Nama folder sumber dapat menyertakan wildcard (*). Karakter wildcard diterima hanya setelah pemisah jalur file terakhir (/atau\). Jika karakter wildcard disertakan dalam nama folder sumber, semua folder yang cocok dengan wildcard akan disalin ke folder tujuan. Jika Anda ingin menyalin lebih dari satu folder dengan menggunakan karakter wildcard, input ke destination opsi harus diakhiri dengan pemisah jalur file (/atau\), yang menunjukkan bahwa input tujuan adalah folder.

Jika nama folder tujuan berbeda dari nama folder sumber, Anda dapat menentukan nama folder tujuan menggunakan destination opsi. Jika Anda tidak menentukan nama folder tujuan, nama folder sumber digunakan untuk membuat folder tujuan. Teks apa pun yang mengikuti pemisah jalur file terakhir (/atau\) diperlakukan sebagai nama folder. Jika Anda ingin menggunakan nama folder yang sama dengan folder sumber, maka input destination opsi harus diakhiri dengan pemisah jalur file (/atau\).

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat folder di folder yang ditentukan.

  • Folder sumber tidak ada saat runtime.

  • Sudah ada folder dengan nama folder yang ditentukan dan overwrite opsi diatur kefalse.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
source Jalur folder sumber. Tali Ya T/A N/A Ya
destination Jalur folder tujuan. Tali Ya T/A N/A Ya
overwrite Ketika diatur ke false, folder tujuan tidak akan diganti ketika sudah ada folder di lokasi yang ditentukan dengan nama yang ditentukan. Boolean Tidak true T/A Ya

Contoh masukan: salin folder (Linux)

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

Contoh masukan: salin folder (Windows)

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

Contoh masukan: salin folder menggunakan nama folder sumber (Linux)

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

Contoh masukan: salin folder menggunakan nama folder sumber (Windows)

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

Contoh masukan: salin folder menggunakan karakter wildcard (Linux)

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

Contoh masukan: salin folder menggunakan karakter wildcard (Windows)

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

Contoh masukan: salin folder tanpa menimpa (Linux)

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

Contoh masukan: salin folder tanpa menimpa (Windows)

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

Tidak ada.

CreateFile

Modul CreateFiletindakan membuat file di lokasi tertentu. Secara default, jika diperlukan, modul juga secara rekursif membuat folder induk.

Jika file sudah ada di folder yang ditentukan, modul tindakan, secara default, memotong atau menimpa file yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada file di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan.

Jika nilai encoding file berbeda dari nilai encoding (utf-8) default, maka Anda dapat menentukan nilai encoding file dengan menggunakan opsi. encoding Secara default, utf-16 dan utf-32 diasumsikan menggunakan pengkodean endian kecil.

owner,group, dan permissions merupakan input opsional. Input untuk permissions harus berupa nilai string. File dibuat dengan nilai default bila tidak disediakan. Opsi ini tidak didukung pada platform Windows. Modul tindakan ini memvalidasi dan mengembalikan kesalahan jikaowner,group, dan permissions opsi digunakan pada platform Windows.

Modul tindakan ini dapat membuat file dengan izin yang ditentukan oleh umask nilai default sistem operasi. Anda harus menetapkan umask nilai jika Anda ingin mengganti nilai default.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat file atau folder di folder induk yang ditentukan.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A N/A Ya
content Isi file. String Tidak N/A N/A Ya
encoding Standar pengkodean. String Tidak utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, dan utf-32-BE. Nilai opsi pengkodean tidak peka huruf besar/kecil. Ya
owner Nama pengguna atau ID. String Tidak N/A T/A Tidak didukung di Windows.
group Nama grup atau ID. String Tidak Pengguna saat ini. T/A Tidak didukung di Windows.
permissions Izin file. String Tidak 0666 T/A Tidak didukung di Windows.
overwrite Jika nama file yang ditentukan sudah ada, setel nilai ini untuk false mencegah file terpotong atau ditimpa secara default. Boolean Tidak true T/A Ya

Contoh masukan: buat file tanpa menimpa (Linux)

name: CreatingFileWithoutOverwriteLinux action: CreateFile inputs: - path: /home/UserName/Sample.txt content: ABCD\nRandom\tvalues overwrite: false

Contoh masukan: buat file tanpa menimpa (Windows)

name: CreatingFileWithoutOverwriteWindows action: CreateFile inputs: - path: C:\Temp\Sample.txt content: ABCD\nRandom\tvalues overwrite: false

Contoh masukan: buat file dengan properti file

name: CreatingFileWithFileProperties action: CreateFile inputs: - path: SampleFolder/Sample.txt content: ABCD\nRandom\tvalues 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

Contoh masukan: buat file tanpa properti file

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

Contoh masukan: buat file kosong untuk melewati bagian dalam skrip pembersihan Linux

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

Untuk informasi selengkapnya, silakan lihat Ganti skrip pembersihan Linux

Output

Tidak ada.

CreateFolder

Modul CreateFoldertindakan membuat folder di lokasi tertentu. Secara default, jika diperlukan, modul juga secara rekursif membuat folder induk.

Jika folder sudah ada di folder yang ditentukan, modul tindakan, secara default, memotong atau menimpa folder yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada folder di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan.

owner,group, dan permissions merupakan input opsional. Input untuk permissions harus berupa nilai string. Opsi ini tidak didukung pada platform Windows. Modul tindakan ini memvalidasi dan mengembalikan kesalahan jikaowner,group, dan permissions opsi digunakan pada platform Windows.

Modul tindakan ini dapat membuat folder dengan izin yang ditentukan oleh umask nilai default sistem operasi. Anda harus menetapkan umask nilai jika Anda ingin mengganti nilai default.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat folder di lokasi yang ditentukan.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur folder. Tali Ya T/A N/A Ya
owner Nama pengguna atau ID. String Tidak Pengguna saat ini. T/A Tidak didukung di Windows.
group Nama grup atau ID. String Tidak Kelompok pengguna saat ini. T/A Tidak didukung di Windows.
permissions Izin folder. String Tidak 0777 T/A Tidak didukung di Windows.
overwrite Jika nama file yang ditentukan sudah ada, setel nilai ini untuk false mencegah file terpotong atau ditimpa secara default. Boolean Tidak true T/A Ya

Contoh masukan: buat folder (Linux)

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

Contoh masukan: buat folder (Windows)

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

Contoh masukan: buat folder yang menentukan properti folder

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

Contoh masukan: buat folder yang menimpa folder yang ada, jika ada.

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

Tidak ada.

Modul CreateSymlinktindakan membuat tautan simbolis, atau file yang berisi referensi ke file lain. Modul ini tidak didukung pada platform Windows.

Masukan untuk target opsi path dan dapat berupa jalur absolut atau relatif. Jika input untuk path opsi adalah jalur relatif, itu diganti dengan jalur absolut saat tautan dibuat.

Secara default, ketika tautan dengan nama yang ditentukan sudah ada di folder yang ditentukan, modul tindakan mengembalikan kesalahan. Anda dapat mengganti perilaku default ini dengan menyetel force opsi ketrue. Ketika force opsi diatur ketrue, modul akan menimpa tautan yang ada.

Jika folder induk tidak ada, modul tindakan akan membuat folder secara rekursif, secara default.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • File target tidak ada saat runtime.

  • Sebuah file link nonsymbolic dengan nama yang ditentukan sudah ada.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A T/A Tidak didukung di Windows.
target Jalur file target yang ditunjuk oleh tautan simbolis. Tali Ya T/A T/A Tidak didukung di Windows.
force Memaksa pembuatan tautan ketika tautan dengan nama yang sama sudah ada. Boolean Tidak false T/A Tidak didukung di Windows.

Contoh masukan: buat tautan simbolis yang memaksa pembuatan tautan

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

Contoh masukan: buat tautan simbolis yang tidak memaksa pembuatan tautan

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

Tidak ada.

DeleteFile

Modul DeleteFiletindakan menghapus file atau file di lokasi tertentu.

Input dari path harus berupa path file yang valid atau path file dengan karakter wild card (*) dalam nama file. Ketika karakter wildcard ditentukan dalam nama file, semua file dalam folder yang sama yang cocok dengan wildcard akan dihapus.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan operasi penghapusan.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A N/A Ya

Contoh masukan: hapus satu file (Linux)

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

Contoh masukan: hapus satu file (Windows)

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

Contoh masukan: hapus file yang diakhiri dengan “log” (Linux)

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

Contoh masukan: hapus file yang diakhiri dengan “log” (Windows)

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

Contoh masukan: hapus semua file dalam folder tertentu (Linux)

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

Contoh masukan: hapus semua file dalam folder tertentu (Windows)

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

Tidak ada.

DeleteFolder

Modul DeleteFoldertindakan menghapus folder.

Jika folder tidak kosong, Anda harus mengatur force opsi true untuk menghapus folder dan isinya. Jika Anda tidak mengatur force opsi ketrue, dan folder yang Anda coba hapus tidak kosong, modul tindakan mengembalikan kesalahan. Nilai default dari force opsi ini adalahfalse.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan operasi penghapusan.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur folder. Tali Ya T/A N/A Ya
force Menghapus folder apakah folder kosong atau tidak. Boolean Tidak false T/A Ya

Contoh masukan: hapus folder yang tidak kosong menggunakan force opsi (Linux)

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

Contoh masukan: hapus folder yang tidak kosong menggunakan force opsi (Windows)

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

Contoh masukan: hapus folder (Linux)

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

Contoh masukan: hapus folder (Windows)

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

Tidak ada.

ListFiles

Modul ListFilestindakan mencantumkan file dalam folder tertentu. Ketika opsi rekursif diatur ketrue, itu mencantumkan file dalam subfolder. Modul ini tidak mencantumkan file dalam subfolder secara default.

Untuk membuat daftar semua file dengan nama yang cocok dengan pola tertentu, gunakan fileNamePattern opsi untuk menyediakan pola. fileNamePatternOpsi menerima nilai wildcard (*). Ketika fileNamePattern disediakan, semua file yang cocok dengan format nama file yang ditentukan dikembalikan.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Folder yang ditentukan tidak ada saat runtime.

  • Anda tidak memiliki izin untuk membuat file atau folder di folder induk yang ditentukan.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur folder. Tali Ya T/A N/A Ya
fileNamePattern Pola yang cocok untuk mencantumkan semua file dengan nama yang cocok dengan pola. String Tidak N/A N/A Ya
recursive Daftar file dalam folder secara rekursif. Boolean Tidak false T/A Ya

Contoh masukan: daftar file dalam folder tertentu (Linux)

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

Contoh masukan: daftar file dalam folder tertentu (Windows)

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

Contoh masukan: daftar file yang diakhiri dengan “log” (Linux)

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

Contoh masukan: daftar file yang diakhiri dengan “log” (Windows)

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

Contoh masukan: daftar file secara rekursif

name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Output
Primitif Deskripsi Tipe
files Daftar file. String

Contoh keluaran

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

MoveFile

Modul MoveFiletindakan memindahkan file dari sumber yang ditentukan ke tujuan yang ditentukan.

Jika file sudah ada di folder yang ditentukan, modul tindakan, secara default, menimpa file yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada file di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan. Opsi ini bekerja sama dengan mv perintah di Linux, yang menimpa secara default.

Nama file sumber dapat menyertakan wildcard (*). Karakter wildcard diterima hanya setelah pemisah jalur file terakhir (/atau\). Jika karakter wildcard disertakan dalam nama file sumber, semua file yang cocok dengan wildcard disalin ke folder tujuan. Jika Anda ingin memindahkan lebih dari satu file dengan menggunakan karakter wildcard, input ke destination opsi harus diakhiri dengan pemisah jalur file (/atau\), yang menunjukkan bahwa input tujuan adalah folder.

Jika nama file tujuan berbeda dari nama file sumber, Anda dapat menentukan nama file tujuan menggunakan destination opsi. Jika Anda tidak menentukan nama file tujuan, nama file sumber digunakan untuk membuat file tujuan. Setiap teks yang mengikuti pemisah jalur file terakhir (/atau\) diperlakukan sebagai nama file. Jika Anda ingin menggunakan nama file yang sama dengan file sumber, maka input destination opsi harus diakhiri dengan pemisah jalur file (/atau\).

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat file di folder yang ditentukan.

  • File sumber tidak ada saat runtime.

  • Sudah ada folder dengan nama file yang ditentukan dan overwrite opsi diatur kefalse.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
source Jalur file sumber. Tali Ya T/A N/A Ya
destination Jalur file tujuan. Tali Ya T/A N/A Ya
overwrite Ketika diatur ke false, file tujuan tidak akan diganti ketika sudah ada file di lokasi yang ditentukan dengan nama yang ditentukan. Boolean Tidak true T/A Ya

Contoh masukan: memindahkan file (Linux)

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

Contoh masukan: memindahkan file (Windows)

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

Contoh masukan: memindahkan file menggunakan nama file sumber (Linux)

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

Contoh masukan: memindahkan file menggunakan nama file sumber (Windows)

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

Contoh masukan: memindahkan file menggunakan karakter wildcard (Linux)

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

Contoh masukan: memindahkan file menggunakan karakter wildcard (Windows)

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

Contoh masukan: memindahkan file tanpa menimpa (Linux)

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

Contoh masukan: memindahkan file tanpa menimpa (Windows)

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

Tidak ada.

MoveFolder

Modul MoveFoldertindakan memindahkan folder dari sumber yang ditentukan ke tujuan yang ditentukan. Input untuk source opsi adalah folder untuk dipindahkan, dan input ke destination opsi adalah folder tempat konten folder sumber dipindahkan.

Jika folder induk tujuan atau input ke destination opsi tidak ada saat runtime, perilaku default modul adalah membuat folder secara rekursif di tujuan yang ditentukan.

Jika folder dengan folder yang sama dengan folder sumber sudah ada di folder tujuan, modul tindakan, secara default, menimpa folder yang ada. Anda dapat mengganti perilaku default ini dengan menyetel opsi overwrite ke. false Ketika opsi overwrite diatur kefalse, dan sudah ada folder di lokasi yang ditentukan dengan nama yang ditentukan, modul tindakan akan mengembalikan kesalahan.

Nama folder sumber dapat menyertakan wildcard (*). Karakter wildcard diterima hanya setelah pemisah jalur file terakhir (/atau\). Jika karakter wildcard disertakan dalam nama folder sumber, semua folder yang cocok dengan wildcard akan disalin ke folder tujuan. Jika Anda ingin memindahkan lebih dari satu folder dengan menggunakan karakter wildcard, input ke destination opsi harus diakhiri dengan pemisah jalur file (/atau\), yang menunjukkan bahwa input tujuan adalah folder.

Jika nama folder tujuan berbeda dari nama folder sumber, Anda dapat menentukan nama folder tujuan menggunakan destination opsi. Jika Anda tidak menentukan nama folder tujuan, nama folder sumber digunakan untuk membuat folder tujuan. Teks apa pun yang mengikuti pemisah jalur file terakhir (/atau\) diperlakukan sebagai nama folder. Jika Anda ingin menggunakan nama folder yang sama dengan folder sumber, maka input destination opsi harus diakhiri dengan pemisah jalur file (/atau\).

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk membuat folder di folder tujuan.

  • Folder sumber tidak ada saat runtime.

  • Sudah ada folder dengan nama yang ditentukan dan overwrite opsi diatur kefalse.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
source Jalur folder sumber. Tali Ya T/A N/A Ya
destination Jalur folder tujuan. Tali Ya T/A N/A Ya
overwrite Ketika diatur ke false, folder tujuan tidak akan diganti ketika sudah ada folder di lokasi yang ditentukan dengan nama yang ditentukan. Boolean Tidak true T/A Ya

Contoh masukan: pindahkan folder (Linux)

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

Contoh masukan: pindahkan folder (Windows)

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

Contoh masukan: pindahkan folder menggunakan nama folder sumber (Linux)

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

Contoh masukan: pindahkan folder menggunakan nama folder sumber (Windows)

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

Contoh masukan: pindahkan folder menggunakan karakter wildcard (Linux)

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

Contoh masukan: pindahkan folder menggunakan karakter wildcard (Windows)

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

Contoh masukan: pindahkan folder tanpa menimpa (Linux)

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

Contoh masukan: pindahkan folder tanpa menimpa (Windows)

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

Tidak ada.

ReadFile

Modul ReadFiletindakan membaca konten file teks dari jenis string. Modul ini dapat digunakan untuk membaca konten file untuk digunakan dalam langkah-langkah selanjutnya melalui rantai atau untuk membaca data ke console.log file. Jika jalur yang ditentukan adalah link simbolis, modul ini mengembalikan isi dari file target. Modul ini hanya mendukung file teks.

Jika nilai encoding file berbeda dari nilai encoding (utf-8) default, maka Anda dapat menentukan nilai encoding file dengan menggunakan opsi. encoding Secara default, utf-16 dan utf-32 diasumsikan menggunakan pengkodean endian kecil.

Secara default, modul ini tidak dapat mencetak konten file ke console.log file. Anda dapat mengganti setelan ini dengan menyetel printFileContent properti ketrue.

Modul ini hanya dapat mengembalikan isi file. Itu tidak dapat mengurai file, seperti file Excel atau JSON.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • File tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A N/A Ya
encoding Standar pengkodean. String Tidak utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, dan utf-32-BE. Nilai opsi pengkodean tidak peka huruf besar/kecil. Ya
printFileContent Mencetak konten file ke console.log file. Boolean Tidak salah T/A Ya.

Contoh masukan: membaca file (Linux)

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

Contoh masukan: membaca file (Windows)

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

Contoh masukan: membaca file dan menentukan standar pengkodean

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

Contoh masukan: membaca file dan mencetak ke console.log file

name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Output
Bidang Deskripsi Tipe
content Konten file. string

Contoh keluaran

{ "content" : "The file content" }

SetFileEncoding

Modul SetFileEncodingtindakan memodifikasi properti encoding dari file yang ada. Modul ini dapat mengonversi pengkodean file dari utf-8 ke standar pengkodean yang ditentukan. Secara default, utf-16 dan utf-32 diasumsikan sebagai pengkodean endian kecil.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan modifikasi yang ditentukan.

  • File tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A N/A Ya
encoding Standar pengkodean. String Tidak utf8 utf8,utf-8,utf16,utf-16,utf16-LE, utf-16-LEutf16-BE,utf-16-BE,,utf32,utf-32,utf32-LE,utf-32-LE,utf32-BE, dan utf-32-BE. Nilai opsi pengkodean tidak peka huruf besar/kecil. Ya

Contoh masukan: mengatur properti pengkodean file

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

Tidak ada.

SetFileOwner

Modul SetFileOwnertindakan memodifikasi properti owner dan group pemilik file yang ada. Jika file yang ditentukan adalah tautan simbolis, modul memodifikasi owner properti file sumber. Modul ini tidak didukung pada platform Windows.

Modul ini menerima nama pengguna dan grup sebagai input. Jika nama grup tidak disediakan, modul akan menetapkan pemilik grup file ke grup tempat pengguna berada.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan modifikasi yang ditentukan.

  • Nama pengguna atau grup yang ditentukan tidak ada saat runtime.

  • File tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A T/A Tidak didukung di Windows.
owner Nama pengguna. string Ya T/A T/A Tidak didukung di Windows.
group Nama grup pengguna. String Tidak Nama grup tempat pengguna berada. T/A Tidak didukung di Windows.

Contoh masukan: mengatur properti pemilik file tanpa menentukan nama grup pengguna

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

Contoh masukan: mengatur properti pemilik file dengan menentukan pemilik dan grup pengguna

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

Tidak ada.

SetFolderOwner

Modul SetFolderOwnertindakan secara rekursif memodifikasi properti owner dan group pemilik folder yang ada. Secara default, modul dapat memodifikasi kepemilikan untuk semua konten dalam folder. Anda dapat mengatur recursive opsi false untuk mengganti perilaku ini. Modul ini tidak didukung pada platform Windows.

Modul ini menerima nama pengguna dan grup sebagai input. Jika nama grup tidak disediakan, modul akan menetapkan pemilik grup file ke grup tempat pengguna berada.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan modifikasi yang ditentukan.

  • Nama pengguna atau grup yang ditentukan tidak ada saat runtime.

  • Folder tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur folder. Tali Ya T/A T/A Tidak didukung di Windows.
owner Nama pengguna. string Ya T/A T/A Tidak didukung di Windows.
group Nama grup pengguna. String Tidak Nama grup tempat pengguna berada. T/A Tidak didukung di Windows.
recursive Mengganti perilaku default memodifikasi kepemilikan untuk semua konten folder saat disetel ke. false Boolean Tidak true T/A Tidak didukung di Windows.

Contoh masukan: mengatur properti pemilik folder tanpa menentukan nama grup pengguna

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

Contoh masukan: setel properti pemilik folder tanpa mengesampingkan kepemilikan semua konten dalam folder

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

Contoh masukan: mengatur properti kepemilikan file dengan menentukan nama grup pengguna

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

Tidak ada.

SetFilePermissions

Modul SetFilePermissionstindakan memodifikasi file permissions yang ada. Modul ini tidak didukung pada platform Windows.

Input untuk permissions harus berupa nilai string.

Modul tindakan ini dapat membuat file dengan izin yang ditentukan oleh nilai umask default dari sistem operasi. Anda harus menetapkan umask nilai jika Anda ingin mengganti nilai default.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan modifikasi yang ditentukan.

  • File tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur file. Tali Ya T/A T/A Tidak didukung di Windows.
permissions Izin file. Tali Ya T/A T/A Tidak didukung di Windows.

Contoh masukan: memodifikasi izin file

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

Tidak ada.

SetFolderPermissions

Modul SetFolderPermissionstindakan secara rekursif memodifikasi folder permissions yang ada dan semua subfile dan subfoldernya. Secara default, modul ini dapat memodifikasi izin untuk semua isi folder yang ditentukan. Anda dapat mengatur recursive opsi false untuk mengganti perilaku ini. Modul ini tidak didukung pada platform Windows.

Input untuk permissions harus berupa nilai string.

Modul tindakan ini dapat memodifikasi izin sesuai dengan nilai umask default dari sistem operasi. Anda harus menetapkan umask nilai jika Anda ingin mengganti nilai default.

Modul tindakan mengembalikan kesalahan ketika hal berikut terjadi:

  • Anda tidak memiliki izin untuk melakukan modifikasi yang ditentukan.

  • Folder tidak ada saat runtime.

  • Modul tindakan mengalami kesalahan saat melakukan operasi.

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima Didukung di semua platform
path Jalur folder. Tali Ya T/A T/A Tidak didukung di Windows.
permissions Izin folder. Tali Ya T/A T/A Tidak didukung di Windows.
recursive Mengganti perilaku default memodifikasi izin untuk semua konten folder saat disetel ke. false Boolean Tidak true T/A Tidak didukung di Windows.

Contoh masukan: atur izin folder

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

Contoh masukan: atur izin folder tanpa memodifikasi izin untuk semua isi folder

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

Tidak ada.

Tindakan instalasi perangkat lunak

Bagian ini menjelaskan modul tindakan yang melakukan perintah dan instruksi tindakan instalasi perangkat lunak.

Persyaratan IAM

Jika jalur unduhan instalasi Anda adalah URI S3, maka peran IAM yang Anda kaitkan dengan profil instans Anda harus memiliki izin untuk menjalankan modul S3Download tindakan. Untuk memberikan izin yang diperlukan, lampirkan kebijakan S3:GetObject IAM ke peran IAM yang terkait dengan profil instans Anda, dan tentukan jalur untuk bucket Anda. Misalnya,arn:aws:s3:::BucketName/*).

Input MSI Kompleks

Jika string masukan Anda berisi karakter kutipan ganda ("), Anda harus menggunakan salah satu metode berikut untuk memastikan bahwa string tersebut ditafsirkan dengan benar:

  • Anda dapat menggunakan tanda kutip tunggal (') di bagian luar string Anda, untuk menampungnya, dan tanda kutip ganda (“) di dalam string Anda, seperti yang ditunjukkan pada contoh berikut.

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

    Dalam hal ini, jika Anda perlu menggunakan tanda kutip di dalam string Anda, Anda harus menghindarinya. Ini berarti menggunakan kutipan tunggal lain (') sebelum apostrof.

  • Anda dapat menggunakan tanda kutip ganda (“) di bagian luar string Anda, untuk menampungnya. Dan Anda dapat melarikan diri dari tanda kutip ganda di dalam string Anda, menggunakan karakter garis miring terbalik (\), seperti yang ditunjukkan pada contoh berikut.

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

Kedua metode ini meneruskan nilai COMPANYNAME="Acme ""Widgets"" and ""Gizmos.""" ke msiexec perintah.

Modul tindakan instalasi perangkat lunak

InstalMSI

Modul InstallMSI tindakan menginstal aplikasi Windows menggunakan file MSI. Anda dapat menentukan file MSI menggunakan jalur lokal, URI objek S3, atau URL web. Opsi reboot mengkonfigurasi perilaku reboot sistem.

AWSTOEmenghasilkan msiexec perintah berdasarkan parameter input untuk modul tindakan. Nilai untuk parameter input path (lokasi file MSI) dan logFile (lokasi file log) harus diapit tanda kutip (“).

Kode keluar MSI berikut dianggap berhasil:

  • 0 (Sukses)

  • 1614 (ERROR_PRODUCT_UNINSTALLED)

  • 1641 (Reboot Dimulai)

  • 3010 (Diperlukan Reboot)

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima
path

Tentukan lokasi file MSI menggunakan salah satu dari berikut ini:

  • Jalur file lokal. Jalannya bisa absolut atau relatif

  • URI objek S3 yang valid.

  • URL HTTP/HTTPS web yang valid (disarankan HTTPS) yang mengikuti standar RFC 3986.

Ekspresi rantai diperbolehkan.

Tali Ya T/A T/A
reboot

Konfigurasikan perilaku reboot sistem yang mengikuti keberhasilan menjalankan modul tindakan.

Pengaturan:
  • Force— Memulai reboot sistem setelah msiexec perintah berjalan dengan sukses.

  • Allow— Memulai reboot sistem jika msiexec perintah mengembalikan kode keluar yang menunjukkan reboot diperlukan.

  • Skip— Log pesan informasi ke console.log file yang menunjukkan bahwa reboot dilewati. Opsi ini mencegah reboot, bahkan jika msiexec perintah mengembalikan kode keluar yang menunjukkan reboot diperlukan.

String Tidak Allow Allow, Force, Skip
logOptions

Tentukan opsi yang akan digunakan untuk logging instalasi MSI. Bendera yang ditentukan diteruskan ke penginstal MSI, bersama dengan parameter baris /L perintah untuk mengaktifkan logging. Jika tidak ada flag yang ditentukan, AWSTOE gunakan nilai default.

Untuk informasi selengkapnya tentang opsi log untuk MSI, lihat Opsi Baris Perintah dalam dokumentasi produk Penginstal Microsoft Windows.

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

Jalur absolut atau relatif ke lokasi file log. Jika jalur file log tidak ada, itu dibuat. Jika jalur file log tidak disediakan, AWSTOE tidak menyimpan log instalasi MSI.

String Tidak N/A T/A
properties

Pasangan nilai kunci properti logging MSI, misalnya: TARGETDIR: "C:\target\location"

 

Catatan: Modifikasi properti berikut tidak diperbolehkan:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Peta [String] String Tidak N/A T/A
ignoreAuthenticodeSignatureErrors

Tandai untuk mengabaikan kesalahan validasi tanda tangan authenticode untuk penginstal yang ditentukan di jalur. Get-AuthenticodeSignaturePerintah ini digunakan untuk memvalidasi installer.

Pengaturan:
  • true— Kesalahan validasi diabaikan dan penginstal berjalan.

  • false— Kesalahan validasi tidak diabaikan. Penginstal berjalan hanya ketika validasi berhasil. Ini adalah perilaku default.

Boolean Tidak false true, false
allowUnsignedInstaller

Tandai untuk memungkinkan menjalankan penginstal yang tidak ditandatangani yang ditentukan di jalur. Get-AuthenticodeSignaturePerintah ini digunakan untuk memvalidasi installer.

Pengaturan:
  • true— Mengabaikan NotSigned status yang dikembalikan oleh Get-AuthenticodeSignature perintah dan menjalankan installer.

  • false— Membutuhkan installer untuk ditandatangani. Penginstal yang tidak ditandatangani tidak akan berjalan. Ini adalah perilaku default.

Boolean Tidak false true, false
Contoh

Contoh berikut menunjukkan variasi bagian input untuk dokumen komponen Anda, tergantung pada jalur instalasi Anda.

Contoh masukan: instalasi jalur dokumen lokal

- 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

Contoh masukan: Instalasi jalur 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

Contoh masukan: instalasi jalur web

- name: web-path-install steps: - name: WebPathInstaller action: InstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-install.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output

Berikut ini adalah contoh output dari modul InstallMSI tindakan.

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

UninstallMSI

Modul UninstallMSI tindakan memungkinkan Anda untuk menghapus aplikasi Windows menggunakan file MSI. Anda dapat menentukan lokasi file MSI menggunakan jalur file lokal, URI objek S3, atau URL web. Opsi reboot mengkonfigurasi perilaku reboot sistem.

AWSTOEmenghasilkan msiexec perintah berdasarkan parameter input untuk modul tindakan. Lokasi file MSI (path) dan lokasi file log (logFile) secara eksplisit diapit tanda kutip ganda (“) saat menghasilkan perintah. msiexec

Kode keluar MSI berikut dianggap berhasil:

  • 0 (Sukses)

  • 1605 (ERROR_UNKNOWN_PRODUCT)

  • 1614 (ERROR_PRODUCT_UNINSTALLED)

  • 1641 (Reboot Dimulai)

  • 3010 (Diperlukan Reboot)

Input
Primitif Deskripsi Tipe Diperlukan Nilai default Nilai yang dapat diterima
path

Tentukan lokasi file MSI menggunakan salah satu dari berikut ini:

  • Jalur file lokal. Jalannya bisa absolut atau relatif.

  • URI objek S3 yang valid.

  • URL HTTP/HTTPS web yang valid (disarankan HTTPS) yang mengikuti standar RFC 3986.

Ekspresi rantai diperbolehkan.

Tali Ya T/A T/A
reboot

Mengkonfigurasi perilaku reboot sistem yang mengikuti keberhasilan menjalankan modul tindakan.

Pengaturan:
  • Force— Memulai reboot sistem setelah msiexec perintah berjalan dengan sukses.

  • Allow— Memulai reboot sistem jika msiexec perintah mengembalikan kode keluar yang menunjukkan reboot diperlukan.

  • Skip— Log pesan informasi ke console.log file yang menunjukkan bahwa reboot dilewati. Opsi ini mencegah reboot, bahkan jika msiexec perintah mengembalikan kode keluar yang menunjukkan reboot diperlukan.

String Tidak Allow Allow, Force, Skip
logOptions

Tentukan opsi yang akan digunakan untuk logging instalasi MSI. Bendera yang ditentukan diteruskan ke penginstal MSI, bersama dengan parameter baris /L perintah untuk mengaktifkan logging. Jika tidak ada flag yang ditentukan, AWSTOE gunakan nilai default.

Untuk informasi selengkapnya tentang opsi log untuk MSI, lihat Opsi Baris Perintah dalam dokumentasi produk Penginstal Microsoft Windows.

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

Jalur absolut atau relatif ke lokasi file log. Jika jalur file log tidak ada, itu dibuat. Jika jalur file log tidak disediakan, AWSTOE tidak menyimpan log instalasi MSI.

String Tidak N/A T/A
properties

Pasangan nilai kunci properti logging MSI, misalnya: TARGETDIR: "C:\target\location"

 

Catatan: Modifikasi properti berikut tidak diperbolehkan:

  • REBOOT="ReallySupress"

  • REINSTALLMODE="ecmus"

  • REINSTALL="ALL"

Peta [String] String Tidak N/A T/A
ignoreAuthenticodeSignatureErrors

Tandai untuk mengabaikan kesalahan validasi tanda tangan authenticode untuk penginstal yang ditentukan di jalur. Get-AuthenticodeSignaturePerintah ini digunakan untuk memvalidasi installer.

Pengaturan:
  • true— Kesalahan validasi diabaikan dan penginstal berjalan.

  • false— Kesalahan validasi tidak diabaikan. Penginstal berjalan hanya ketika validasi berhasil. Ini adalah perilaku default.

Boolean Tidak false true, false
allowUnsignedInstaller

Tandai untuk memungkinkan menjalankan penginstal yang tidak ditandatangani yang ditentukan di jalur. Get-AuthenticodeSignaturePerintah ini digunakan untuk memvalidasi installer.

Pengaturan:
  • true— Mengabaikan NotSigned status yang dikembalikan oleh Get-AuthenticodeSignature perintah dan menjalankan installer.

  • false— Membutuhkan installer untuk ditandatangani. Penginstal yang tidak ditandatangani tidak akan berjalan. Ini adalah perilaku default.

Boolean Tidak false true, false
Contoh

Contoh berikut menunjukkan variasi bagian input untuk dokumen komponen Anda, tergantung pada jalur instalasi Anda.

Contoh masukan: hapus instalasi jalur dokumen lokal

- 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

Contoh masukan: hapus instalasi jalur 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

Contoh masukan: hapus instalasi jalur web

- name: web-path-uninstall steps: - name: WebPathUninstaller action: UninstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-uninstall.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output

Berikut ini adalah contoh output dari modul UninstallMSI tindakan.

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

Modul tindakan sistem

Bagian berikut menjelaskan modul tindakan yang melakukan perintah dan instruksi tindakan sistem file.

Modul tindakan sistem

Mulai ulang

Modul aksi Reboot me-reboot instance. Ini memiliki opsi yang dapat dikonfigurasi untuk menunda dimulainya reboot. Secara default, delaySeconds diatur ke0, yang berarti bahwa tidak ada penundaan. Batas waktu langkah tidak didukung untuk modul tindakan Reboot, karena tidak berlaku saat instance di-boot ulang.

Jika aplikasi dipanggil oleh Agen Systems Manager, itu menyerahkan kode keluar (3010untuk Windows, 194 untuk Linux) ke Agen Systems Manager. Agen Systems Manager menangani reboot sistem seperti yang dijelaskan dalam Memulai Ulang Instans Terkelola dari Skrip.

Jika aplikasi dipanggil pada host sebagai proses mandiri, ia menyimpan status eksekusi saat ini, mengonfigurasi pemicu auto-run pasca-reboot untuk menjalankan kembali aplikasi setelah reboot, dan kemudian reboot sistem.

Pemicu auto-run pasca-reboot:

  • Jendela. AWSTOEmembuat entri Penjadwal Tugas Windows dengan pemicu yang berjalan secara otomatis di SystemStartup

  • Linux. AWSTOEmenambahkan pekerjaan di crontab yang berjalan secara otomatis setelah sistem reboot.

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

Pemicu ini dibersihkan saat aplikasi dimulai.

Percobaan ulang

Secara default, jumlah maksimum percobaan ulang diatur ke Systems ManagerCommandRetryLimit. Jika jumlah reboot melebihi batas coba lagi, otomatisasi gagal. Anda dapat mengubah batas dengan mengedit file konfigurasi agen Systems Manager (Mds.CommandRetryLimit). Lihat Konfigurasi Runtime di agen Systems Manager open source.

Untuk menggunakan modul tindakan Reboot, untuk langkah-langkah yang berisi reboot exitcode (misalnya,3010), Anda harus menjalankan biner aplikasi sebagaisudo user.

Input
Primitif Deskripsi Tipe Diperlukan Default
delaySeconds Menunda jumlah waktu tertentu sebelum memulai reboot. Bulat

Tidak

0

Contoh masukan: langkah reboot

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

Keluaran

Tidak ada.

Ketika modul Reboot selesai, Image Builder melanjutkan ke langkah berikutnya dalam build.

SetRegistry

Modul SetRegistrytindakan menerima daftar input dan memungkinkan Anda untuk mengatur nilai untuk kunci registri yang ditentukan. Jika kunci registri tidak ada, itu dibuat di jalur yang ditentukan. Fitur ini hanya berlaku untuk Windows.

Input
Primitif Deskripsi Tipe Diperlukan
path Jalur kunci registri. Tali Ya
name Nama kunci registri. Tali Ya
value Nilai kunci registri. String/Nomor/Array Ya
type Jenis nilai kunci registri. Tali Ya
Awalan jalur yang didukung
  • HKEY_CLASSES_ROOT / HKCR:

  • HKEY_USERS / HKU:

  • HKEY_LOCAL_MACHINE / HKLM:

  • HKEY_CURRENT_CONFIG / HKCC:

  • HKEY_CURRENT_USER / HKCU:

Jenis yang didukung
  • BINARY

  • DWORD

  • QWORD

  • SZ

  • EXPAND_SZ

  • MULTI_SZ

Contoh masukan: atur nilai kunci registri

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

Keluaran

Tidak ada.

UpdateOS

Modul tindakan updateOS menambahkan dukungan untuk menginstal pembaruan Windows dan Linux. Ini menginstal semua pembaruan yang tersedia secara default. Atau, Anda dapat mengonfigurasi daftar satu atau lebih pembaruan spesifik untuk modul tindakan yang akan diinstal. Anda juga dapat menentukan pembaruan untuk dikecualikan dari instalasi.

Jika daftar “sertakan” dan “kecualikan” disediakan, daftar pembaruan yang dihasilkan hanya dapat mencakup yang tercantum dalam daftar “sertakan” yang tidak tercantum dalam daftar “kecualikan”.

catatan

UpdateOS tidak mendukung Amazon Linux 2023 (AL2023). Kami menyarankan Anda memperbarui AMI dasar Anda ke versi baru yang disertakan dengan setiap rilis. Untuk alternatif lain, lihat Mengontrol pembaruan yang diterima dari rilis mayor dan minor di Panduan Pengguna Amazon Linux 2023.

  • Jendela. Pembaruan diinstal dari sumber pembaruan yang dikonfigurasi pada mesin target.

  • Linux. Aplikasi memeriksa manajer paket yang didukung di platform Linux dan menggunakan salah satu yum atau manajer apt-get paket. Jika tidak ada yang didukung, kesalahan dikembalikan. Anda harus memiliki sudo izin untuk menjalankan modul tindakan updateOS. Jika Anda tidak memiliki sudo izin, maka error.Input dikembalikan.

Input
Primitif Deskripsi Tipe Diperlukan
include

Untuk Windows, Anda dapat menentukan yang berikut:

  • Satu atau beberapa ID artikel Pangkalan Pengetahuan Microsoft (KB) untuk disertakan dalam daftar pembaruan yang mungkin diinstal. Format yang valid adalah KB1234567 atau1234567.

  • Nama pembaruan menggunakan nilai wildcard (*). Format yang valid adalah Security* atau*Security*.

Untuk Linux, Anda dapat menentukan satu atau lebih paket untuk dimasukkan dalam daftar pembaruan untuk instalasi.

Daftar String Tidak
exclude

Untuk Windows, Anda dapat menentukan yang berikut:

  • Satu atau beberapa ID artikel Microsoft Knowledge Base (KB) untuk disertakan dalam daftar pembaruan yang akan dikecualikan dari penginstalan. Format yang valid adalah KB1234567 atau1234567.

  • Nama pembaruan menggunakan nilai wildcard (*). Format yang valid adalah: Security* atau*Security*.

Untuk Linux, Anda dapat menentukan satu atau lebih paket yang akan dikecualikan dari daftar pembaruan untuk instalasi.

Daftar String Tidak

Contoh masukan: tambahkan dukungan untuk menginstal pembaruan Linux

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

Contoh masukan: tambahkan dukungan untuk menginstal pembaruan Windows

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

Keluaran

Tidak ada.