-
Notifications
You must be signed in to change notification settings - Fork 949
Can't import github_branch_protection using repository:branch id #597
Description
Terraform Version
v4.0.0
Affected Resource(s)
github_branch_protection
Terraform Configuration Files
provider "github" {
organization = "kzhaotest"
}
resource "github_branch_protection" "test" {
repository_id = "branch_protection"
pattern = "main"
enforce_admins = false
required_pull_request_reviews {
dismiss_stale_reviews = true
required_approving_review_count = 1
}
}Debug Output
https://gist.github.com/k24dizzle/db8134b8b00171f7b6dbd4c38d4886b4
I tried importing the branch protection, but the provider couldn't find the resource. But when I applied the changes, I ran into errors saying the branch protection rule for that branch already existed.
Expected Behavior
I expected terraform to import the state of the branch_protection of my main branch in this repo: https://github.com/kzhaotest/test as described in the documentation here: https://www.terraform.io/docs/providers/github/r/branch_protection.html#import
Actual Behavior
kzhao@kzhao-mbp151 ~/other/branch_protection (main) $ terraform import github_branch_protection.test test:main
github_branch_protection.test: Importing from ID "test:main"...
github_branch_protection.test: Import prepared!
Prepared github_branch_protection for import
github_branch_protection.test: Refreshing state... [id=test:main]
Error: Cannot import non-existent remote object
While attempting to import an existing object to
github_branch_protection.test, the provider detected that no object exists
with the given id. Only pre-existing objects can be imported; check that the
id is correct and that it is associated with the provider's configured region
or endpoint, or use "terraform apply" to create a new remote object for this
resource.
Steps to Reproduce
terraform init
terraform import github_branch_protection.test test:main
Notes
I did notice in other experiments that I was able to import a github_branch_protection resource by instead of using repo_name:branch_name using the graphql node id of the branch protection rule.
But I assume that this overall issue is related to https://github.com/terraform-providers/terraform-provider-github/pull/593
Interestingly enough, even though https://github.com/kzhaotest/test has a branch protection rule for the main branch, I wasn't able to get the id of the rule in the graphql explorer, so I wasn't able to test this assumption out here.