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.
Jenis modul tindakan
Modul eksekusi umum
Bagian berikut berisi rincian untuk modul tindakan yang melakukan perintah eksekusi umum dan instruksi.
Modul tindakan eksekusi umum
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 arus
executionstate
, 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.
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
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 arus
executionstate
, 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.
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
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.
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:
|
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 arus
executionstate
, 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.
Primitif | Deskripsi | Tipe | Diperlukan |
---|---|---|---|
commands |
Berisi daftar instruksi atau perintah untuk dijalankan sesuai PowerShell sintaks. YAML multi-baris diizinkan. | Daftar String | Ya. Harus menentukan |
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 |
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)
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.
source
Lokasi 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:::
) danBucketName
s3:GetObject
terhadap ember/objek (misalnya,).arn:aws:s3:::
BucketName
/*
Primitif |
Deskripsi |
Tipe |
Diperlukan |
Default |
---|---|---|---|---|
|
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 ( |
Tali |
Ya |
T/A |
|
Jalur lokal tempat objek Amazon S3 diunduh. Untuk mengunduh satu file, Anda harus menentukan nama file sebagai bagian dari jalur. Sebagai contoh, |
Tali |
Ya |
T/A |
|
ID akun pemilik yang diharapkan dari bucket yang disediakan di |
String |
Tidak |
T/A |
|
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, |
Boolean |
Tidak |
betul |
catatan
Untuk contoh berikut, jalur folder Windows dapat diganti dengan jalur Linux. Misalnya,
bisa diganti denganC:\myfolder\package.zip
./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
/*
Primitif |
Deskripsi |
Tipe |
Diperlukan |
Default |
---|---|---|---|---|
|
Jalur lokal tempat file sumber/folder berasal. |
Tali |
Ya |
T/A |
|
Jalur untuk bucket Amazon S3 tujuan tempat file sumber/folder diunggah. |
Tali |
Ya |
T/A |
|
Saat disetel ke |
String |
Tidak |
|
|
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.
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 |
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.
Modul tindakan 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.
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-LE utf16-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.
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.
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.
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-LE utf16-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.
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.
CreateSymlink
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.
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.
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.
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. fileNamePattern
Opsi 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.
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
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.
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.
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.
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-LE utf16-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
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.
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-LE utf16-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.
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.
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.
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.
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)
Primitif | Deskripsi | Tipe | Diperlukan | Nilai default | Nilai yang dapat diterima |
---|---|---|---|---|---|
path |
Tentukan lokasi file MSI menggunakan salah satu dari berikut ini:
Ekspresi rantai diperbolehkan. |
Tali | Ya | T/A | T/A |
reboot |
Konfigurasikan perilaku reboot sistem yang mengikuti keberhasilan menjalankan modul tindakan. Pengaturan:
|
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 Untuk informasi selengkapnya tentang opsi log untuk MSI, lihat Opsi Baris Perintah |
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:
Catatan: Modifikasi properti berikut tidak diperbolehkan:
|
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:
|
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:
|
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)
Primitif | Deskripsi | Tipe | Diperlukan | Nilai default | Nilai yang dapat diterima |
---|---|---|---|---|---|
path |
Tentukan lokasi file MSI menggunakan salah satu dari berikut ini:
Ekspresi rantai diperbolehkan. |
Tali | Ya | T/A | T/A |
reboot |
Mengkonfigurasi perilaku reboot sistem yang mengikuti keberhasilan menjalankan modul tindakan. Pengaturan:
|
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 Untuk informasi selengkapnya tentang opsi log untuk MSI, lihat Opsi Baris Perintah |
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:
Catatan: Modifikasi properti berikut tidak diperbolehkan:
|
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:
|
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:
|
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 (3010
untuk 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
Untuk menggunakan modul tindakan Reboot, untuk langkah-langkah yang berisi reboot exitcode
(misalnya,3010
), Anda harus menjalankan biner aplikasi sebagaisudo user
.
Primitif | Deskripsi | Tipe | Diperlukan | Default |
---|---|---|---|---|
delaySeconds |
Menunda jumlah waktu tertentu sebelum memulai reboot. | Bulat |
Tidak |
|
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.
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 manajerapt-get
paket. Jika tidak ada yang didukung, kesalahan dikembalikan. Anda harus memilikisudo
izin untuk menjalankan modul tindakan updateOS. Jika Anda tidak memilikisudo
izin, makaerror.Input
dikembalikan.
Primitif | Deskripsi | Tipe | Diperlukan |
---|---|---|---|
include |
Untuk Windows, Anda dapat menentukan yang berikut:
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:
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.