6.1.1 Ops I提供部品

Workflow定義では、アクティビティで何を実行するかをTask model内のactionにて定義します。その際に使用可能なOps I提供部品について、以下に詳細を示します。

(1)oi.fetch_access_token

Ops Iアクセストークンを取得します。このOps Iアクセストークンは、ワークフロー内からOps IのREST APIを実行する際に利用します。

oi.fetch_access_tokenを使用する場合は、以下のパラメータを設定する必要があります。

(表)oi.fetch_access_tokenのパラメータ

パラメータ 必須 説明
opsi_user_secret_mount_point Yes 文字列 Ops Iアクセストークンを取得するユーザーのシークレット情報が格納されているSecrets Enginesのパス。
opsi_user_secret_path Yes 文字列 Ops Iアクセストークンを取得するユーザーのシークレット情報が格納されているパス。
opsi_user_secret_kv_version Yes 数値 シークレットのSecrets Enginesのバージョン。
1:レガシーなSecrets Engines
2:新しいSecrets Engines
opsi_user_secret_version Yes 文字列 格納されているシークレット情報のバージョン。

パラメータで指定した場所には以下のシークレット情報が格納されている必要があります。
シークレット情報については「Secretの作成」を参照してください。

  • username: Ops Iアクセストークンを取得するユーザー名
  • password: Ops Iアクセストークンを取得するユーザーのパスワード
  • domain: Ops IのFQDN(例: “<テナント名>.ops-integration.com")

oi.fetch_access_tokenの戻り値は以下の通りです。

(表)oi.fetch_access_tokenの戻り値

パラメータ 説明
output.access_token Ops Iアクセストークン。
output.origin Ops IのURL。


(2)oi.insert_into_custom_table

カスタムテーブルに指定したレコードを挿入します。

oi.insert_into_custom_tableを使用する場合は、以下のパラメータを設定する必要があります。

(表)oi.insert_into_custom_tableのパラメータ

パラメータ 必須 説明
parent_execution_id Yes 文字列 ワークフローのexecution_id。ワークフローのアクションとして実行した別のワークフローの中で使用する場合でも、元のワークフローのexecution_idを指定する必要がある。
graphql_user_object_type Yes 文字列 レコードを挿入するカスタムテーブルの名前。Datamodelのmanifest.yamlで定義したテーブル名に「u_」を連結したもの。
例)”u_my_custom_table”
graphql_user_object_data Yes オブジェクト 挿入するレコードをdataフィールドに格納したオブジェクト。
opsi_user_secret_mount_point Yes 文字列 Ops Iアクセストークンを取得するユーザーのシークレット情報が格納されているSecrets Enginesのパス。
opsi_user_secret_path Yes 文字列 Ops Iアクセストークンを取得するユーザーのシークレット情報が格納されているパス。
opsi_user_secret_kv_version Yes 数値 シークレットのSecrets Enginesのバージョン。
1:レガシーなSecrets Engines
2:新しいSecrets Engines
opsi_user_secret_version Yes 文字列 格納されているシークレット情報のバージョン。

