動作

在規則分析期間建立的動作。

顯示此物件的目的在於進行測試,並可向動作供應商取得。您通常不需要在規則的實作函式中存取 Action 物件或其欄位。建議您查看規則頁面,瞭解在定義自訂規則時如何使用動作的一般討論,或是參閱 API 參考資料以建立動作。

這個物件的部分欄位僅適用於特定類型的動作。不適用的欄位會設為 None

會員

args

sequence Action.args

凍結的 Args 物件清單,內含動作引數的相關資訊。這些物件包含正確的引數資訊,包括涉及展開動作輸出目錄的引數。不過,在分析階段中無法讀取 Args 物件。如需較低精確度在分析階段中可用的引數,請參閱 argv

請注意,部分動作類型尚未支援這個欄位的曝光值。對於這類動作類型,此為 None。可能會傳回 None

argv

sequence Action.argv

適用於由 ctx.actions.run()ctx.actions.run_shell() 建立的動作,其中包含不可變更的引數清單,以供執行指令列使用。請注意,如果是殼層動作,前兩個引數會是殼層路徑和 "-c"。 可能會傳回 None

內容

string Action.content

針對由 ctx.actions.write()ctx.actions.expand_template() 建立的動作,如果可在分析階段中計算這些內容,則要寫入的檔案內容。如果直到執行階段 (例如需要展開 Args 物件中的目錄) 才能判定內容,則值為 None。可能會傳回 None

env

dict Action.env

這個動作的「固定」環境變數。系統只會納入由動作定義明確指定的環境設定,因此會省略執行環境中僅有的預設設定。

輸入來源

depset Action.inputs

這個動作的輸入檔案。

記憶

string Action.mnemonic

這個動作的記憶。

輸出

depset Action.outputs

這個動作的輸出檔案。

substitutions

dict Action.substitutions

對於由 ctx.actions.expand_template() 建立的動作,系統會以不可變更的字典儲存替代對應。 可能會傳回 None