Ansibleを使用してパラメーターのリストをPowershellに渡す

Tung Do

vars_sb_task.ymlを呼び出すYAMLファイルにパラメーターのリストがあります。

---
type: taskWindows
actions:
  abortActions: []
  emailNotifications: []
  setVariableActions: []
  snmpNotifications: []
  systemOperations: []
agent: test
name: "Test"
summary: "Test"
...

sb.ps1と呼ばれるストーンブランチタスク作成用のPowershellスクリプトがあります。

function Stonebrach.Connect {
param(
    [Parameter(Mandatory=$true)]
    $Sb_uri,
    [Parameter(Mandatory=$true)]
    $Auth_filename,
    [Parameter(Mandatory=$true)]
    $Method,
    [Parameter(Mandatory=$false)]
    $Body
)

$basicAuth=Get-Content "C:\$auth_filename"
$headers = @{
        "Authorization" = $basicAuth
        "Content-Type"="application/json"
}
$RSP=$null

try{
    if ( $body -eq $null ) {
        $response = invoke-restmethod -Uri $Sb_uri -Method $Method -Headers $headers
    }
    else {
        $response = invoke-restmethod -Uri $sb_uri -Method $method -Headers $headers -Body **$body**
    }
    return $response
}
catch{
   $RSP = $_.Exception.Message
   return $RSP
}
}

function Stonebranch.Create.Task.Windows {
param(
    [Parameter(Mandatory=$true)]
    $Sb_base_uri,
    [Parameter(Mandatory=$true)]
    $Auth_filename,
    [Parameter(Mandatory=$true)]
    $Method,
    [Parameter(Mandatory=$true)]
    $Body
)
    Stonebrach.Connect -SB_uri $Sb_base_uri/task -Auth_filename 
$Auth_filename -Method $Method -Body $Body
}

このような関数を呼び出したい:

$response = Stonebranch.Create.Task.Windows -Sb_base_uri $Sb_base_uri -Auth_filename $Auth_filename -Method POST -Body $body

ここに質問があります:vars_sb_task.ymlのすべてのパラメーターを$ bodyに渡したいのですが、Ansibleを使用してそれを行う方法を知っている人はいますか?そのsb.ps1をAnsibleを使用して別のWindowsサーバーにプッシュするつもりなので。

または、Ansibleを使用する方法がない場合は、Powershellを使用してそのymlファイルを渡す方法を教えてください。私は両方の分野でかなり新しいです、あなたの助けに感謝します。

**編集:vars_sb_task.ymlを使用してプレイブックを作成しようとしました:

---
- name: test vars file
  hosts: windows
  vars_files:
   - /home/tung/ansible_test/vars_sb_win_task.yml
  tasks:
  - name: test vars
    debug:
      msg: "{{ agent }}"

このプレイブックを実行すると、エージェントに値テストがあるため、「test」が返されます。単一の変数の場合、Powershellスクリプトに渡すことができますが、問題は、yamlファイルのすべての変数を$ bodyに渡す必要があることです。ここからどうしたらいいのかわからない。Ansibleのドキュメントを読み込もうとしていますが、はっきりしていません。yamlファイルでこれらの変数を処理してPowershellの単一の変数(この場合は$ body)に渡す方法の例を誰かが書くことができれば素晴らしいでしょう

imjoseangel

説明したように、次のようなことを試すことができます。

---
- name: test vars file
  hosts: localhost
  vars_files:
   - vars_sb_task.yml
  tasks:

  - name: Add File to var
    set_fact:
      body: "{{ item  }}"
    with_file: "vars_sb_task.yml"

  - name: test vars
    debug:
      msg: "{{ body }}"

  - name: Run PS
    win_shell:  ". script1.ps1; Stonebranch.Create.Task.Windows"
    args: "-Sb_base_uri $Sb_base_uri -Auth_filename $Auth_filename -Method POST -Body {{ body }}"
    register: _out

最初の部分はファイルを"{{ body }}"varに保存します次に、win_shellで使用できます(ここでは、関数を1行でロードする方法の例にすぎません)。私はこの最後の部分をテストしていません。最初にWindowsでコマンドをテストしてから、bodyvarを使用してコードにコピーします

bodyvarの結果は次のとおりです。

TASK [Add File to var] *********************************************************************************************************
ok: [localhost] => (item=---
type: taskWindows
actions:
  abortActions: []
  emailNotifications: []
  setVariableActions: []
  snmpNotifications: []
  systemOperations: []
agent: test
name: "Test"
summary: "Test")