パラメータで指定した場所には以下のシークレット情報が格納されている必要があります。
シークレット情報については「Secretの作成」を参照してください。

  • username: Ops Iアクセストークンを取得するユーザー名
  • password: Ops Iアクセストークンを取得するユーザーのパスワード
  • domain: Ops IのFQDN(例: “<テナント名>.ops-integration.com")

oi.insert_into_custom_tableの戻り値はありません。

※<% ctx().st2.action_execution_id %>で取得します。詳細についてはStackStorm公式ページを参照してください。
https://docs.stackstorm.com/3.7/orquesta/stackstorm.html#stackstorm-context

(3)awx.run_job_template

自動化のジョブテンプレートを実行します。

awx.run_job_templateを使用する場合は、以下のパラメータを設定する必要があります。

(表)awx.run_job_templateのパラメータ

パラメータ 必須 説明
name Yes 文字列 実行するジョブテンプレートの名前。
organization Yes 文字列 対象のジョブテンプレートが属する組織の名前。
project Yes 文字列 対象のジョブテンプレートが属するプロジェクトの名前。
object_id Yes 数値 対象のジョブテンプレートのID。
auth_type No 文字列 自動化へのログインに用いる認証タイプ。以下の値のうちどれか。デフォルトは”basic”。
-”basic”
-”basic_with_vault_kv2”
-”saml”
-”saml_with_vault_kv2”
vault_role_id No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、シークレットにアクセスするAppRoleのロールIDを設定する。
vault_secret_id No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、シークレットにアクセスするAppRoleのシークレットIDを設定する。
vault_backend_name No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のクレデンシャル情報が保存されているシークレットバックエンドの名前を設定する。
vault_secret_path No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のクレデンシャル情報が保存されているシークレットのパスを設定する。
vault_user_key No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のユーザー名のキーを設定する。デフォルトは”user_name”。
vault_pw_key No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のパスワードのキーを設定する。デフォルトは”password ”。
user_name No 文字列 auth_typeで”basic”または”saml”を指定した場合、自動化のユーザー名を設定する。
password No 文字列 auth_typeで”basic”または”saml”を指定した場合、自動化のユーザーパスワードを設定する。
payload Yes 文字列 自動化APIへのリクエストボディを設定する。
リクエストボティの形式については、内部で実行されている自動化のAPI(POST /api/v2/job_templates/{id}/launch/)のリファレンス参照。
https://docs.ansible.com/automation-controller/4.4/html/controllerapi/api_ref.html#/Job_Templates

※ 実行するジョブテンプレートの指定方法は、name、organization、projectを用いる方法と、object_idを用いる方法があります。両方の方法を用いた場合はobject_idが優先されます。

awx.run_job_templateの戻り値は以下の通りです。

(表)awx.run_job_templateの戻り値

パラメータ 説明
result 実行したジョブのID。awx.get_job_resultで使用する。


(4)awx.get_job_result

自動化のジョブの結果を取得します。

awx.get_job_resultを使用する場合は、以下のパラメータを設定する必要があります。

(表)awx.get_job_resultのパラメータ

パラメータ 必須 説明
id Yes 数値 ジョブのID。awx.run_job_templateアクションの戻り値を使う。
format No 文字列 結果のフォーマット。以下の値のうちどれか。デフォルトは”txt”。
-”txt”
-”api”
-”html”
-”ansi”
-”json”
-”txt_download”
-”ansi_download”
詳細は、内部で実行している自動化のAPI(/api/v2/jobs/{id}/stdout/?format={format})のリファレンス参照。
https://docs.ansible.com/automation-controller/4.4/html/controllerapi/api_ref.html#/Jobs/Jobs_jobs_stdout_read
auth_type No 文字列 自動化へのログインに用いる認証タイプ。以下の値のうちどれか。デフォルトは”basic ”。
-”basic”
-”basic_with_vault_kv2”
-”saml”
-”saml_with_vault_kv2”
vault_role_id No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、シークレットにアクセスするAppRoleのロールIDを設定する。
vault_secret_id No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、シークレットにアクセスするAppRoleのシークレットIDを設定する。
vault_backend_name No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のクレデンシャル情報が保存されているシークレットバックエンドの名前を設定する。
vault_secret_path No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のクレデンシャル情報が保存されているシークレットのパスを設定する。
vault_user_key No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のユーザー名のキーを設定する。デフォルトは”user_name”。
vault_pw_key No 文字列 auth_typeで”basic_with_vault_kv2”または”saml_with_vault_kv2”を指定した場合、自動化のパスワードのキーを設定する。デフォルトは”password”。
user_name No 文字列 auth_typeで”basic”または”saml”を指定した場合、自動化のユーザー名を設定する。
password No 文字列 auth_typeで”basic”または”saml”を指定した場合、自動化のユーザーパスワードを設定する。

awx.get_job_resultの戻り値は以下の通りです。

(表)awx.get_job_resultの戻り値

パラメータ 説明
result.id ジョブのID。
result.name ジョブの名前。
result.status ジョブのステータス。戻り値として取りうる値。
new:新規
pending:保留中
waiting:待機中
running:実行中
successful:成功
failed:失敗
error:エラー
本パラメータは、内部で実行されている自動化のAPI(GET /api/v2/jobs/{id})のレスポンスのstatusパラメータを返します。最新の情報は、以下を参照してください。
https://docs.ansible.com/automation-controller/4.4/html/controllerapi/api_ref.html#/Jobs
result.log ジョブ実行結果。formatで指定した形式になっている。