部署準則會縮小原則的範圍,以便僅將其套用至準則為 true 的部署。例如,您可以使用部署準則來建立僅套用至特定目錄項目或範本的原則。
建構部署準則
您可以使用圖形化介面來建構部署準則運算式。若要建構複雜運算式,您可以使用 AND 和 OR。也可以將運算式作為帶括弧的運算子進行分組。如需有關如何處理運算式的詳細資訊,請參閱運算式的作業順序。
Deployment equals Multi-tier five machine with LB AND (Owned By equals [email protected] OR Owned By [email protected])
部署準則內容
若要建立功能部署準則,您必須瞭解語法。
準則文字方塊包含多個下拉式功能表,提供了可用的內容和運算子。建構運算式的方式取決於可用的值以及作業順序。
下拉式功能表包含下列內容。某些內容因原則類型而有所不同。
內容 | 說明 | 適用於下列原則類型 | 支援以下運算子 |
---|---|---|---|
Cloud Template |
用於建立部署的 Cloud Assembly 雲端範本的識別碼。 當原則特定於 Cloud Assembly 雲端範本時,請使用 |
|
|
|
用於請求部署的 Service Broker 目錄項目的識別碼。 當原則可包含基於任何範本、擴充性工作流程或其他內容類型的 Service Broker 目錄項目時,請使用 |
|
|
Deployment Creation Cost |
成本值。 如果部署符合指定的成本運算式,則會觸發核准流程。 |
|
|
Deployment |
部署的識別碼。 當您要將原則套用至現有部署時,請使用 |
|
|
Created By |
申請部署之使用者的名稱。格式為 [email protected]。 此使用者是請求部署的使用者。 |
|
|
Name |
部署名稱。 當您要將原則套用至現有原則以及未來可能會建立的與指定部署名稱運算式相符的原則時,請使用 |
|
|
Owned By |
目前部署擁有者的名稱。 |
|
|
Requested By |
請求第 2 天動作的使用者的名稱。格式為 [email protected]。 建立核准原則時, |
|
|
Resources |
屬於部署一部分的資源。 您可以根據下列資源定義部署準則。
|
|
資源標籤的準則格式
資源標籤是索引鍵值配對。根據標籤定義部署準則時,必須定義索引鍵。定義值是選擇性的。準則以使用者定義的標籤和系統標籤為基礎。
Resources has any Tags has any Key equals env AND Value equals dev
Resources has any Tags has any Key equals env AND Value equals dev OR Value equals prod
Resources has any Tags has any Key equals env1 OR Key equals env2
Resources has any Tags has any Key equals env AND Value equals envprod AND Tags has any Key equals vc_65_network AND Value equals vc
使用包含和符合 Regex 運算子
contains
和 matches Regex
運算子定義在內容中搜尋一組指定的字元。可以將這些運算子套用到不支援下拉式功能表的字串式內容,例如 createdBy
、name
和 ownedBy
。
contains
運算子可在任何內容中搜尋指定值的所有執行個體。值輸入文字方塊區分大小寫和空格。如果要考慮到內容差異,則必須為各個其他變體設定一個值。可使用 contains
運算子對有限數目的值進行簡單搜尋。
將 matches Regex
運算子用於複雜搜尋 (必須考慮到大量內容差異) 時,此運算子可提供很大的彈性。規則運算式必須遵循 ECMAScript 語法。定義規則運算式時,請不要在值的開頭和結尾處輸入正斜線 (/
)。
下表提供了使用兩個運算子的運算式範例,並就如何使用運算子實現相同目標進行比較。
使用 contains 運算子的範例 |
使用 matches Regex 運算子的範例 |
欄位值相符 |
---|---|---|
Name contains test |
Name matches Regex test* |
包含 test (小寫) 的所有部署名稱。例如,test deployment、mytest、test-123 等。 |
Name contains test OR Name contains Test |
Name matches Regex (t|T)est.* |
包含 test 或 Test 的所有部署名稱。 |
(group) Created By contains admin@ (group) AND Created By contains .com OR Created By contains .org (group) AND Name contains test OR Name contains test- OR Name contains Test OR Name contains Test- OR Name contains deploy OR Name contains Deploy |
Created By matches Regex admin@\S+\.((com)|(org)) AND Name matches ((t|T)est)|(d|D)epl.*. |
由電子郵件地址開頭為 admin@ 且結尾為 .com 或 .org 的使用者建立的所有部署。 在任何組態中包含 test 和/或 deploy 的所有部署名稱。例如,test deployment、testdeployment、Test-Deployment 等。 |
運算式的作業順序
按下列順序處理運算式。群組以括弧形式表示。
- 群組中的運算式
- AND
- 或
使用以下範例瞭解順序。
- X OR Y AND Z。在此範例中,Y AND Z 在 X OR Y 之前進行評估。接著,會根據 Y AND Z 的結果評估 X OR。
- (X OR Y) AND Z。在此範例中,X OR Y 在 AND 之前進行評估,因為群組中的運算式一律優先評估。接著,將根據 X OR Y 的結果評估 AND Z。