gpt4 book ai didi

azure - 从 ansible tower 运行 ansible playbook 以停止/启动 azure vm 时无法获取凭据

转载 作者:行者123 更新时间:2023-12-03 07:02:53 24 4
gpt4 key购买 nike

我正在从 ansible tower 运行 ansible playbook 来停止/启动虚拟机。下面是代码。

---
- 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 }}"

这给出了以下错误:

致命:[localhost]:失败! => {"changed": false, "msg": "无法获取凭据。作为参数传递、设置环境变量、在 ~/.azure/credentials 中定义配置文件,或使用 Azure CLI 登录 (az登录)。”}

语法方面一切看起来都不错。请帮忙。

最佳答案

您可以通过将凭据作为环境变量传递来传递凭据,如下所示。

- 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"

关于azure - 从 ansible tower 运行 ansible playbook 以停止/启动 azure vm 时无法获取凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72023594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com