标签: terraform-provider-github

如何导入多个terraform资源实例?

我正在尝试导入已经存在的资源,这些资源无法重新创建,而且有很多。

有些配置对于所有资源来说都是基本的,对于某些资源来说有一些小的变化。

我想用一个命令导入所有资源,一项一项地导入非常繁琐而且容易出错。目前正在导入单一资源:

terraform import 'github_repository.repo_config["repo2"]' repo2
Run Code Online (Sandbox Code Playgroud)

import如果要导入所有资源,该命令会是什么样子?

配置如下:

terraform {
  required_providers {
    github = {
      source  = "integrations/github"
      version = "~> 5.0"
    }
  }
}

provider "github" {
  owner = "medecau"
}

variable "repo_config" {
  type = map(object({
    description  = string
    homepage_url = string
    topics       = list(string)
  }))
  default = {
    "repo1" = {
      description  = "Repo 1"
      homepage_url = "https://medecau.github.io/repo1/"
      topics       = ["topic1", "topic2", "topic3"]
    }
    "repo2" = {
      description  = "Repo 2"
      homepage_url = null
      topics …
Run Code Online (Sandbox Code Playgroud)

github terraform terraform-provider-github

7
推荐指数
1
解决办法
4259
查看次数

404 使用 Terraform 创建 github_repository_webhook 时

我们升级为使用integrations/github提供程序源,从那时起,当我们尝试使用 Terraform 创建 github_repository_webhook 时,我们就开始收到 404 错误。我相信我们已经拥有基于文档所需的所有必要部分,但日志中的 API uri 缺少 org. 注意:真实的组织和存储库名称已被编辑。

主.tf

resource "aws_codepipeline_webhook" "codepipeline_webhook" {
  name            = "test-github-webhook"
  authentication  = "GITHUB_HMAC"
  target_action   = "CC"
  target_pipeline = aws_codepipeline.pipeline.name

  authentication_configuration {
    secret_token = data.aws_secretsmanager_secret_version.github_token.secret_string
  }

  filter {
    json_path    = "$.ref"
    match_equals = "refs/heads/{Branch}"
  }

  tags = merge(var.tags, {
    Name = "test-github-webhook"
  })
}

# Wire the CodePipeline webhook into a GitHub repository.
resource "github_repository_webhook" "github_webhook" {
  repository = "my_repo"

  configuration {
    url          = aws_codepipeline_webhook.codepipeline_webhook.url
    content_type = "json"
    insecure_ssl …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-github

6
推荐指数
1
解决办法
2550
查看次数

如果 terraform 中不存在键,如何跳过 for_each 循环

我的问题陈述很简单,但我无法在互联网上的任何地方找到解决方案。

\n

我的用户列表如下locals

\n
// users\n\nlocals {\n  allUsers = {\n\n    dev_user_1 = {\n      Name   = "user1"\n      Email  = "user1@abc.com"\n      GitHub = "user1" # github username\n      Team   = "Dev"\n    }\n\n    devops_user_2 = {\n      Name   = "user2"\n      Email  = "user2@abc.com"\n      GitHub = "user2" # github username\n      Team   = "DevOps"\n    }\n\n    product_user_3 = {\n      Name   = "user3"\n      Email  = "user3@abc.com"\n      Team   = "Product"\n    }\n  }\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n

这些local标签用于创建对内部工具(例如 Github、监控工具等)的访问。

\n

现在,对于属于DevDevOps团队的 2 个用户,他们需要访问 Github ORG,而产品用户只需要访问一些仪表板,但不需要访问 Github,因此,标签丢失。 …

terraform terraform-provider-github

5
推荐指数
1
解决办法
5480
查看次数