展開条件は、条件が 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 クラウド テンプレートの ID。 ポリシーが Cloud Assembly クラウド テンプレートに固有の場合は、 |
|
|
|
展開の要求に使用した Service Broker カタログ アイテムの ID。 テンプレート、拡張性ワークフローなどのコンテンツ タイプに基づく Service Broker カタログ アイテムをポリシーに含めることができる場合は、 |
|
|
Deployment Creation Cost |
コスト値。 指定されたコスト式に展開が一致すると、承認フローがトリガされます。 |
|
|
Deployment |
展開の ID。 ポリシーを既存の展開に適用する場合は、 |
|
|
Created By |
タスクを開始したユーザーの名前。形式は [email protected] です。 このユーザーは、展開を申請したユーザーです。 |
|
|
Name |
展開名。 既存の展開および今後作成する展開のうち指定された展開名の式に一致するものにポリシーを適用する場合は、 |
|
|
Owned By |
現在の展開の所有者の名前。 |
|
|
Requested By |
インストール後アクションを申請したユーザーの名前。形式は [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
が次を含む 演算子と 正規表現に一致 演算子の使用
contains
演算子と matches Regex
演算子を使用すると、指定した文字セットをプロパティ内で検索できます。これらの演算子は、createdBy
、name
、ownedBy
など、ドロップダウンをサポートしない文字列ベースのプロパティに適用できます。
contains
演算子は、指定した値のすべてのインスタンスを任意のコンテキストで検索します。値の入力テキスト ボックスでは、大文字と小文字、およびスペースの有無が区別されます。コンテキストの違いを考慮に入れるには、追加のバリアントごとに値を設定する必要があります。検索する値の数が限定的な単純検索には、contains
演算子を使用します。
matches Regex
演算子は、コンテキストによる変化を考慮する必要がある複雑な検索に使用すると、優れた柔軟性を発揮します。正規表現は、ECMAScript 構文に従う必要があります。正規表現を定義するときには、値の先頭と末尾にスラッシュ (/
) を入力しないでください。
次の表に、この 2 つの演算子を使用した式の例と、同じ目的のためにこれらの演算子がどのように使用されるかの比較を示します。
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 よりも先に評価されます。次に、X OR が Y AND Z の結果に対して評価されます。
- (X OR Y) AND Z:グループ内の式は常に先に評価されるため、この例では X OR Y が AND よりも先に評価されます。次に AND Z が X OR Y の結果に対して評価されます。