TASK [test vars] ***************************************************************************************************************
ok: [localhost] => {
    "msg": "---\ntype: taskWindows\nactions:\n  abortActions: []\n  emailNotifications: []\n  setVariableActions: []\n  snmpNotifications: []\n  systemOperations: []\nagent: test\nname: \"Test\"\nsummary: \"Test\""
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

c#winformsを使用してPowerShellスクリプトにパラメーターを渡す方法は?

分類Dev

複数のWebジョブをパラメーターとしてPowerShellスクリプトに渡す方法

分類Dev

PowerShellを使用してpsftpをスクリプト化し、パラメーターを渡す

分類Dev

抽象基本クラスのリストをパラメーターとして使用して、クラスのリストをメソッドに渡します

分類Dev

C#のループを使用して配列リストパラメータをCrystalReportに渡す

分類Dev

Windows スケジューラーを使用してパラメーターを r スクリプトに渡す

分類Dev

PowerShellスクリプトのパラメーターとしてjsonを渡します

分類Dev

CDKpythonを使用してリクエストパラメータをApiGatewayのhttpintegrationに渡す方法

分類Dev

スクリプトタグでflaskurl_forを使用して、パラメータをルートに渡します

分類Dev

Powershellスクリプト関数にパラメーターとして特殊文字を渡す

分類Dev

辞書を使用してパラメーターをPythonのpostgresqlステートメントに渡す

分類Dev

ターミナルのPowerShellスクリプトにパラメーターとしてhere-stringを渡すにはどうすればよいですか?

分類Dev

Ansibleを使用してGitLabをインストールし、正しいパラメーターをHelmに渡すにはどうすればよいですか?

分類Dev

Powershellスクリプト:$ Arg = "$ somePath"のように ""を指定してパラメーターを渡すと、 ""を含む "c:\ temp \"になります。

分類Dev

クラスのリストをパラメータとして渡す方法は?

分類Dev

jdbcTemplateを使用してIN句でリストパラメータを渡す方法

分類Dev

PySpark-UDFにパラメーターとしてリストを渡す

分類Dev

PSCredentialをパラメーターとしてスクリプトに渡す

分類Dev

wrkを使用してGETリクエストにパラメーターを渡す方法はありますか?

分類Dev

PHPを介してPythonスクリプトにパラメータを渡す

分類Dev

axiosを使用してFormDataをパラメータとしてPOSTリクエストに渡す

分類Dev

Popenを使用してPython変数をPowershellパラメーターに渡す

分類Dev

testng-testng.xmlのリストをパラメーターとして渡す

分類Dev

個々の関数パラメーターとしてリストを渡す

分類Dev

パラメータとしてリストを渡す

分類Dev

リスト配列をパラメータとしてAndroidAsynTaskに渡します

分類Dev

boost-pythonを使用してPythonスクリプトからC ++にパラメーターを渡す

分類Dev

タプルのリストをパラメーターとしてscalaのsparkudfに渡す

分類Dev

guiceを使用してランタイムパラメーターをコンストラクターに渡す

Related 関連記事

  1. 1

    c#winformsを使用してPowerShellスクリプトにパラメーターを渡す方法は?

  2. 2

    複数のWebジョブをパラメーターとしてPowerShellスクリプトに渡す方法

  3. 3

    PowerShellを使用してpsftpをスクリプト化し、パラメーターを渡す

  4. 4

    抽象基本クラスのリストをパラメーターとして使用して、クラスのリストをメソッドに渡します

  5. 5

    C#のループを使用して配列リストパラメータをCrystalReportに渡す

  6. 6

    Windows スケジューラーを使用してパラメーターを r スクリプトに渡す

  7. 7

    PowerShellスクリプトのパラメーターとしてjsonを渡します

  8. 8

    CDKpythonを使用してリクエストパラメータをApiGatewayのhttpintegrationに渡す方法

  9. 9

    スクリプトタグでflaskurl_forを使用して、パラメータをルートに渡します

  10. 10

    Powershellスクリプト関数にパラメーターとして特殊文字を渡す

  11. 11

    辞書を使用してパラメーターをPythonのpostgresqlステートメントに渡す

  12. 12

    ターミナルのPowerShellスクリプトにパラメーターとしてhere-stringを渡すにはどうすればよいですか?

  13. 13

    Ansibleを使用してGitLabをインストールし、正しいパラメーターをHelmに渡すにはどうすればよいですか?

  14. 14

    Powershellスクリプト:$ Arg = "$ somePath"のように ""を指定してパラメーターを渡すと、 ""を含む "c:\ temp \"になります。

  15. 15

    クラスのリストをパラメータとして渡す方法は?

  16. 16

    jdbcTemplateを使用してIN句でリストパラメータを渡す方法

  17. 17

    PySpark-UDFにパラメーターとしてリストを渡す

  18. 18

    PSCredentialをパラメーターとしてスクリプトに渡す

  19. 19

    wrkを使用してGETリクエストにパラメーターを渡す方法はありますか?

  20. 20

    PHPを介してPythonスクリプトにパラメータを渡す

  21. 21

    axiosを使用してFormDataをパラメータとしてPOSTリクエストに渡す

  22. 22

    Popenを使用してPython変数をPowershellパラメーターに渡す

  23. 23

    testng-testng.xmlのリストをパラメーターとして渡す

  24. 24

    個々の関数パラメーターとしてリストを渡す

  25. 25

    パラメータとしてリストを渡す

  26. 26

    リスト配列をパラメータとしてAndroidAsynTaskに渡します

  27. 27

    boost-pythonを使用してPythonスクリプトからC ++にパラメーターを渡す

  28. 28

    タプルのリストをパラメーターとしてscalaのsparkudfに渡す

  29. 29

    guiceを使用してランタイムパラメーターをコンストラクターに渡す

ホットタグ

アーカイブ