私はStackoverflowを初めて使用していますので、私と一緒に裸にしてください。私の現在の問題は、パワフルで解析可能なstdoutです。私は、不可解な演奏からstdoutをキャプチャし、stdout内の特定の部分文字列についてこの出力を解析し、varに保存する必要があります。私の具体的なユースケースは、これは次の行で出力を生成stdoutからパースできるテキスト文字列
- shell: "vault.sh --keystore EAP_HOME/vault/vault.keystore | --keystore-password vault22 --alias vault --vault-block | vb --attribute password --sec-attr 0penS3sam3 --enc-dir | EAP_HOME/vault/ --iteration 120 --salt 1234abcd" register: results become: true
を下回っている、目標は、私が設定するためにそれを使用できるようにansible Varのことをボールトが生成するJBossのマスクされたキーをキャプチャして保存することですstandalone.xmlテンプレート:
vault-option name="KEYSTORE_PASSWORD" value="MASK-5dOaAVafCSd"/>
私は道おそらく正規表現で、この文字列を解析し、set_factsモジュールまたはその他のansibleモジュールを使用してansible VARに「MASK-5dOaAVafCSd」ストリングを保存する必要があります。
現在、私のコードは、この
#example stdout results: vault-option name=\"KEYSTORE_PASSWORD\" value=\"MASK-5dOaAVafCSd\"/> - name: JBOSS_VAULT:define keystore password masked value variable set_fact: masked_value: | "{{ results.stdout | regex_replace('^.+(MASK-.+?)\.+','\\1') }}"
このコードはresults.stdout、ない期待キャプチャグループとしてmasked_valueを定義しているように見えます。
多くのおかげで、 -Tony N.
あなたの質問を言い換えてください、それは絶対に不明です。あなたは完全なプレイブックを実行し、それを出力する必要がありますか?または、そのコマンドの出力だけで、プレイブックやフィドル内でいくつかのコマンドを実行しますか? –
こんにちはコンスタンチン、私は変数にMASK - 5dOaAVafCSdを格納しようとしています。 – TonyNguyen