微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多提供商无法提供提供商配置-别名 Main.tf Providers.tf Variables.tf 警卫模块文件 Terraform版本

如何解决使用多提供商无法提供提供商配置-别名 Main.tf Providers.tf Variables.tf 警卫模块文件 Terraform版本

我正在尝试让terraform在两个帐户(主帐户和成员帐户)上启用AWS GuardDuty。在会员帐户上启用GD似乎是一个问题:

resource "aws_guardduty_detector" "member" {
provider = aws.member
enable = true
}

========== 错误输出

错误:提供者配置不存在

要与module.guardduty-multi.aws_guardduty_detector.member一起使用其原始版本 提供商配置位于 module.guardduty-multi.provider [“ registry.terraform.io/hashicorp/aws”]。member 是必需的,但已被删除。当提供者发生这种情况 由该提供程序创建的对象仍然存在于配置中时,将删除配置 状态。重新添加提供者配置以销毁 module.guardduty-multi.aws_guardduty_detector.member,之后您就可以 再次删除提供程序配置。

=============

Main.tf

module "guardduty-multi" {
    source = "./modules/guardduty" 
}

Providers.tf

provider "aws" {
    alias = "master"
    region = "us-east-1"
    profile = var.master_profile
}

provider "aws" {
    alias = "member"
    region = "us-east-1"
    profile = var.member_profile
}

Variables.tf

variable "member_profile" {
    type = string
    default = "member"
}

variable "master_profile" {
    type = string
    default = "default"
}

警卫模块文件

resource "aws_guardduty_detector" "master" {
    enable = true
}

resource "aws_guardduty_detector" "member" {
    provider = aws.member
    enable = true
}

resource "aws_guardduty_member" "member" {
    account_id         = aws_guardduty_detector.member.account_id
    detector_id        = aws_guardduty_detector.master.id
    email              = "emailid@acme.com"
    invite             = true
    invitation_message = "please accept Guardduty invitation from Master Account"
}

terraform版本

v0.13.2 hashicorp / aws:版本=“〜> 3.5.0”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。