从Ansible调用Terraform

问题描述 投票:-3回答:1

当我使用terraform模块从shell脚本直接调用它工作正常。

但是,当我包装相同的shell脚本这是从失败的ansible任务调用。验证它正在通过了ARM凭据所有的环境变量。所有的都很好,但不知何故没有得到任何成功运行terraform作为ansible任务。

下面是我得到的错误

错误刷新状态:1个错误发生:\ n \ n * module.oracle_server.provider.azurerm:无法列出供应商的注册状态,这是可能的,这是由于无效的凭证或服务主体没有权限?使用资源管理器API,Azure的错误:azure.BearerAuthorizer#WithAuthorization:无法刷新令牌的请求https://management.azure.com/subscriptions/ **** /供应商API版本= 2016年2月1日:的StatusCode = 0 - 原始错误:阿达尔:

UPDATEd by the editor

请在这里更新您的ansible码,比评论更多,失去了所有的格式。

- name: Terraform Module 
  terraform: 
    project_path: "{{ terraform_module_path }}" 
    state: "{{ item.infra_state }}" 
    variables: 
      platform: "{{ platform }}" 
      application_name: "{{ application_name }}" 
      environment: "{{ env }}"
azure ansible terraform
1个回答
0
投票

从错误信息,不能正确设置湛蓝的凭据,所以请检查您是否包括供应商代码或没有。

# Configure the Azure Provider
provider "azurerm" {
  # whilst the `version` attribute is optional, we recommend pinning to a given version of the Provider
  version = "=1.21.0"
}

参考:https://www.terraform.io/docs/providers/azurerm/

© www.soinside.com 2019 - 2024. All rights reserved.