展開条件は、条件が true である展開にのみ適用されるように、ポリシーの範囲を限定します。たとえば、展開条件を使用して、特定のカタログ アイテムまたはテンプレートにのみ適用されるポリシーを作成できます。

展開基準の構築

グラフィカル インターフェイスを使用して、展開基準式を構築します。複雑な式を作成するために、AND および OR を使用できます。式を括弧演算子としてグループ化することもできます。式の処理方法については、式での演算の順序を参照してください。

式の例を次に示します。
deployment equals Multi-tier with LB AND (ownedBy equals jan@mycompany.com OR ownedBy kris@mycompany.com)
展開基準コンポーネントを使用すると、次の例のようになります。
展開基準の例。

展開条件のプロパティ

関数型の展開条件を作成するには、構文を理解する必要があります。

基準のテキスト ボックスには、使用可能なプロパティと演算子を提供するさまざまなドロップダウン メニューがあります。式の構成方法は、使用可能な値と演算の順序によって異なります。

ドロップダウン メニューには、次のプロパティが含まれます。一部のプロパティは、ポリシー タイプによって異なります。

プロパティ 説明 次のポリシー タイプで使用可能 次の演算子をサポート
Cloud Template

展開の要求に使用した Cloud Assembly クラウド テンプレートの ID。

ポリシーが Cloud Assembly クラウド テンプレートに固有の場合は、Catalog Item ではなく Cloud Template を使用します。たとえば、Amazon Web Services テンプレートには Cloud Template が含まれていません。
  • 承認
  • インストール後
  • リース
  • が次と等しい
  • が次と等しくない

Catalog Item

展開の要求に使用した Service Broker カタログ アイテムの ID。

テンプレート、拡張性ワークフローなどのコンテンツ タイプに基づく Service Broker カタログ アイテムをポリシーに含めることができる場合は、Cloud Template でなく、Catalog Item を使用します。たとえば、カタログから展開された Cloud Assembly クラウド テンプレートと Amazon Web Services CloudFormation テンプレートには、Catalog Item が含まれています。

  • 承認
  • インストール後
  • リース
  • が次と等しい
  • が次と等しくない
Deployment Creation Cost

コスト値。

指定されたコスト式に展開が一致すると、承認フローがトリガされます。

  • 承認
  • が次と等しい
  • が次と等しくない
  • が次より大きい
  • が次以上
  • が次未満
  • が次以下
Deployment 展開の ID。
  • 承認
  • が次と等しい
  • が次と等しくない
Created By

タスクを開始したユーザーの名前。形式は username@mycompany.com です。

このユーザーは、展開を申請したユーザーです。

  • インストール後
  • リース
  • が次と等しい
  • が次と等しくない
  • 正規表現に一致
  • 次を含む
Name 展開名。
  • インストール後
  • リース
  • が次と等しい
  • が次と等しくない
  • 正規表現に一致
  • 次を含む
Owned By

現在の展開の所有者の名前。

  • 承認
  • インストール後
  • リース
  • が次と等しい
  • が次と等しくない
  • 正規表現に一致
  • 次を含む
Requested By

インストール後アクションを申請したユーザーの名前。形式は username@mycompany.com です。

承認ポリシーを作成する場合、requestedBy の基準は、展開を申請したユーザーではなく、Day 2 アクションを申請したユーザーになります。展開を申請したユーザーは、createdBy の基準になります。

  • 承認
  • が次と等しい
  • が次と等しくない
  • 正規表現に一致
  • 次を含む
Resources 展開に含まれるリソース。

次のリソースに基づいて、展開基準を定義できます。

  • CPU の数
  • クラウド タイプ
  • フレーバー
  • リージョン
  • タグ

    ユーザー定義のタグおよび検出されたタグ。

  • 合計メモリ (MB)
  • リソース タイプ
  • 承認
  • インストール後
  • リース

次の追加リソースに基づいて、承認基準を定義できます。

  • クラウド ゾーン
  • クラウド アカウント
  • スナップショットあり
  • イメージ
  • イメージ ID
  • OS タイプ
  • 電源状態
  • ディスク
  • 承認

リソース タグの基準の形式

リソース タグは、キーと値のペアです。タグに基づいて展開基準を定義する場合は、キーを定義する必要があります。値の定義はオプションです。基準は、ユーザー定義のタグとシステム タグに基づきます。

たとえば、1 つのタグ ペアの基準を作成する場合、式は次の例のようになります。
resources has any 
    tags has any 
        key equals env 
        AND 
        value equals dev
ユーザー インターフェイスに表示される、1 つのキーと値のペアからなるシンプルな展開基準の式の例。
1 つのキーと複数の値に基づく基準を作成する場合、式は次の例のようになります。
resources has any 
    tags has any 
        key equals env 
            AND 
                value equals dev 
                OR
                value equals prod
ユーザー インターフェイスに表示される、1 つのキーと複数の値からなる展開基準の式の例。
複数のキーに基づき、値には基づかない基準を作成する場合、式は次の例のようになります。
resources has any 
    tags has any 
        key equals env1 
        OR 
        key equals env2
ユーザー インターフェイスに表示される、複数のキーからなる展開基準の式の例。
2 つの異なるキーと値のペアを評価する基準を作成する場合は、それらを個別のリソース タグとして追加する必要があります。次に例を示します。
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 演算子を使用すると、指定した文字セットをプロパティ内で検索できます。これらの演算子は、createdBynameownedBy など、ドロップダウンをサポートしない文字列ベースのプロパティに適用できます。

contains 演算子は、指定した値のすべてのインスタンスを任意のコンテキストで検索します。値の入力テキスト ボックスでは、大文字と小文字、およびスペースの有無が区別されます。コンテキストの違いを考慮に入れるには、追加のバリアントごとに値を設定する必要があります。検索する値の数が限定的な単純検索には、contains 演算子を使用します。

matches Regex 演算子は、コンテキストによる変化を考慮する必要がある複雑な検索に使用すると、優れた柔軟性を発揮します。正規表現は、ECMAScript 構文に従う必要があります。正規表現を定義するときには、値の先頭と末尾にスラッシュ (/) を入力しないでください。

次の表に、この 2 つの演算子を使用した式の例と、同じ目的のためにこれらの演算子がどのように使用されるかの比較を示します。

contains 演算子を使用する例 matches Regex 演算子を使用する例 フィールド値の一致
name contains test
name matches Regex test*

小文字の test を含むすべての展開名。たとえば、test deploymentmytesttest-123 などです。

name contains test
OR
name contains Test
name matches Regex (t|T)est.*

test または Test を含むすべての展開名。

(group)
	createdBy contains admin@
	(group)
	AND
		createdBy contains .com
		OR
		createdBy 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
createdBy matches Regex admin@\S+\.((com)|(org))
AND
name matches ((t|T)est)|(d|D)epl.*.

メール アドレスが admin@ で始まり、.com または .org で終わるユーザーによって作成されたすべての展開。

任意の構成で testdeploy の少なくともどちらかが含まれるすべての展開名。たとえば、test deploymenttestdeploymentTest-Deployment などです。

式での演算の順序

式は、次の順序で処理されます。グループは括弧で示されます。

  1. グループ内の式
  2. AND
  3. または

次の例を使用して順序を理解します。

  • 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 の結果に対して評価されます。