[リソース操作時] ポリシーのアクションの作成
[リソース操作時] トリガーは、ユーザーが特定のリソースに対して [開始]、[停止]、または [プロビジョニング解除] ライフサイクル操作を実行すると、オーケストレーションプロセス中に開始されます。[リソース操作時] トリガーによってトリガーされるポリシーは、ユーザーが要求した属性値のオーバーライド、スクリプトの実行、クラウド API の呼び出し、または IP アドレス管理操作の実行を行うことができます。
始める前に
- 必要なロール:sn_cmp.cloud_governor またはアドミニストレーター
- オプション:1 つまたは複数のクラウドポリシーグループを作成します。
- クラウドポリシールールの設定 および関連する条件。
手順
- クラウドアドミンポータルで、 統制 > ポリシー.
- クラウドポリシーを開き、必要に応じてポリシーを [ドラフト] ステータスに設定します。
- アクションを実行する必要があるルールを開き、[ポリシールールアクション (Policy Rule Actions)] 関連リストで [新規] をクリックします。
-
ポップアップで、実行するアクションのタイプとして [作成] をクリックし、一意で分かりやすい [アクション名 (Action Name)] を入力してから、アクションのフォームに入力します。
表 : 1. 「プロパティの上書き」アクションの設定 フィールド 説明 プロパティ 上書きするユーザー要求フォームのプロパティ (属性) の名前を指定します。 値 [プロパティ] フィールドの値を上書きする値を入力します。テキスト値のみを上書きすることができます。静的な値、式、またはその両方を指定できます。[SetTheCostCenter] という名前のアクション例は、[CostCenter] プロパティに対して値 [Marketing] を指定します。図 : 1. プロパティの上書きアクションを設定する 注:式は次のアクションを実行できます (詳細については、「クラウドプロビジョニングとガバナンス での式の使用」を参照)。ポリシールールとフォームルールの両方で値が上書きされる場合、フォームルールの値が使用されます。
- 定義式を使用してフォームデータ値を設定します。例:
${parameter.formData.CatalogAttributeType} - 定義式を使用してユーザーデータ値をアサインします。例:
${parameter.userData.userId}たとえば、次の値はスタック名を Stack_Bob.Smith@company.com:
Stack_${parameter.userData.userId}に設定できます。 - ランタイム式を使用してスタックまたはテーブルの値を設定します。
例:
$(ci.sn_cmp _ip_pool[subnet=${parameter.formData.Subnet Id}])は IP プールテーブルからサブネットを取得します。 - 静的な式を使用してランダムな数をフィールドに関連付けます。
${randomNumber}を使用します。
スクリプトに基づく このチェックボックスをオンにして [スクリプト] テキストボックスを表示し、スクリプトを指定します。 スタック名を上書きするには、次の例のスクリプトスニペットを使用できます。スクリプトの
function( formData)セクションは、フォーム上のフィールドの値を変更します。Mystack は、この例のスタック名です。customScript : function( formData){ // Manipulation of form parameter is only supported here. // Change in any other attributes will be ignored // data available for manipulation are // Form Data - Ex. StackName can be accessed // through formData.StackName // formData.StackName = "MyStack"; // User Data - Ex. User Id can be accessed // through this.parameters.userData // if(this.parameter.userData.userId == 'servicenowuserId') formData.StackName = "MyStack"; return formData; },表 : 2. 「スクリプトを実行」アクションの設定 フィールド 説明 アクションスクリプトカテゴリ [カテゴリー] を選択します。 アクションスクリプト名 スクリプトに対して一意で分かりやすい名前を指定します。 アクションスクリプト テキストボックスにスクリプトを作成します。 詳細については、「ポリシーアクションスクリプトの作成」を参照してください。
[クラウド API を呼び出す] アクションタイプを選択してレコードを保存すると、[ポリシールールアクション属性 (Policy Rule Action Attributes)] 関連リストに、プロバイダに渡す属性が設定されます。Infoblox と統合する場合は、[DNSSuffix] フィールドを設定する必要があります。たとえば、ホストを作成すると [DNSSuffix] フィールドの値が新しく作成された仮想マシンの Infoblox に表示されます。
表 : 3. 「クラウド API を呼び出す」アクションの設定 フィールド 説明 アクション名 アクションの説明的な名前を入力します。同じポリシーに対する後続のポリシーアクションでは、[値] フィールドでこの名前を参照することができます。API 呼び出し後にクラウドプロバイダーから受信した JSON ペイロードを参照します。たとえば、RefAction というアクションによって返された割り当て済み IP アドレスを参照するには、別のポリシーアクションの [値] フィールドで式 $(parameter.RefAction.Allocated_IP}を使用できます。プロバイダー API ライブラリーからクラウドプロバイダーを入力します。 バージョン API ライブラリーからバージョンを入力します。 インターフェイス CAPI インターフェイスを選択します。Infoblox の場合、[IPAM インターフェイス (IPAM interface)] を選択します。 運用 実行する CAPI インターフェイス操作を選択します。Infoblox の場合、[CreateHostRecord] または [DeleteHostRecord] を選択します。 認証情報 必要な認証情報の sys_ID を入力します。 次のような式を使用することもできます。$(ci.sn_cmp_infoblox_server[$(ci.sn_cmp_ip_pool[subnet=${parameter.formData.SubnetId}].provider_instance)].infoblox_server_credential)エンドポイント URL API ライブラリーからコネクターのエンドポイント URL を入力します。Infoblox の場合、Infoblox サーバーの IP アドレスです。 表 : 4. 「IP アドレス管理」アクションの設定 フィールド 説明 IPAM メソッド名 IPAM メソッド名を選択します。Infoblox の場合、次のいずれかのオプションを選択します。 - [IP アドレスをリリース]:マシンのプロビジョニング解除後に、Infoblox から IP アドレスをリリースします。
- [IP アドレスを登録]:新しい仮想マシンを Infoblox に登録します。このオプションは、AWS および Azure クラウドで使用されます。
- [IP アドレスを予約]:新しい IP アドレスを予約します。このオプションは、vSphere クラウドで使用されます。
「Infoblox での AWS および Azure 仮想マシンの IP アドレスの登録」、「VMware vSphere 仮想マシンの IP アドレスの Infoblox への予約」、「IPAM 統合」を参照してください。
- 定義式を使用してフォームデータ値を設定します。例: