我正在尝试导入已经存在的资源,这些资源无法重新创建,而且有很多。
有些配置对于所有资源来说都是基本的,对于某些资源来说有一些小的变化。
我想用一个命令导入所有资源,一项一项地导入非常繁琐而且容易出错。目前正在导入单一资源:
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) 我们升级为使用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) 我的问题陈述很简单,但我无法在互联网上的任何地方找到解决方案。
\n我的用户列表如下locals:
// 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\nRun Code Online (Sandbox Code Playgroud)\n这些local标签用于创建对内部工具(例如 Github、监控工具等)的访问。
现在,对于属于Dev和DevOps团队的 2 个用户,他们需要访问 Github ORG,而产品用户只需要访问一些仪表板,但不需要访问 Github,因此,标签丢失。 …