我正在從 ansible tower 運行 ansible playbook 來停止/啟動 vm。下面是代碼。
---
- hosts: localhost
gather_facts: yes
vars:
state : "{{ state }}"
env:
ARM_SUBSCRIPTION_ID : "{{ subscription_id }}"
ARM_TENANT_ID : "{{ tenant_id }}"
ARM_CLIENT_ID : "{{ client_id }}"
ARM_CLIENT_SECRET : "{{ secret_value }}"
collections:
- ansible.tower
tasks:
- name: Power Off
azure_rm_virtualmachine:
resource_group: "{{ resource_group_name }}"
name: "{{ virtual_machine_name }}"
started: no
when: state == "stop"
- name: Deallocate
azure_rm_virtualmachine:
resource_group: "{{ resource_group_name }}"
name: "{{ virtual_machine_name }}"
allocated: no
when: state == "delete"
- name: Power On
azure_rm_virtualmachine:
resource_group: "{{ resource_group_name }}"
name: "{{ virtual_machine_name }}"
when: state == "start"
environment: "{{ env }}"
這給出了以下錯誤:
致命的:[本地主機]:失敗!=> {"changed": false, "msg": "獲取憑據失敗。作為引數傳遞,設定環境變數,在 ~/.azure/credentials 中定義組態檔,或者使用 Azure CLI ( az login) 登錄。"}
語法明智的一切看起來都不錯。請幫忙。
uj5u.com熱心網友回復:
您可以通過將憑據作為環境變數傳遞,如下所示。
- name: Restart
azure_rm_virtualmachine:
resource_group: "{{ resource_group_name }}"
name: "{{ virtual_machine_name }}"
restarted: yes
subscription_id : "{{ subscription_id }}"
tenant : "{{ tenant_id }}"
client_id : "{{ client_id }}"
secret : "{{ secret_value }}"
when: state == "restart"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/465553.html
