mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
Rename root module name. (#4)
* Rename module name from "github.com/hashicorp/terraform" to "github.com/placeholderplaceholderplaceholder/opentf". Signed-off-by: Jakub Martin <kubam@spacelift.io> * Gofmt. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Regenerate protobuf. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Fix comments. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Undo issue and pull request link changes. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Undo comment changes. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Fix comment. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Undo some link changes. Signed-off-by: Jakub Martin <kubam@spacelift.io> * make generate && make protobuf Signed-off-by: Jakub Martin <kubam@spacelift.io> --------- Signed-off-by: Jakub Martin <kubam@spacelift.io>
This commit is contained in:
parent
a458568bec
commit
ebcf7455eb
18
.github/CONTRIBUTING.md
vendored
18
.github/CONTRIBUTING.md
vendored
@ -6,7 +6,7 @@ This repository contains only Terraform core, which includes the command line in
|
|||||||
|
|
||||||
This document provides guidance on Terraform contribution recommended practices. It covers what we're looking for in order to help set some expectations and help you get the most out of participation in this project.
|
This document provides guidance on Terraform contribution recommended practices. It covers what we're looking for in order to help set some expectations and help you get the most out of participation in this project.
|
||||||
|
|
||||||
To record a bug report, enhancement proposal, or give any other product feedback, please [open a GitHub issue](https://github.com/hashicorp/terraform/issues/new/choose) using the most appropriate issue template. Please do fill in all of the information the issue templates request, because we've seen from experience that this will maximize the chance that we'll be able to act on your feedback.
|
To record a bug report, enhancement proposal, or give any other product feedback, please [open a GitHub issue](https://github.com/placeholderplaceholderplaceholder/opentf/issues/new/choose) using the most appropriate issue template. Please do fill in all of the information the issue templates request, because we've seen from experience that this will maximize the chance that we'll be able to act on your feedback.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Read the documentation, and don't be afraid to [ask questions](https://discuss.h
|
|||||||
|
|
||||||
In order to be respectful of the time of community contributors, we aim to discuss potential changes in GitHub issues prior to implementation. That will allow us to give design feedback up front and set expectations about the scope of the change, and, for larger changes, how best to approach the work such that the Terraform team can review it and merge it along with other concurrent work.
|
In order to be respectful of the time of community contributors, we aim to discuss potential changes in GitHub issues prior to implementation. That will allow us to give design feedback up front and set expectations about the scope of the change, and, for larger changes, how best to approach the work such that the Terraform team can review it and merge it along with other concurrent work.
|
||||||
|
|
||||||
If the bug you wish to fix or enhancement you wish to implement isn't already covered by a GitHub issue that contains feedback from the Terraform team, please do start a discussion (either in [a new GitHub issue](https://github.com/hashicorp/terraform/issues/new/choose) or an existing one, as appropriate) before you invest significant development time. If you mention your intent to implement the change described in your issue, the Terraform team can, as best as possible, prioritize including implementation-related feedback in the subsequent discussion.
|
If the bug you wish to fix or enhancement you wish to implement isn't already covered by a GitHub issue that contains feedback from the Terraform team, please do start a discussion (either in [a new GitHub issue](https://github.com/placeholderplaceholderplaceholder/opentf/issues/new/choose) or an existing one, as appropriate) before you invest significant development time. If you mention your intent to implement the change described in your issue, the Terraform team can, as best as possible, prioritize including implementation-related feedback in the subsequent discussion.
|
||||||
|
|
||||||
At this time, we do not have a formal process for reviewing outside proposals that significantly change Terraform's workflow, its primary usage patterns, and its language. Additionally, some seemingly simple proposals can have deep effects across Terraform, which is why we strongly suggest starting with an issue-based proposal.
|
At this time, we do not have a formal process for reviewing outside proposals that significantly change Terraform's workflow, its primary usage patterns, and its language. Additionally, some seemingly simple proposals can have deep effects across Terraform, which is why we strongly suggest starting with an issue-based proposal.
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ There are some areas of Terraform which are of special concern to the Terraform
|
|||||||
|
|
||||||
The Terraform team is not merging PRs for new state storage backends at the current time. Our priority regarding state storage backends is to find maintainers for existing backends and remove those backends without maintainers.
|
The Terraform team is not merging PRs for new state storage backends at the current time. Our priority regarding state storage backends is to find maintainers for existing backends and remove those backends without maintainers.
|
||||||
|
|
||||||
Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file for the status of a given backend. Community members with an interest in a particular standard backend are welcome to help maintain it.
|
Please see the [CODEOWNERS](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/CODEOWNERS) file for the status of a given backend. Community members with an interest in a particular standard backend are welcome to help maintain it.
|
||||||
|
|
||||||
Currently, merging state storage backends places a significant burden on the Terraform team. The team must set up an environment and cloud service provider account, or a new database/storage/key-value service, in order to build and test remote state storage backends. The time and complexity of doing so prevents us from moving Terraform forward in other ways.
|
Currently, merging state storage backends places a significant burden on the Terraform team. The team must set up an environment and cloud service provider account, or a new database/storage/key-value service, in order to build and test remote state storage backends. The time and complexity of doing so prevents us from moving Terraform forward in other ways.
|
||||||
|
|
||||||
@ -78,17 +78,17 @@ From our [documentation](https://www.terraform.io/docs/provisioners/index.html):
|
|||||||
|
|
||||||
The Terraform team is in the process of building a way forward which continues to decrease reliance on provisioners. In the mean time however, as our documentation indicates, they are a tool of last resort. As such expect that PRs and issues for provisioners are not high in priority.
|
The Terraform team is in the process of building a way forward which continues to decrease reliance on provisioners. In the mean time however, as our documentation indicates, they are a tool of last resort. As such expect that PRs and issues for provisioners are not high in priority.
|
||||||
|
|
||||||
Please see the [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file for the status of a given provisioner. Community members with an interest in a particular provisioner are welcome to help maintain it.
|
Please see the [CODEOWNERS](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/CODEOWNERS) file for the status of a given provisioner. Community members with an interest in a particular provisioner are welcome to help maintain it.
|
||||||
|
|
||||||
#### Maintainers
|
#### Maintainers
|
||||||
|
|
||||||
Maintainers are key contributors to our Open Source project. They contribute their time and expertise and we ask that the community take extra special care to be mindful of this when interacting with them.
|
Maintainers are key contributors to our Open Source project. They contribute their time and expertise and we ask that the community take extra special care to be mindful of this when interacting with them.
|
||||||
|
|
||||||
For code that has a listed maintainer or maintainers in our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file, the Terraform team will highlight them for participation in PRs which relate to the area of code they maintain. The expectation is that a maintainer will review the code and work with the PR contributor before the code is merged by the Terraform team.
|
For code that has a listed maintainer or maintainers in our [CODEOWNERS](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/CODEOWNERS) file, the Terraform team will highlight them for participation in PRs which relate to the area of code they maintain. The expectation is that a maintainer will review the code and work with the PR contributor before the code is merged by the Terraform team.
|
||||||
|
|
||||||
There is no expectation on response time for our maintainers; they may be indisposed for prolonged periods of time. Please be patient. Discussions on when code becomes "unmaintained" will be on a case-by-case basis.
|
There is no expectation on response time for our maintainers; they may be indisposed for prolonged periods of time. Please be patient. Discussions on when code becomes "unmaintained" will be on a case-by-case basis.
|
||||||
|
|
||||||
If an an unmaintained area of code interests you and you'd like to become a maintainer, you may simply make a PR against our [CODEOWNERS](https://github.com/hashicorp/terraform/blob/main/CODEOWNERS) file with your github handle attached to the approriate area. If there is a maintainer or team of maintainers for that area, please coordinate with them as necessary.
|
If an an unmaintained area of code interests you and you'd like to become a maintainer, you may simply make a PR against our [CODEOWNERS](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/CODEOWNERS) file with your github handle attached to the approriate area. If there is a maintainer or team of maintainers for that area, please coordinate with them as necessary.
|
||||||
|
|
||||||
### Pull Request Lifecycle
|
### Pull Request Lifecycle
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ If an an unmaintained area of code interests you and you'd like to become a main
|
|||||||
2. Once you believe your pull request is ready to be merged you can create your pull request.
|
2. Once you believe your pull request is ready to be merged you can create your pull request.
|
||||||
3. When time permits Terraform's core team members will look over your contribution and either merge, or provide comments letting you know if there is anything left to do. It may take some time for us to respond. We may also have questions that we need answered about the code, either because something doesn't make sense to us or because we want to understand your thought process. We kindly ask that you do not target specific team members.
|
3. When time permits Terraform's core team members will look over your contribution and either merge, or provide comments letting you know if there is anything left to do. It may take some time for us to respond. We may also have questions that we need answered about the code, either because something doesn't make sense to us or because we want to understand your thought process. We kindly ask that you do not target specific team members.
|
||||||
4. If we have requested changes, you can either make those changes or, if you disagree with the suggested changes, we can have a conversation about our reasoning and agree on a path forward. This may be a multi-step process. Our view is that pull requests are a chance to collaborate, and we welcome conversations about how to do things better. It is the contributor's responsibility to address any changes requested. While reviewers are happy to give guidance, it is unsustainable for us to perform the coding work necessary to get a PR into a mergeable state.
|
4. If we have requested changes, you can either make those changes or, if you disagree with the suggested changes, we can have a conversation about our reasoning and agree on a path forward. This may be a multi-step process. Our view is that pull requests are a chance to collaborate, and we welcome conversations about how to do things better. It is the contributor's responsibility to address any changes requested. While reviewers are happy to give guidance, it is unsustainable for us to perform the coding work necessary to get a PR into a mergeable state.
|
||||||
5. Once all outstanding comments and checklist items have been addressed, your contribution will be merged! Merged PRs may or may not be included in the next release based on changes the Terraform teams deems as breaking or not. The core team takes care of updating the [CHANGELOG.md](https://github.com/hashicorp/terraform/blob/main/CHANGELOG.md) as they merge.
|
5. Once all outstanding comments and checklist items have been addressed, your contribution will be merged! Merged PRs may or may not be included in the next release based on changes the Terraform teams deems as breaking or not. The core team takes care of updating the [CHANGELOG.md](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/CHANGELOG.md) as they merge.
|
||||||
6. In some cases, we might decide that a PR should be closed without merging. We'll make sure to provide clear reasoning when this happens. Following the recommended process above is one of the ways to ensure you don't spend time on a PR we can't or won't merge.
|
6. In some cases, we might decide that a PR should be closed without merging. We'll make sure to provide clear reasoning when this happens. Following the recommended process above is one of the ways to ensure you don't spend time on a PR we can't or won't merge.
|
||||||
|
|
||||||
#### Getting Your Pull Requests Merged Faster
|
#### Getting Your Pull Requests Merged Faster
|
||||||
@ -128,7 +128,7 @@ Terraform providers are not maintained in this repository; you can find relevant
|
|||||||
repository and relevant issue tracker for each provider within the
|
repository and relevant issue tracker for each provider within the
|
||||||
[Terraform Registry index](https://registry.terraform.io/browse/providers).
|
[Terraform Registry index](https://registry.terraform.io/browse/providers).
|
||||||
|
|
||||||
This repository also does not include the source code for some other parts of the Terraform product including Terraform Cloud, Terraform Enterprise, and the Terraform Registry. Those components are not open source, though if you have feedback about them (including bug reports) please do feel free to [open a GitHub issue on this repository](https://github.com/hashicorp/terraform/issues/new/choose).
|
This repository also does not include the source code for some other parts of the Terraform product including Terraform Cloud, Terraform Enterprise, and the Terraform Registry. Those components are not open source, though if you have feedback about them (including bug reports) please do feel free to [open a GitHub issue on this repository](https://github.com/placeholderplaceholderplaceholder/opentf/issues/new/choose).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ If you wish to work on the Terraform CLI source code, you'll first need to insta
|
|||||||
|
|
||||||
At this time the Terraform development environment is targeting only Linux and Mac OS X systems. While Terraform itself is compatible with Windows, unfortunately the unit test suite currently contains Unix-specific assumptions around maximum path lengths, path separators, etc.
|
At this time the Terraform development environment is targeting only Linux and Mac OS X systems. While Terraform itself is compatible with Windows, unfortunately the unit test suite currently contains Unix-specific assumptions around maximum path lengths, path separators, etc.
|
||||||
|
|
||||||
Refer to the file [`.go-version`](https://github.com/hashicorp/terraform/blob/main/.go-version) to see which version of Go Terraform is currently built with. Other versions will often work, but if you run into any build or testing problems please try with the specific Go version indicated. You can optionally simplify the installation of multiple specific versions of Go on your system by installing [`goenv`](https://github.com/syndbg/goenv), which reads `.go-version` and automatically selects the correct Go version.
|
Refer to the file [`.go-version`](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/.go-version) to see which version of Go Terraform is currently built with. Other versions will often work, but if you run into any build or testing problems please try with the specific Go version indicated. You can optionally simplify the installation of multiple specific versions of Go on your system by installing [`goenv`](https://github.com/syndbg/goenv), which reads `.go-version` and automatically selects the correct Go version.
|
||||||
|
|
||||||
Use Git to clone this repository into a location of your choice. Terraform is using [Go Modules](https://blog.golang.org/using-go-modules), and so you should *not* clone it inside your `GOPATH`.
|
Use Git to clone this repository into a location of your choice. Terraform is using [Go Modules](https://blog.golang.org/using-go-modules), and so you should *not* clone it inside your `GOPATH`.
|
||||||
|
|
||||||
|
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@ -4,7 +4,7 @@ Describe in detail the changes you are proposing, and the rationale.
|
|||||||
|
|
||||||
See the contributing guide:
|
See the contributing guide:
|
||||||
|
|
||||||
https://github.com/hashicorp/terraform/blob/main/.github/CONTRIBUTING.md
|
https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/.github/CONTRIBUTING.md
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
4
.github/scripts/get_product_version.sh
vendored
4
.github/scripts/get_product_version.sh
vendored
@ -28,7 +28,7 @@ LDFLAGS="-w -s"
|
|||||||
if [[ "$EXPERIMENTS_ENABLED" == 1 ]]; then
|
if [[ "$EXPERIMENTS_ENABLED" == 1 ]]; then
|
||||||
LDFLAGS="${LDFLAGS} -X 'main.experimentsAllowed=yes'"
|
LDFLAGS="${LDFLAGS} -X 'main.experimentsAllowed=yes'"
|
||||||
fi
|
fi
|
||||||
LDFLAGS="${LDFLAGS} -X 'github.com/hashicorp/terraform/version.dev=no'"
|
LDFLAGS="${LDFLAGS} -X 'github.com/placeholderplaceholderplaceholder/opentf/version.dev=no'"
|
||||||
|
|
||||||
echo "Building Terraform CLI ${VERSION}"
|
echo "Building Terraform CLI ${VERSION}"
|
||||||
if [[ "$EXPERIMENTS_ENABLED" == 1 ]]; then
|
if [[ "$EXPERIMENTS_ENABLED" == 1 ]]; then
|
||||||
@ -38,4 +38,4 @@ echo "product-version=${VERSION}" | tee -a "${GITHUB_OUTPUT}"
|
|||||||
echo "product-version-base=${BASE_VERSION}" | tee -a "${GITHUB_OUTPUT}"
|
echo "product-version-base=${BASE_VERSION}" | tee -a "${GITHUB_OUTPUT}"
|
||||||
echo "product-version-pre=${PRERELEASE}" | tee -a "${GITHUB_OUTPUT}"
|
echo "product-version-pre=${PRERELEASE}" | tee -a "${GITHUB_OUTPUT}"
|
||||||
echo "experiments=${EXPERIMENTS_ENABLED}" | tee -a "${GITHUB_OUTPUT}"
|
echo "experiments=${EXPERIMENTS_ENABLED}" | tee -a "${GITHUB_OUTPUT}"
|
||||||
echo "go-ldflags=${LDFLAGS}" | tee -a "${GITHUB_OUTPUT}"
|
echo "go-ldflags=${LDFLAGS}" | tee -a "${GITHUB_OUTPUT}"
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
|
|
||||||
url_docker_registry_dockerhub = "https://hub.docker.com/r/hashicorp/terraform"
|
url_docker_registry_dockerhub = "https://hub.docker.com/r/hashicorp/terraform"
|
||||||
url_docker_registry_ecr = "https://gallery.ecr.aws/hashicorp/terraform"
|
url_docker_registry_ecr = "https://gallery.ecr.aws/hashicorp/terraform"
|
||||||
url_license = "https://github.com/hashicorp/terraform/blob/main/LICENSE"
|
url_license = "https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/LICENSE"
|
||||||
url_project_website = "https://www.terraform.io"
|
url_project_website = "https://www.terraform.io"
|
||||||
url_source_repository = "https://github.com/hashicorp/terraform"
|
url_source_repository = "https://github.com/hashicorp/terraform"
|
||||||
|
4
.tfdev
4
.tfdev
@ -1,6 +1,6 @@
|
|||||||
version_info {
|
version_info {
|
||||||
version_var = "github.com/hashicorp/terraform/version.Version"
|
version_var = "github.com/placeholderplaceholderplaceholder/opentf/version.Version"
|
||||||
prerelease_var = "github.com/hashicorp/terraform/version.Prerelease"
|
prerelease_var = "github.com/placeholderplaceholderplaceholder/opentf/version.Prerelease"
|
||||||
}
|
}
|
||||||
|
|
||||||
version_exec = false
|
version_exec = false
|
||||||
|
@ -7,7 +7,7 @@ When a bug report is filed, our goal is to either:
|
|||||||
|
|
||||||
## Process
|
## Process
|
||||||
|
|
||||||
### 1. [Newly created issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Anew+label%3Abug+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+-label%3A%22waiting-response%22+-label%3Aexplained+) require initial filtering.
|
### 1. [Newly created issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Anew+label%3Abug+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+-label%3A%22waiting-response%22+-label%3Aexplained+) require initial filtering.
|
||||||
|
|
||||||
These are raw reports that need categorization and support clarifying them. They need the following done:
|
These are raw reports that need categorization and support clarifying them. They need the following done:
|
||||||
|
|
||||||
@ -18,26 +18,26 @@ These are raw reports that need categorization and support clarifying them. They
|
|||||||
|
|
||||||
If an issue requires discussion with the user to get it out of this initial state, leave "new" on there and label it "waiting-response" until this phase of triage is done.
|
If an issue requires discussion with the user to get it out of this initial state, leave "new" on there and label it "waiting-response" until this phase of triage is done.
|
||||||
|
|
||||||
Once this initial filtering has been done, remove the new label. If an issue subjectively looks very high-impact and likely to impact many users, assign it to the [appropriate milestone](https://github.com/hashicorp/terraform/milestones) to mark it as being urgent.
|
Once this initial filtering has been done, remove the new label. If an issue subjectively looks very high-impact and likely to impact many users, assign it to the [appropriate milestone](https://github.com/placeholderplaceholderplaceholder/opentf/milestones) to mark it as being urgent.
|
||||||
|
|
||||||
### 2. Clarify [unreproduced issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+created%3A%3E2020-05-01+-label%3Abackend%2Fk8s+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Acreated-asc+)
|
### 2. Clarify [unreproduced issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+created%3A%3E2020-05-01+-label%3Abackend%2Fk8s+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Acreated-asc+)
|
||||||
|
|
||||||
A core team member initially determines whether the issue is immediately reproducible. If they cannot readily reproduce it, they label it "waiting for reproduction" and correspond with the reporter to describe what is needed. When the issue is reproduced by a core team member, they label it "confirmed".
|
A core team member initially determines whether the issue is immediately reproducible. If they cannot readily reproduce it, they label it "waiting for reproduction" and correspond with the reporter to describe what is needed. When the issue is reproduced by a core team member, they label it "confirmed".
|
||||||
|
|
||||||
"confirmed" issues should have a clear reproduction case. Anyone who picks it up should be able to reproduce it readily without having to invent any details.
|
"confirmed" issues should have a clear reproduction case. Anyone who picks it up should be able to reproduce it readily without having to invent any details.
|
||||||
|
|
||||||
Note that the link above excludes issues reported before May 2020; this is to avoid including issues that were reported prior to this new process being implemented. [Unreproduced issues reported before May 2020](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+created%3A%3C2020-05-01+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Areactions-%2B1-desc) will be triaged as capacity permits.
|
Note that the link above excludes issues reported before May 2020; this is to avoid including issues that were reported prior to this new process being implemented. [Unreproduced issues reported before May 2020](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+created%3A%3C2020-05-01+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Areactions-%2B1-desc) will be triaged as capacity permits.
|
||||||
|
|
||||||
|
|
||||||
### 3. Explain or fix [confirmed issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+-label%3Aexplained+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+)
|
### 3. Explain or fix [confirmed issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+-label%3Aexplained+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+)
|
||||||
The next step for confirmed issues is to either:
|
The next step for confirmed issues is to either:
|
||||||
|
|
||||||
* explain why the behavior is expected, label the issue as "working as designed", and close it, or
|
* explain why the behavior is expected, label the issue as "working as designed", and close it, or
|
||||||
* locate the cause of the defect in the codebase. When the defect is located, and that description is posted on the issue, the issue is labeled "explained". In many cases, this step will get skipped if the fix is obvious, and engineers will jump forward and make a PR.
|
* locate the cause of the defect in the codebase. When the defect is located, and that description is posted on the issue, the issue is labeled "explained". In many cases, this step will get skipped if the fix is obvious, and engineers will jump forward and make a PR.
|
||||||
|
|
||||||
[Confirmed crashes](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Acrash+label%3Abug+-label%3Abackend%2Fk8s+-label%3Aexplained+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+) should generally be considered high impact
|
[Confirmed crashes](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Acrash+label%3Abug+-label%3Abackend%2Fk8s+-label%3Aexplained+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+) should generally be considered high impact
|
||||||
|
|
||||||
### 4. The last step for [explained issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+label%3Aexplained+no%3Amilestone+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+) is to make a PR to fix them.
|
### 4. The last step for [explained issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+label%3Aexplained+no%3Amilestone+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+) is to make a PR to fix them.
|
||||||
|
|
||||||
Explained issues that are expected to be fixed in a future release should be assigned to a milestone
|
Explained issues that are expected to be fixed in a future release should be assigned to a milestone
|
||||||
|
|
||||||
@ -54,32 +54,32 @@ working as designed | confirmed as reported and closed because the behavior
|
|||||||
pending project | issue is confirmed but will require a significant project to fix
|
pending project | issue is confirmed but will require a significant project to fix
|
||||||
|
|
||||||
## Lack of response and unreproducible issues
|
## Lack of response and unreproducible issues
|
||||||
When bugs that have been [labeled waiting response](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+label%3Awaiting-response+-label%3Aexplained+sort%3Aupdated-asc+) or [labeled "waiting for reproduction"](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+label%3A%22waiting+for+reproduction%22+-label%3Aexplained+sort%3Aupdated-asc+) for more than 30 days, we'll use our best judgement to determine whether it's more helpful to close it or prompt the reporter again. If they again go without a response for 30 days, they can be closed with a polite message explaining why and inviting the person to submit the needed information or reproduction case in the future.
|
When bugs that have been [labeled waiting response](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+label%3Awaiting-response+-label%3Aexplained+sort%3Aupdated-asc+) or [labeled "waiting for reproduction"](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+label%3A%22waiting+for+reproduction%22+-label%3Aexplained+sort%3Aupdated-asc+) for more than 30 days, we'll use our best judgement to determine whether it's more helpful to close it or prompt the reporter again. If they again go without a response for 30 days, they can be closed with a polite message explaining why and inviting the person to submit the needed information or reproduction case in the future.
|
||||||
|
|
||||||
The intent of this process is to get fix the maximum number of bugs in Terraform as quickly as possible, and having un-actionable bug reports makes it harder for Terraform Core team members and community contributors to find bugs they can actually work on.
|
The intent of this process is to get fix the maximum number of bugs in Terraform as quickly as possible, and having un-actionable bug reports makes it harder for Terraform Core team members and community contributors to find bugs they can actually work on.
|
||||||
|
|
||||||
## Helpful GitHub Filters
|
## Helpful GitHub Filters
|
||||||
|
|
||||||
### Triage Process
|
### Triage Process
|
||||||
1. [Newly created issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Anew+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+-label%3A%22waiting-response%22+-label%3Aexplained+) require initial filtering.
|
1. [Newly created issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Anew+label%3Abug+-label%3Abackend%2Foss+-label%3Abackend%2Fk8s+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3A%22waiting+for+reproduction%22+-label%3A%22waiting-response%22+-label%3Aexplained+) require initial filtering.
|
||||||
2. Clarify [unreproduced issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+created%3A%3E2020-05-01+-label%3Abackend%2Fk8s+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Acreated-asc+)
|
2. Clarify [unreproduced issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+created%3A%3E2020-05-01+-label%3Abackend%2Fk8s+-label%3Aprovisioner%2Fsalt-masterless+-label%3Adocumentation+-label%3Aprovider%2Fazuredevops+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent+-label%3Abackend%2Fmanta+-label%3Abackend%2Fatlas+-label%3Abackend%2Fetcdv3+-label%3Abackend%2Fetcdv2+-label%3Aconfirmed+-label%3A%22pending+project%22+-label%3Anew+-label%3A%22waiting+for+reproduction%22+-label%3Awaiting-response+-label%3Aexplained+sort%3Acreated-asc+)
|
||||||
3. Explain or fix [confirmed issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+-label%3Aexplained+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+). Prioritize [confirmed crashes](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Acrash+label%3Abug+-label%3Aexplained+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+).
|
3. Explain or fix [confirmed issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+-label%3Aexplained+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+). Prioritize [confirmed crashes](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Acrash+label%3Abug+-label%3Aexplained+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+).
|
||||||
4. Fix [explained issues](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+label%3Aexplained+no%3Amilestone+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+)
|
4. Fix [explained issues](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+label%3Aexplained+no%3Amilestone+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+label%3Aconfirmed+-label%3A%22pending+project%22+)
|
||||||
|
|
||||||
### Other Backlog
|
### Other Backlog
|
||||||
|
|
||||||
[Confirmed needs for documentation fixes](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+label%3Adocumentation++label%3Aconfirmed+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+)
|
[Confirmed needs for documentation fixes](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+label%3Adocumentation++label%3Aconfirmed+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+)
|
||||||
|
|
||||||
[Confirmed bugs that will require significant projects to fix](https://github.com/hashicorp/terraform/issues?q=is%3Aopen+label%3Abug+label%3Aconfirmed+label%3A%22pending+project%22+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+)
|
[Confirmed bugs that will require significant projects to fix](https://github.com/placeholderplaceholderplaceholder/opentf/issues?q=is%3Aopen+label%3Abug+label%3Aconfirmed+label%3A%22pending+project%22+-label%3Abackend%2Fk8s+-label%3Abackend%2Foss+-label%3Abackend%2Fazure+-label%3Abackend%2Fs3+-label%3Abackend%2Fgcs+-label%3Abackend%2Fconsul+-label%3Abackend%2Fartifactory+-label%3Aterraform-cloud+-label%3Abackend%2Fremote+-label%3Abackend%2Fswift+-label%3Abackend%2Fpg+-label%3Abackend%2Ftencent++-label%3Abackend%2Fmanta++-label%3Abackend%2Fatlas++-label%3Abackend%2Fetcdv3++-label%3Abackend%2Fetcdv2+)
|
||||||
|
|
||||||
### Milestone Use
|
### Milestone Use
|
||||||
|
|
||||||
Milestones ending in .x indicate issues assigned to that milestone are intended to be fixed during that release lifecycle. Milestones ending in .0 indicate issues that will be fixed in that major release. For example:
|
Milestones ending in .x indicate issues assigned to that milestone are intended to be fixed during that release lifecycle. Milestones ending in .0 indicate issues that will be fixed in that major release. For example:
|
||||||
|
|
||||||
[0.13.x Milestone](https://github.com/hashicorp/terraform/milestone/17). Issues in this milestone should be considered high-priority but do not block a patch release. All issues in this milestone should be resolved in a 13.x release before the 0.14.0 RC1 ships.
|
[0.13.x Milestone](https://github.com/placeholderplaceholderplaceholder/opentf/milestone/17). Issues in this milestone should be considered high-priority but do not block a patch release. All issues in this milestone should be resolved in a 13.x release before the 0.14.0 RC1 ships.
|
||||||
|
|
||||||
[0.14.0 Milestone](https://github.com/hashicorp/terraform/milestone/18). All issues in this milestone must be fixed before 0.14.0 RC1 ships, and should ideally be fixed before 0.14.0 beta 1 ships.
|
[0.14.0 Milestone](https://github.com/placeholderplaceholderplaceholder/opentf/milestone/18). All issues in this milestone must be fixed before 0.14.0 RC1 ships, and should ideally be fixed before 0.14.0 beta 1 ships.
|
||||||
|
|
||||||
[0.14.x Milestone](https://github.com/hashicorp/terraform/milestone/20). Issues in this milestone are expected to be addressed at some point in the 0.14.x lifecycle, before 0.15.0. All issues in this milestone should be resolved in a 14.x release before the 0.15.0 RC1 ships.
|
[0.14.x Milestone](https://github.com/placeholderplaceholderplaceholder/opentf/milestone/20). Issues in this milestone are expected to be addressed at some point in the 0.14.x lifecycle, before 0.15.0. All issues in this milestone should be resolved in a 14.x release before the 0.15.0 RC1 ships.
|
||||||
|
|
||||||
[0.15.0 Milestone](https://github.com/hashicorp/terraform/milestone/19). All issues in this milestone must be fixed before 0.15.0 RC1 ships, and should ideally be fixed before 0.15.0 beta 1 ships.
|
[0.15.0 Milestone](https://github.com/placeholderplaceholderplaceholder/opentf/milestone/19). All issues in this milestone must be fixed before 0.15.0 RC1 ships, and should ideally be fixed before 0.15.0 beta 1 ships.
|
||||||
|
@ -6,7 +6,7 @@ However, if you'd like to build Terraform yourself, you can do so using the Go b
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
1. Ensure you've installed the Go language version specified in [`.go-version`](https://github.com/hashicorp/terraform/blob/main/.go-version).
|
1. Ensure you've installed the Go language version specified in [`.go-version`](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/.go-version).
|
||||||
2. Clone this repository to a location of your choice.
|
2. Clone this repository to a location of your choice.
|
||||||
|
|
||||||
## Terraform Build Options
|
## Terraform Build Options
|
||||||
@ -18,7 +18,7 @@ Terraform accepts certain options passed using `ldflags` at build time which con
|
|||||||
Terraform will include a `-dev` flag when reporting its own version (ex: 1.5.0-dev) unless `version.dev` is set to `no`:
|
Terraform will include a `-dev` flag when reporting its own version (ex: 1.5.0-dev) unless `version.dev` is set to `no`:
|
||||||
|
|
||||||
```
|
```
|
||||||
go build -ldflags "-w -s -X 'github.com/hashicorp/terraform/version.dev=no'" -o bin/ .
|
go build -ldflags "-w -s -X 'github.com/placeholderplaceholderplaceholder/opentf/version.dev=no'" -o bin/ .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Experimental Features
|
### Experimental Features
|
||||||
|
22
CHANGELOG.md
22
CHANGELOG.md
@ -21,14 +21,14 @@ BUG FIXES:
|
|||||||
|
|
||||||
For information on prior major and minor releases, see their changelogs:
|
For information on prior major and minor releases, see their changelogs:
|
||||||
|
|
||||||
* [v1.5](https://github.com/hashicorp/terraform/blob/v1.5/CHANGELOG.md)
|
* [v1.5](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.5/CHANGELOG.md)
|
||||||
* [v1.4](https://github.com/hashicorp/terraform/blob/v1.4/CHANGELOG.md)
|
* [v1.4](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.4/CHANGELOG.md)
|
||||||
* [v1.3](https://github.com/hashicorp/terraform/blob/v1.3/CHANGELOG.md)
|
* [v1.3](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.3/CHANGELOG.md)
|
||||||
* [v1.2](https://github.com/hashicorp/terraform/blob/v1.2/CHANGELOG.md)
|
* [v1.2](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.2/CHANGELOG.md)
|
||||||
* [v1.1](https://github.com/hashicorp/terraform/blob/v1.1/CHANGELOG.md)
|
* [v1.1](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.1/CHANGELOG.md)
|
||||||
* [v1.0](https://github.com/hashicorp/terraform/blob/v1.0/CHANGELOG.md)
|
* [v1.0](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v1.0/CHANGELOG.md)
|
||||||
* [v0.15](https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md)
|
* [v0.15](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v0.15/CHANGELOG.md)
|
||||||
* [v0.14](https://github.com/hashicorp/terraform/blob/v0.14/CHANGELOG.md)
|
* [v0.14](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v0.14/CHANGELOG.md)
|
||||||
* [v0.13](https://github.com/hashicorp/terraform/blob/v0.13/CHANGELOG.md)
|
* [v0.13](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v0.13/CHANGELOG.md)
|
||||||
* [v0.12](https://github.com/hashicorp/terraform/blob/v0.12/CHANGELOG.md)
|
* [v0.12](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v0.12/CHANGELOG.md)
|
||||||
* [v0.11 and earlier](https://github.com/hashicorp/terraform/blob/v0.11/CHANGELOG.md)
|
* [v0.11 and earlier](https://github.com/placeholderplaceholderplaceholder/opentf/blob/v0.11/CHANGELOG.md)
|
||||||
|
@ -29,4 +29,4 @@ This repository contains only OpenTF core, which includes the command line inter
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[Mozilla Public License v2.0](https://github.com/OpenFTFoundation/OpenTF/blob/main/LICENSE)
|
[Mozilla Public License v2.0](https://github.com/placeholderplaceholderplaceholder/opentf/blob/main/LICENSE)
|
||||||
|
@ -10,8 +10,8 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/hashicorp/go-checkpoint"
|
"github.com/hashicorp/go-checkpoint"
|
||||||
"github.com/hashicorp/terraform/internal/command"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command"
|
||||||
"github.com/hashicorp/terraform/internal/command/cliconfig"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/cliconfig"
|
||||||
"go.opentelemetry.io/otel/codes"
|
"go.opentelemetry.io/otel/codes"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
16
commands.go
16
commands.go
@ -14,14 +14,14 @@ import (
|
|||||||
"github.com/hashicorp/terraform-svchost/disco"
|
"github.com/hashicorp/terraform-svchost/disco"
|
||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/command"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command"
|
||||||
"github.com/hashicorp/terraform/internal/command/cliconfig"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/cliconfig"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/command/webbrowser"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/webbrowser"
|
||||||
"github.com/hashicorp/terraform/internal/getproviders"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/getproviders"
|
||||||
pluginDiscovery "github.com/hashicorp/terraform/internal/plugin/discovery"
|
pluginDiscovery "github.com/placeholderplaceholderplaceholder/opentf/internal/plugin/discovery"
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
)
|
)
|
||||||
|
|
||||||
// runningInAutomationEnvName gives the name of an environment variable that
|
// runningInAutomationEnvName gives the name of an environment variable that
|
||||||
|
@ -23,7 +23,7 @@ in more detail in a corresponding section below.
|
|||||||
Each time a user runs the `terraform` program, aside from some initial
|
Each time a user runs the `terraform` program, aside from some initial
|
||||||
bootstrapping in the root package (not shown in the diagram) execution
|
bootstrapping in the root package (not shown in the diagram) execution
|
||||||
transfers immediately into one of the "command" implementations in
|
transfers immediately into one of the "command" implementations in
|
||||||
[the `command` package](https://pkg.go.dev/github.com/hashicorp/terraform/internal/command).
|
[the `command` package](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/command).
|
||||||
The mapping between the user-facing command names and
|
The mapping between the user-facing command names and
|
||||||
their corresponding `command` package types can be found in the `commands.go`
|
their corresponding `command` package types can be found in the `commands.go`
|
||||||
file in the root of the repository.
|
file in the root of the repository.
|
||||||
@ -35,7 +35,7 @@ but it applies to the main Terraform workflow commands `terraform plan` and
|
|||||||
For these commands, the role of the command implementation is to read and parse
|
For these commands, the role of the command implementation is to read and parse
|
||||||
any command line arguments, command line options, and environment variables
|
any command line arguments, command line options, and environment variables
|
||||||
that are needed for the given command and use them to produce a
|
that are needed for the given command and use them to produce a
|
||||||
[`backend.Operation`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/backend#Operation)
|
[`backend.Operation`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/backend#Operation)
|
||||||
object that describes an action to be taken.
|
object that describes an action to be taken.
|
||||||
|
|
||||||
An _operation_ consists of:
|
An _operation_ consists of:
|
||||||
@ -52,12 +52,12 @@ An _operation_ consists of:
|
|||||||
The operation is then passed to the currently-selected
|
The operation is then passed to the currently-selected
|
||||||
[backend](https://www.terraform.io/docs/backends/index.html). Each backend name
|
[backend](https://www.terraform.io/docs/backends/index.html). Each backend name
|
||||||
corresponds to an implementation of
|
corresponds to an implementation of
|
||||||
[`backend.Backend`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/backend#Backend), using a
|
[`backend.Backend`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/backend#Backend), using a
|
||||||
mapping table in
|
mapping table in
|
||||||
[the `backend/init` package](https://pkg.go.dev/github.com/hashicorp/terraform/internal/backend/init).
|
[the `backend/init` package](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/backend/init).
|
||||||
|
|
||||||
Backends that are able to execute operations additionally implement
|
Backends that are able to execute operations additionally implement
|
||||||
[`backend.Enhanced`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/backend#Enhanced);
|
[`backend.Enhanced`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/backend#Enhanced);
|
||||||
the command-handling code calls `Operation` with the operation it has
|
the command-handling code calls `Operation` with the operation it has
|
||||||
constructed, and then the backend is responsible for executing that action.
|
constructed, and then the backend is responsible for executing that action.
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ backend and Terraform Cloud's backends (`remote`, `cloud`) perform operations.
|
|||||||
|
|
||||||
Thus, most backends do _not_ implement this interface, and so the `command` package wraps these
|
Thus, most backends do _not_ implement this interface, and so the `command` package wraps these
|
||||||
backends in an instance of
|
backends in an instance of
|
||||||
[`local.Local`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/backend/local#Local),
|
[`local.Local`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/backend/local#Local),
|
||||||
causing the operation to be executed locally within the `terraform` process itself.
|
causing the operation to be executed locally within the `terraform` process itself.
|
||||||
|
|
||||||
## Backends
|
## Backends
|
||||||
@ -78,19 +78,19 @@ A _backend_ determines where Terraform should store its state snapshots.
|
|||||||
As described above, the `local` backend also executes operations on behalf of most other
|
As described above, the `local` backend also executes operations on behalf of most other
|
||||||
backends. It uses a _state manager_
|
backends. It uses a _state manager_
|
||||||
(either
|
(either
|
||||||
[`statemgr.Filesystem`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states/statemgr#Filesystem) if the
|
[`statemgr.Filesystem`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr#Filesystem) if the
|
||||||
local backend is being used directly, or an implementation provided by whatever
|
local backend is being used directly, or an implementation provided by whatever
|
||||||
backend is being wrapped) to retrieve the current state for the workspace
|
backend is being wrapped) to retrieve the current state for the workspace
|
||||||
specified in the operation, then uses the _config loader_ to load and do
|
specified in the operation, then uses the _config loader_ to load and do
|
||||||
initial processing/validation of the configuration specified in the
|
initial processing/validation of the configuration specified in the
|
||||||
operation. It then uses these, along with the other settings given in the
|
operation. It then uses these, along with the other settings given in the
|
||||||
operation, to construct a
|
operation, to construct a
|
||||||
[`terraform.Context`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#Context),
|
[`terraform.Context`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#Context),
|
||||||
which is the main object that actually performs Terraform operations.
|
which is the main object that actually performs Terraform operations.
|
||||||
|
|
||||||
The `local` backend finally calls an appropriate method on that context to
|
The `local` backend finally calls an appropriate method on that context to
|
||||||
begin execution of the relevant command, such as
|
begin execution of the relevant command, such as
|
||||||
[`Plan`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#Context.Plan)
|
[`Plan`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#Context.Plan)
|
||||||
or
|
or
|
||||||
[`Apply`](), which in turn constructs a graph using a _graph builder_,
|
[`Apply`](), which in turn constructs a graph using a _graph builder_,
|
||||||
described in a later section.
|
described in a later section.
|
||||||
@ -98,21 +98,21 @@ described in a later section.
|
|||||||
## Configuration Loader
|
## Configuration Loader
|
||||||
|
|
||||||
The top-level configuration structure is represented by model types in
|
The top-level configuration structure is represented by model types in
|
||||||
[package `configs`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/configs).
|
[package `configs`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/configs).
|
||||||
A whole configuration (the root module plus all of its descendent modules)
|
A whole configuration (the root module plus all of its descendent modules)
|
||||||
is represented by
|
is represented by
|
||||||
[`configs.Config`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/configs#Config).
|
[`configs.Config`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/configs#Config).
|
||||||
|
|
||||||
The `configs` package contains some low-level functionality for constructing
|
The `configs` package contains some low-level functionality for constructing
|
||||||
configuration objects, but the main entry point is in the sub-package
|
configuration objects, but the main entry point is in the sub-package
|
||||||
[`configload`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/configs/configload]),
|
[`configload`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configload]),
|
||||||
via
|
via
|
||||||
[`configload.Loader`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/configs/configload#Loader).
|
[`configload.Loader`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configload#Loader).
|
||||||
A loader deals with all of the details of installing child modules
|
A loader deals with all of the details of installing child modules
|
||||||
(during `terraform init`) and then locating those modules again when a
|
(during `terraform init`) and then locating those modules again when a
|
||||||
configuration is loaded by a backend. It takes the path to a root module
|
configuration is loaded by a backend. It takes the path to a root module
|
||||||
and recursively loads all of the child modules to produce a single
|
and recursively loads all of the child modules to produce a single
|
||||||
[`configs.Config`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/configs#Config)
|
[`configs.Config`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/configs#Config)
|
||||||
representing the entire configuration.
|
representing the entire configuration.
|
||||||
|
|
||||||
Terraform expects configuration files written in the Terraform language, which
|
Terraform expects configuration files written in the Terraform language, which
|
||||||
@ -132,17 +132,17 @@ A _state manager_ is responsible for storing and retrieving snapshots of the
|
|||||||
[Terraform state](https://www.terraform.io/docs/language/state/index.html)
|
[Terraform state](https://www.terraform.io/docs/language/state/index.html)
|
||||||
for a particular workspace. Each manager is an implementation of
|
for a particular workspace. Each manager is an implementation of
|
||||||
some combination of interfaces in
|
some combination of interfaces in
|
||||||
[the `statemgr` package](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states/statemgr),
|
[the `statemgr` package](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr),
|
||||||
with most practical managers implementing the full set of operations
|
with most practical managers implementing the full set of operations
|
||||||
described by
|
described by
|
||||||
[`statemgr.Full`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states/statemgr#Full)
|
[`statemgr.Full`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr#Full)
|
||||||
provided by a _backend_. The smaller interfaces exist primarily for use in
|
provided by a _backend_. The smaller interfaces exist primarily for use in
|
||||||
other function signatures to be explicit about what actions the function might
|
other function signatures to be explicit about what actions the function might
|
||||||
take on the state manager; there is little reason to write a state manager
|
take on the state manager; there is little reason to write a state manager
|
||||||
that does not implement all of `statemgr.Full`.
|
that does not implement all of `statemgr.Full`.
|
||||||
|
|
||||||
The implementation
|
The implementation
|
||||||
[`statemgr.Filesystem`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states/statemgr#Filesystem) is used
|
[`statemgr.Filesystem`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr#Filesystem) is used
|
||||||
by default (by the `local` backend) and is responsible for the familiar
|
by default (by the `local` backend) and is responsible for the familiar
|
||||||
`terraform.tfstate` local file that most Terraform users start with, before
|
`terraform.tfstate` local file that most Terraform users start with, before
|
||||||
they switch to [remote state](https://www.terraform.io/docs/language/state/remote.html).
|
they switch to [remote state](https://www.terraform.io/docs/language/state/remote.html).
|
||||||
@ -151,7 +151,7 @@ Each of these saves and retrieves state via a remote network service
|
|||||||
appropriate to the backend that creates it.
|
appropriate to the backend that creates it.
|
||||||
|
|
||||||
A state manager accepts and returns a state snapshot as a
|
A state manager accepts and returns a state snapshot as a
|
||||||
[`states.State`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states#State)
|
[`states.State`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states#State)
|
||||||
object. The state manager is responsible for exactly how that object is
|
object. The state manager is responsible for exactly how that object is
|
||||||
serialized and stored, but all state managers at the time of writing use
|
serialized and stored, but all state managers at the time of writing use
|
||||||
the same JSON serialization format, storing the resulting JSON bytes in some
|
the same JSON serialization format, storing the resulting JSON bytes in some
|
||||||
@ -160,7 +160,7 @@ kind of arbitrary blob store.
|
|||||||
## Graph Builder
|
## Graph Builder
|
||||||
|
|
||||||
A _graph builder_ is called by a
|
A _graph builder_ is called by a
|
||||||
[`terraform.Context`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#Context)
|
[`terraform.Context`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#Context)
|
||||||
method (e.g. `Plan` or `Apply`) to produce the graph that will be used
|
method (e.g. `Plan` or `Apply`) to produce the graph that will be used
|
||||||
to represent the necessary steps for that operation and the dependency
|
to represent the necessary steps for that operation and the dependency
|
||||||
relationships between them.
|
relationships between them.
|
||||||
@ -170,7 +170,7 @@ In most cases, the
|
|||||||
graphs each represent a specific object in the configuration, or something
|
graphs each represent a specific object in the configuration, or something
|
||||||
derived from those configuration objects. For example, each `resource` block
|
derived from those configuration objects. For example, each `resource` block
|
||||||
in the configuration has one corresponding
|
in the configuration has one corresponding
|
||||||
[`GraphNodeConfigResource`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#GraphNodeConfigResource)
|
[`GraphNodeConfigResource`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#GraphNodeConfigResource)
|
||||||
vertex representing it in the "plan" graph. (Terraform Core uses terminology
|
vertex representing it in the "plan" graph. (Terraform Core uses terminology
|
||||||
inconsistently, describing graph _vertices_ also as graph _nodes_ in various
|
inconsistently, describing graph _vertices_ also as graph _nodes_ in various
|
||||||
places. These both describe the same concept.)
|
places. These both describe the same concept.)
|
||||||
@ -187,23 +187,23 @@ graph from the set of changes described in the plan that is being applied.
|
|||||||
|
|
||||||
The graph builders all work in terms of a sequence of _transforms_, which
|
The graph builders all work in terms of a sequence of _transforms_, which
|
||||||
are implementations of
|
are implementations of
|
||||||
[`terraform.GraphTransformer`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#GraphTransformer).
|
[`terraform.GraphTransformer`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#GraphTransformer).
|
||||||
Implementations of this interface just take a graph and mutate it in any
|
Implementations of this interface just take a graph and mutate it in any
|
||||||
way needed, and so the set of available transforms is quite varied. Some
|
way needed, and so the set of available transforms is quite varied. Some
|
||||||
important examples include:
|
important examples include:
|
||||||
|
|
||||||
* [`ConfigTransformer`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#ConfigTransformer),
|
* [`ConfigTransformer`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#ConfigTransformer),
|
||||||
which creates a graph vertex for each `resource` block in the configuration.
|
which creates a graph vertex for each `resource` block in the configuration.
|
||||||
|
|
||||||
* [`StateTransformer`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#StateTransformer),
|
* [`StateTransformer`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#StateTransformer),
|
||||||
which creates a graph vertex for each resource instance currently tracked
|
which creates a graph vertex for each resource instance currently tracked
|
||||||
in the state.
|
in the state.
|
||||||
|
|
||||||
* [`ReferenceTransformer`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#ReferenceTransformer),
|
* [`ReferenceTransformer`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#ReferenceTransformer),
|
||||||
which analyses the configuration to find dependencies between resources and
|
which analyses the configuration to find dependencies between resources and
|
||||||
other objects and creates any necessary "happens after" edges for these.
|
other objects and creates any necessary "happens after" edges for these.
|
||||||
|
|
||||||
* [`ProviderTransformer`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#ProviderTransformer),
|
* [`ProviderTransformer`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#ProviderTransformer),
|
||||||
which associates each resource or resource instance with exactly one
|
which associates each resource or resource instance with exactly one
|
||||||
provider configuration (implementing
|
provider configuration (implementing
|
||||||
[the inheritance rules](https://www.terraform.io/docs/language/modules/develop/providers.html))
|
[the inheritance rules](https://www.terraform.io/docs/language/modules/develop/providers.html))
|
||||||
@ -217,7 +217,7 @@ builder uses a different subset of these depending on the needs of the
|
|||||||
operation that is being performed.
|
operation that is being performed.
|
||||||
|
|
||||||
The result of graph building is a
|
The result of graph building is a
|
||||||
[`terraform.Graph`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#Graph), which
|
[`terraform.Graph`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#Graph), which
|
||||||
can then be processed using a _graph walker_.
|
can then be processed using a _graph walker_.
|
||||||
|
|
||||||
## Graph Walk
|
## Graph Walk
|
||||||
@ -225,17 +225,17 @@ can then be processed using a _graph walker_.
|
|||||||
The process of walking the graph visits each vertex of that graph in a way
|
The process of walking the graph visits each vertex of that graph in a way
|
||||||
which respects the "happens after" edges in the graph. The walk algorithm
|
which respects the "happens after" edges in the graph. The walk algorithm
|
||||||
itself is implemented in
|
itself is implemented in
|
||||||
[the low-level `dag` package](https://pkg.go.dev/github.com/hashicorp/terraform/internal/dag#AcyclicGraph.Walk)
|
[the low-level `dag` package](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/dag#AcyclicGraph.Walk)
|
||||||
(where "DAG" is short for [_Directed Acyclic Graph_](https://en.wikipedia.org/wiki/Directed_acyclic_graph)), in
|
(where "DAG" is short for [_Directed Acyclic Graph_](https://en.wikipedia.org/wiki/Directed_acyclic_graph)), in
|
||||||
[`AcyclicGraph.Walk`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/dag#AcyclicGraph.Walk).
|
[`AcyclicGraph.Walk`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/dag#AcyclicGraph.Walk).
|
||||||
However, the "interesting" Terraform walk functionality is implemented in
|
However, the "interesting" Terraform walk functionality is implemented in
|
||||||
[`terraform.ContextGraphWalker`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#ContextGraphWalker),
|
[`terraform.ContextGraphWalker`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#ContextGraphWalker),
|
||||||
which implements a small set of higher-level operations that are performed
|
which implements a small set of higher-level operations that are performed
|
||||||
during the graph walk:
|
during the graph walk:
|
||||||
|
|
||||||
* `EnterPath` is called once for each module in the configuration, taking a
|
* `EnterPath` is called once for each module in the configuration, taking a
|
||||||
module address and returning a
|
module address and returning a
|
||||||
[`terraform.EvalContext`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#EvalContext)
|
[`terraform.EvalContext`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#EvalContext)
|
||||||
that tracks objects within that module. `terraform.Context` is the _global_
|
that tracks objects within that module. `terraform.Context` is the _global_
|
||||||
context for the entire operation, while `terraform.EvalContext` is a
|
context for the entire operation, while `terraform.EvalContext` is a
|
||||||
context for processing within a single module, and is the primary means
|
context for processing within a single module, and is the primary means
|
||||||
@ -247,7 +247,7 @@ will evaluate multiple vertices concurrently. Vertex evaluation code must
|
|||||||
therefore make careful use of concurrency primitives such as mutexes in order
|
therefore make careful use of concurrency primitives such as mutexes in order
|
||||||
to coordinate access to shared objects such as the `states.State` object.
|
to coordinate access to shared objects such as the `states.State` object.
|
||||||
In most cases, we use the helper wrapper
|
In most cases, we use the helper wrapper
|
||||||
[`states.SyncState`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/states#SyncState)
|
[`states.SyncState`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/states#SyncState)
|
||||||
to safely implement concurrent reads and writes from the shared state.
|
to safely implement concurrent reads and writes from the shared state.
|
||||||
|
|
||||||
## Vertex Evaluation
|
## Vertex Evaluation
|
||||||
@ -280,27 +280,27 @@ a plan operation would include the following high-level steps:
|
|||||||
this operation.
|
this operation.
|
||||||
|
|
||||||
Each execution step for a vertex is an implementation of
|
Each execution step for a vertex is an implementation of
|
||||||
[`terraform.Execute`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/erraform#Execute).
|
[`terraform.Execute`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/erraform#Execute).
|
||||||
As with graph transforms, the behavior of these implementations varies widely:
|
As with graph transforms, the behavior of these implementations varies widely:
|
||||||
whereas graph transforms can take any action against the graph, an `Execute`
|
whereas graph transforms can take any action against the graph, an `Execute`
|
||||||
implementation can take any action against the `EvalContext`.
|
implementation can take any action against the `EvalContext`.
|
||||||
|
|
||||||
The implementation of `terraform.EvalContext` used in real processing
|
The implementation of `terraform.EvalContext` used in real processing
|
||||||
(as opposed to testing) is
|
(as opposed to testing) is
|
||||||
[`terraform.BuiltinEvalContext`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#BuiltinEvalContext).
|
[`terraform.BuiltinEvalContext`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#BuiltinEvalContext).
|
||||||
It provides coordinated access to plugins, the current state, and the current
|
It provides coordinated access to plugins, the current state, and the current
|
||||||
plan via the `EvalContext` interface methods.
|
plan via the `EvalContext` interface methods.
|
||||||
|
|
||||||
In order to be executed, a vertex must implement
|
In order to be executed, a vertex must implement
|
||||||
[`terraform.GraphNodeExecutable`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#GraphNodeExecutable),
|
[`terraform.GraphNodeExecutable`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#GraphNodeExecutable),
|
||||||
which has a single `Execute` method that handles. There are numerous `Execute`
|
which has a single `Execute` method that handles. There are numerous `Execute`
|
||||||
implementations with different behaviors, but some prominent examples are:
|
implementations with different behaviors, but some prominent examples are:
|
||||||
|
|
||||||
* [NodePlannableResource.Execute](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#NodePlannableResourceInstance.Execute), which handles the `plan` operation.
|
* [NodePlannableResource.Execute](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#NodePlannableResourceInstance.Execute), which handles the `plan` operation.
|
||||||
|
|
||||||
* [`NodeApplyableResourceInstance.Execute`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#NodeApplyableResourceInstance.Execute), which handles the main `apply` operation.
|
* [`NodeApplyableResourceInstance.Execute`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#NodeApplyableResourceInstance.Execute), which handles the main `apply` operation.
|
||||||
|
|
||||||
* [`NodeDestroyResourceInstance.Execute`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#EvalWriteState), which handles the main `destroy` operation.
|
* [`NodeDestroyResourceInstance.Execute`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#EvalWriteState), which handles the main `destroy` operation.
|
||||||
|
|
||||||
A vertex must complete successfully before the graph walk will begin evaluation
|
A vertex must complete successfully before the graph walk will begin evaluation
|
||||||
for other vertices that have "happens after" edges. Evaluation can fail with one
|
for other vertices that have "happens after" edges. Evaluation can fail with one
|
||||||
@ -320,11 +320,11 @@ The high-level process for expression evaluation is:
|
|||||||
to. For example, the expression `aws_instance.example[1]` refers to one of
|
to. For example, the expression `aws_instance.example[1]` refers to one of
|
||||||
the instances created by a `resource "aws_instance" "example"` block in
|
the instances created by a `resource "aws_instance" "example"` block in
|
||||||
configuration. This analysis is performed by
|
configuration. This analysis is performed by
|
||||||
[`lang.References`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#References),
|
[`lang.References`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#References),
|
||||||
or more often one of the helper wrappers around it:
|
or more often one of the helper wrappers around it:
|
||||||
[`lang.ReferencesInBlock`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#ReferencesInBlock)
|
[`lang.ReferencesInBlock`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#ReferencesInBlock)
|
||||||
or
|
or
|
||||||
[`lang.ReferencesInExpr`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#ReferencesInExpr)
|
[`lang.ReferencesInExpr`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#ReferencesInExpr)
|
||||||
|
|
||||||
1. Retrieve from the state the data for the objects that are referred to and
|
1. Retrieve from the state the data for the objects that are referred to and
|
||||||
create a lookup table of the values from these objects that the
|
create a lookup table of the values from these objects that the
|
||||||
@ -338,11 +338,11 @@ The high-level process for expression evaluation is:
|
|||||||
object) against the data and function lookup tables.
|
object) against the data and function lookup tables.
|
||||||
|
|
||||||
In practice, steps 2 through 4 are usually run all together using one
|
In practice, steps 2 through 4 are usually run all together using one
|
||||||
of the methods on [`lang.Scope`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#Scope);
|
of the methods on [`lang.Scope`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#Scope);
|
||||||
most commonly,
|
most commonly,
|
||||||
[`lang.EvalBlock`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#Scope.EvalBlock)
|
[`lang.EvalBlock`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#Scope.EvalBlock)
|
||||||
or
|
or
|
||||||
[`lang.EvalExpr`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/lang#Scope.EvalExpr).
|
[`lang.EvalExpr`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/lang#Scope.EvalExpr).
|
||||||
|
|
||||||
Expression evaluation produces a dynamic value represented as a
|
Expression evaluation produces a dynamic value represented as a
|
||||||
[`cty.Value`](https://pkg.go.dev/github.com/zclconf/go-cty/cty#Value).
|
[`cty.Value`](https://pkg.go.dev/github.com/zclconf/go-cty/cty#Value).
|
||||||
@ -367,7 +367,7 @@ known when the main graph is constructed, but become known while evaluating
|
|||||||
other vertices in the main graph.
|
other vertices in the main graph.
|
||||||
|
|
||||||
This special behavior applies to vertex objects that implement
|
This special behavior applies to vertex objects that implement
|
||||||
[`terraform.GraphNodeDynamicExpandable`](https://pkg.go.dev/github.com/hashicorp/terraform/internal/terraform#GraphNodeDynamicExpandable).
|
[`terraform.GraphNodeDynamicExpandable`](https://pkg.go.dev/github.com/placeholderplaceholderplaceholder/opentf/internal/terraform#GraphNodeDynamicExpandable).
|
||||||
Such vertices have their own nested _graph builder_, _graph walk_,
|
Such vertices have their own nested _graph builder_, _graph walk_,
|
||||||
and _vertex evaluation_ steps, with the same behaviors as described in these
|
and _vertex evaluation_ steps, with the same behaviors as described in these
|
||||||
sections for the main graph. The difference is in which graph transforms
|
sections for the main graph. The difference is in which graph transforms
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin5";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin5";
|
||||||
|
|
||||||
package tfplugin5;
|
package tfplugin5;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin5";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin5";
|
||||||
|
|
||||||
package tfplugin5;
|
package tfplugin5;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin5";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin5";
|
||||||
|
|
||||||
package tfplugin5;
|
package tfplugin5;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin6";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin6";
|
||||||
|
|
||||||
package tfplugin6;
|
package tfplugin6;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin6";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin6";
|
||||||
|
|
||||||
package tfplugin6;
|
package tfplugin6;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin6";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin6";
|
||||||
|
|
||||||
package tfplugin6;
|
package tfplugin6;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin6";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin6";
|
||||||
|
|
||||||
package tfplugin6;
|
package tfplugin6;
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
// branch or any other development branch.
|
// branch or any other development branch.
|
||||||
//
|
//
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "github.com/hashicorp/terraform/internal/tfplugin6";
|
option go_package = "github.com/placeholderplaceholderplaceholder/opentf/internal/tfplugin6";
|
||||||
|
|
||||||
package tfplugin6;
|
package tfplugin6;
|
||||||
|
|
||||||
|
2
go.mod
2
go.mod
@ -1,4 +1,4 @@
|
|||||||
module github.com/hashicorp/terraform
|
module github.com/placeholderplaceholderplaceholder/opentf
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go/kms v1.10.1
|
cloud.google.com/go/kms v1.10.1
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package addrs
|
package addrs
|
||||||
|
|
||||||
import "github.com/hashicorp/terraform/internal/tfdiags"
|
import "github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
|
|
||||||
// DiagnosticExtraCheckRule provides an interface for diagnostic ExtraInfo to
|
// DiagnosticExtraCheckRule provides an interface for diagnostic ExtraInfo to
|
||||||
// retrieve an embedded CheckRule from within a tfdiags.Diagnostic.
|
// retrieve an embedded CheckRule from within a tfdiags.Diagnostic.
|
||||||
|
@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCheckRuleDiagnosticExtra_WrapsExtra(t *testing.T) {
|
func TestCheckRuleDiagnosticExtra_WrapsExtra(t *testing.T) {
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Checkable is an interface implemented by all address types that can contain
|
// Checkable is an interface implemented by all address types that can contain
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
"github.com/zclconf/go-cty/cty/gocty"
|
"github.com/zclconf/go-cty/cty/gocty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ModuleInstance is an address for a particular module instance within the
|
// ModuleInstance is an address for a particular module instance within the
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
tfaddr "github.com/hashicorp/terraform-registry-address"
|
tfaddr "github.com/hashicorp/terraform-registry-address"
|
||||||
"github.com/hashicorp/terraform/internal/getmodules"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/getmodules"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ModuleSource is the general type for all three of the possible module source
|
// ModuleSource is the general type for all three of the possible module source
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MoveEndpoint is to AbsMoveable and ConfigMoveable what Target is to
|
// MoveEndpoint is to AbsMoveable and ConfigMoveable what Target is to
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// anyKeyImpl is the InstanceKey representation indicating a wildcard, which
|
// anyKeyImpl is the InstanceKey representation indicating a wildcard, which
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestModuleInstanceMoveDestination(t *testing.T) {
|
func TestModuleInstanceMoveDestination(t *testing.T) {
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// OutputValue is the address of an output value, in the context of the module
|
// OutputValue is the address of an output value, in the context of the module
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Reference describes a reference to an address with source location
|
// Reference describes a reference to an address with source location
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseRefInTestingScope(t *testing.T) {
|
func TestParseRefInTestingScope(t *testing.T) {
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Target describes a targeted address with source location information.
|
// Target describes a targeted address with source location information.
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"github.com/go-test/deep"
|
"github.com/go-test/deep"
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/hcl/v2/hclsyntax"
|
"github.com/hashicorp/hcl/v2/hclsyntax"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseTarget(t *testing.T) {
|
func TestParseTarget(t *testing.T) {
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
tfaddr "github.com/hashicorp/terraform-registry-address"
|
tfaddr "github.com/hashicorp/terraform-registry-address"
|
||||||
svchost "github.com/hashicorp/terraform-svchost"
|
svchost "github.com/hashicorp/terraform-svchost"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Provider encapsulates a single provider type. In the future this will be
|
// Provider encapsulates a single provider type. In the future this will be
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
|
@ -15,20 +15,20 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
svchost "github.com/hashicorp/terraform-svchost"
|
svchost "github.com/hashicorp/terraform-svchost"
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
|
||||||
"github.com/hashicorp/terraform/internal/command/clistate"
|
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
|
||||||
"github.com/hashicorp/terraform/internal/configs"
|
|
||||||
"github.com/hashicorp/terraform/internal/configs/configload"
|
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
|
||||||
"github.com/hashicorp/terraform/internal/depsfile"
|
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
|
||||||
"github.com/hashicorp/terraform/internal/plans/planfile"
|
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
|
||||||
"github.com/mitchellh/go-homedir"
|
"github.com/mitchellh/go-homedir"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/clistate"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configload"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/depsfile"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans/planfile"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@ import (
|
|||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
"github.com/mitchellh/colorstring"
|
"github.com/mitchellh/colorstring"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CLI is an optional interface that can be implemented to be initialized
|
// CLI is an optional interface that can be implemented to be initialized
|
||||||
|
@ -6,7 +6,7 @@ package init
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend/remote-state/inmem"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/inmem"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,23 +9,23 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform-svchost/disco"
|
"github.com/hashicorp/terraform-svchost/disco"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
backendLocal "github.com/hashicorp/terraform/internal/backend/local"
|
backendLocal "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/local"
|
||||||
backendRemote "github.com/hashicorp/terraform/internal/backend/remote"
|
backendRemote "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote"
|
||||||
backendAzure "github.com/hashicorp/terraform/internal/backend/remote-state/azure"
|
backendAzure "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/azure"
|
||||||
backendConsul "github.com/hashicorp/terraform/internal/backend/remote-state/consul"
|
backendConsul "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/consul"
|
||||||
backendCos "github.com/hashicorp/terraform/internal/backend/remote-state/cos"
|
backendCos "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/cos"
|
||||||
backendGCS "github.com/hashicorp/terraform/internal/backend/remote-state/gcs"
|
backendGCS "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/gcs"
|
||||||
backendHTTP "github.com/hashicorp/terraform/internal/backend/remote-state/http"
|
backendHTTP "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/http"
|
||||||
backendInmem "github.com/hashicorp/terraform/internal/backend/remote-state/inmem"
|
backendInmem "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/inmem"
|
||||||
backendKubernetes "github.com/hashicorp/terraform/internal/backend/remote-state/kubernetes"
|
backendKubernetes "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/kubernetes"
|
||||||
backendOSS "github.com/hashicorp/terraform/internal/backend/remote-state/oss"
|
backendOSS "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/oss"
|
||||||
backendPg "github.com/hashicorp/terraform/internal/backend/remote-state/pg"
|
backendPg "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/pg"
|
||||||
backendS3 "github.com/hashicorp/terraform/internal/backend/remote-state/s3"
|
backendS3 "github.com/placeholderplaceholderplaceholder/opentf/internal/backend/remote-state/s3"
|
||||||
backendCloud "github.com/hashicorp/terraform/internal/cloud"
|
backendCloud "github.com/placeholderplaceholderplaceholder/opentf/internal/cloud"
|
||||||
)
|
)
|
||||||
|
|
||||||
// backends is the list of available backends. This is a global variable
|
// backends is the list of available backends. This is a global variable
|
||||||
|
@ -14,13 +14,13 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10,16 +10,16 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statefile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statefile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// test hook called between plan+apply during opApply
|
// test hook called between plan+apply during opApply
|
||||||
|
@ -14,20 +14,20 @@ import (
|
|||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/arguments"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/arguments"
|
||||||
"github.com/hashicorp/terraform/internal/command/clistate"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/clistate"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/depsfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/depsfile"
|
||||||
"github.com/hashicorp/terraform/internal/initwd"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/initwd"
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
"github.com/hashicorp/terraform/internal/providers"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/providers"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLocal_applyBasic(t *testing.T) {
|
func TestLocal_applyBasic(t *testing.T) {
|
||||||
|
@ -10,13 +10,13 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/configs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configload"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configload"
|
||||||
"github.com/hashicorp/terraform/internal/plans/planfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans/planfile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -11,21 +11,21 @@ import (
|
|||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/arguments"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/arguments"
|
||||||
"github.com/hashicorp/terraform/internal/command/clistate"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/clistate"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configload"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configload"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/initwd"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/initwd"
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
"github.com/hashicorp/terraform/internal/plans/planfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans/planfile"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statefile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statefile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLocalRun(t *testing.T) {
|
func TestLocalRun(t *testing.T) {
|
||||||
|
@ -9,15 +9,15 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/genconfig"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/genconfig"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
"github.com/hashicorp/terraform/internal/plans/planfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans/planfile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statefile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statefile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (b *Local) opPlan(
|
func (b *Local) opPlan(
|
||||||
|
@ -12,20 +12,20 @@ import (
|
|||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/arguments"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/arguments"
|
||||||
"github.com/hashicorp/terraform/internal/command/clistate"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/clistate"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/depsfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/depsfile"
|
||||||
"github.com/hashicorp/terraform/internal/initwd"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/initwd"
|
||||||
"github.com/hashicorp/terraform/internal/plans"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans"
|
||||||
"github.com/hashicorp/terraform/internal/plans/planfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/plans/planfile"
|
||||||
"github.com/hashicorp/terraform/internal/providers"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/providers"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLocal_planBasic(t *testing.T) {
|
func TestLocal_planBasic(t *testing.T) {
|
||||||
|
@ -9,11 +9,11 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (b *Local) opRefresh(
|
func (b *Local) opRefresh(
|
||||||
|
@ -9,18 +9,18 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/command/arguments"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/arguments"
|
||||||
"github.com/hashicorp/terraform/internal/command/clistate"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/clistate"
|
||||||
"github.com/hashicorp/terraform/internal/command/views"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/command/views"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/depsfile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/depsfile"
|
||||||
"github.com/hashicorp/terraform/internal/initwd"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/initwd"
|
||||||
"github.com/hashicorp/terraform/internal/providers"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/providers"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/terminal"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terminal"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
@ -11,9 +11,9 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/statefile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statefile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLocal_impl(t *testing.T) {
|
func TestLocal_impl(t *testing.T) {
|
||||||
|
@ -6,7 +6,7 @@ package local
|
|||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
)
|
)
|
||||||
|
|
||||||
// backend.CLI impl.
|
// backend.CLI impl.
|
||||||
|
@ -8,9 +8,9 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StateHook is a hook that continuously updates the state by calling
|
// StateHook is a hook that continuously updates the state by calling
|
||||||
|
@ -9,9 +9,9 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestStateHook_impl(t *testing.T) {
|
func TestStateHook_impl(t *testing.T) {
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
_ "github.com/hashicorp/terraform/internal/logging"
|
_ "github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
|
@ -9,13 +9,13 @@ import (
|
|||||||
|
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/providers"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/providers"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/hashicorp/terraform/internal/terraform"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/terraform"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestLocal returns a configured Local struct with temporary paths and
|
// TestLocal returns a configured Local struct with temporary paths and
|
||||||
|
@ -16,9 +16,9 @@ import (
|
|||||||
"github.com/Azure/go-autorest/autorest/azure"
|
"github.com/Azure/go-autorest/autorest/azure"
|
||||||
"github.com/hashicorp/go-azure-helpers/authentication"
|
"github.com/hashicorp/go-azure-helpers/authentication"
|
||||||
"github.com/hashicorp/go-azure-helpers/sender"
|
"github.com/hashicorp/go-azure-helpers/sender"
|
||||||
"github.com/hashicorp/terraform/internal/httpclient"
|
|
||||||
"github.com/hashicorp/terraform/version"
|
|
||||||
"github.com/manicminer/hamilton/environments"
|
"github.com/manicminer/hamilton/environments"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/httpclient"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/version"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/containers"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/containers"
|
||||||
)
|
)
|
||||||
|
@ -7,8 +7,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// New creates a new backend for Azure remote state.
|
// New creates a new backend for Azure remote state.
|
||||||
|
@ -9,10 +9,10 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/containers"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/containers"
|
||||||
)
|
)
|
||||||
|
@ -8,8 +8,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/acctest"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/acctest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBackend_impl(t *testing.T) {
|
func TestBackend_impl(t *testing.T) {
|
||||||
|
@ -13,8 +13,8 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-multierror"
|
"github.com/hashicorp/go-multierror"
|
||||||
"github.com/hashicorp/go-uuid"
|
"github.com/hashicorp/go-uuid"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,9 +8,9 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/acctest"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/acctest"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
"github.com/tombuildsstuff/giovanni/storage/2018-11-09/blob/blobs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"net/http/httputil"
|
"net/http/httputil"
|
||||||
|
|
||||||
"github.com/Azure/go-autorest/autorest"
|
"github.com/Azure/go-autorest/autorest"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
func buildSender() autorest.Sender {
|
func buildSender() autorest.Sender {
|
||||||
|
@ -10,8 +10,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
consulapi "github.com/hashicorp/consul/api"
|
consulapi "github.com/hashicorp/consul/api"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// New creates a new backend for Consul remote state.
|
// New creates a new backend for Consul remote state.
|
||||||
|
@ -7,10 +7,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/consul/sdk/testutil"
|
"github.com/hashicorp/consul/sdk/testutil"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBackend_impl(t *testing.T) {
|
func TestBackend_impl(t *testing.T) {
|
||||||
|
@ -18,8 +18,8 @@ import (
|
|||||||
|
|
||||||
consulapi "github.com/hashicorp/consul/api"
|
consulapi "github.com/hashicorp/consul/api"
|
||||||
multierror "github.com/hashicorp/go-multierror"
|
multierror "github.com/hashicorp/go-multierror"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -16,9 +16,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRemoteClient_impl(t *testing.T) {
|
func TestRemoteClient_impl(t *testing.T) {
|
||||||
|
@ -13,8 +13,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
|
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
|
||||||
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
|
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
|
||||||
sts "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813"
|
sts "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813"
|
||||||
|
@ -10,10 +10,10 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Define file suffix
|
// Define file suffix
|
||||||
|
@ -10,8 +10,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -16,8 +16,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
multierror "github.com/hashicorp/go-multierror"
|
multierror "github.com/hashicorp/go-multierror"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
tag "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag/v20180813"
|
tag "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag/v20180813"
|
||||||
"github.com/tencentyun/cos-go-sdk-v5"
|
"github.com/tencentyun/cos-go-sdk-v5"
|
||||||
)
|
)
|
||||||
|
@ -13,9 +13,9 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"cloud.google.com/go/storage"
|
"cloud.google.com/go/storage"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/httpclient"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/httpclient"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"google.golang.org/api/impersonate"
|
"google.golang.org/api/impersonate"
|
||||||
"google.golang.org/api/option"
|
"google.golang.org/api/option"
|
||||||
|
@ -12,10 +12,10 @@ import (
|
|||||||
"cloud.google.com/go/storage"
|
"cloud.google.com/go/storage"
|
||||||
"google.golang.org/api/iterator"
|
"google.golang.org/api/iterator"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -15,9 +15,9 @@ import (
|
|||||||
|
|
||||||
kms "cloud.google.com/go/kms/apiv1"
|
kms "cloud.google.com/go/kms/apiv1"
|
||||||
"cloud.google.com/go/storage"
|
"cloud.google.com/go/storage"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/httpclient"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/httpclient"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"google.golang.org/api/option"
|
"google.golang.org/api/option"
|
||||||
kmspb "google.golang.org/genproto/googleapis/cloud/kms/v1"
|
kmspb "google.golang.org/genproto/googleapis/cloud/kms/v1"
|
||||||
)
|
)
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
|
|
||||||
"cloud.google.com/go/storage"
|
"cloud.google.com/go/storage"
|
||||||
multierror "github.com/hashicorp/go-multierror"
|
multierror "github.com/hashicorp/go-multierror"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -16,11 +16,11 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-retryablehttp"
|
"github.com/hashicorp/go-retryablehttp"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func New() backend.Backend {
|
func New() backend.Backend {
|
||||||
|
@ -8,10 +8,10 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/configs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBackend_impl(t *testing.T) {
|
func TestBackend_impl(t *testing.T) {
|
||||||
|
@ -15,8 +15,8 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/hashicorp/go-retryablehttp"
|
"github.com/hashicorp/go-retryablehttp"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// httpClient is a remote client that stores data in Consul or HTTP REST.
|
// httpClient is a remote client that stores data in Consul or HTTP REST.
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/go-retryablehttp"
|
"github.com/hashicorp/go-retryablehttp"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestHTTPClient_impl(t *testing.T) {
|
func TestHTTPClient_impl(t *testing.T) {
|
||||||
|
@ -23,10 +23,10 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/golang/mock/gomock"
|
"github.com/golang/mock/gomock"
|
||||||
"github.com/hashicorp/terraform/internal/addrs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/addrs"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/configs"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -11,11 +11,11 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
statespkg "github.com/hashicorp/terraform/internal/states"
|
statespkg "github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// we keep the states and locks in package-level variables, so that they can be
|
// we keep the states and locks in package-level variables, so that they can be
|
||||||
|
@ -10,11 +10,11 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
statespkg "github.com/hashicorp/terraform/internal/states"
|
statespkg "github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
|
|
||||||
_ "github.com/hashicorp/terraform/internal/logging"
|
_ "github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
|
@ -6,8 +6,8 @@ package inmem
|
|||||||
import (
|
import (
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RemoteClient is a remote client that stores data in memory for testing.
|
// RemoteClient is a remote client that stores data in memory for testing.
|
||||||
|
@ -7,8 +7,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/hcl/v2"
|
"github.com/hashicorp/hcl/v2"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRemoteClient_impl(t *testing.T) {
|
func TestRemoteClient_impl(t *testing.T) {
|
||||||
|
@ -11,10 +11,10 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
|
||||||
"github.com/hashicorp/terraform/version"
|
|
||||||
"github.com/mitchellh/go-homedir"
|
"github.com/mitchellh/go-homedir"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/version"
|
||||||
k8sSchema "k8s.io/apimachinery/pkg/runtime/schema"
|
k8sSchema "k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/client-go/dynamic"
|
"k8s.io/client-go/dynamic"
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
|
@ -9,10 +9,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
|
@ -6,9 +6,9 @@ package kubernetes
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRemoteClient_impl(t *testing.T) {
|
func TestRemoteClient_impl(t *testing.T) {
|
||||||
|
@ -32,9 +32,9 @@ import (
|
|||||||
"github.com/jmespath/go-jmespath"
|
"github.com/jmespath/go-jmespath"
|
||||||
"github.com/mitchellh/go-homedir"
|
"github.com/mitchellh/go-homedir"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
"github.com/hashicorp/terraform/version"
|
"github.com/placeholderplaceholderplaceholder/opentf/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Deprecated in favor of flattening assume_role_* options
|
// Deprecated in favor of flattening assume_role_* options
|
||||||
|
@ -14,10 +14,10 @@ import (
|
|||||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||||
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
|
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -14,8 +14,8 @@ import (
|
|||||||
|
|
||||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||||
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
|
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/configs/hcl2shim"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/hcl2shim"
|
||||||
)
|
)
|
||||||
|
|
||||||
// verify that we are doing ACC tests or the OSS tests specifically
|
// verify that we are doing ACC tests or the OSS tests specifically
|
||||||
|
@ -19,8 +19,8 @@ import (
|
|||||||
uuid "github.com/hashicorp/go-uuid"
|
uuid "github.com/hashicorp/go-uuid"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -12,10 +12,10 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statefile"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statefile"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NOTE: Before running this testcase, please create a OTS instance called 'tf-oss-remote'
|
// NOTE: Before running this testcase, please create a OTS instance called 'tf-oss-remote'
|
||||||
|
@ -10,9 +10,9 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
|
||||||
"github.com/hashicorp/terraform/internal/legacy/helper/schema"
|
|
||||||
"github.com/lib/pq"
|
"github.com/lib/pq"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/legacy/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -6,10 +6,10 @@ package pg
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (b *Backend) Workspaces() ([]string, error) {
|
func (b *Backend) Workspaces() ([]string, error) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
package pg
|
package pg
|
||||||
|
|
||||||
// Create the test database: createdb terraform_backend_pg_test
|
// Create the test database: createdb terraform_backend_pg_test
|
||||||
// TF_ACC=1 GO111MODULE=on go test -v -mod=vendor -timeout=2m -parallel=4 github.com/hashicorp/terraform/backend/remote-state/pg
|
// TF_ACC=1 GO111MODULE=on go test -v -mod=vendor -timeout=2m -parallel=4 github.com/placeholderplaceholderplaceholder/opentf/backend/remote-state/pg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
@ -15,11 +15,11 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/hcl/v2/hcldec"
|
"github.com/hashicorp/hcl/v2/hcldec"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
|
||||||
"github.com/lib/pq"
|
"github.com/lib/pq"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Function to skip a test unless in ACCeptance test mode.
|
// Function to skip a test unless in ACCeptance test mode.
|
||||||
|
@ -9,9 +9,9 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
uuid "github.com/hashicorp/go-uuid"
|
uuid "github.com/hashicorp/go-uuid"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
|
||||||
"github.com/hashicorp/terraform/internal/states/statemgr"
|
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/statemgr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RemoteClient is a remote client that stores data in a Postgres database
|
// RemoteClient is a remote client that stores data in a Postgres database
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
package pg
|
package pg
|
||||||
|
|
||||||
// Create the test database: createdb terraform_backend_pg_test
|
// Create the test database: createdb terraform_backend_pg_test
|
||||||
// TF_ACC=1 GO111MODULE=on go test -v -mod=vendor -timeout=2m -parallel=4 github.com/hashicorp/terraform/backend/remote-state/pg
|
// TF_ACC=1 GO111MODULE=on go test -v -mod=vendor -timeout=2m -parallel=4 github.com/placeholderplaceholderplaceholder/opentf/backend/remote-state/pg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/states/remote"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/states/remote"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRemoteClient_impl(t *testing.T) {
|
func TestRemoteClient_impl(t *testing.T) {
|
||||||
|
@ -13,11 +13,11 @@ import (
|
|||||||
"github.com/aws/aws-sdk-go/service/dynamodb"
|
"github.com/aws/aws-sdk-go/service/dynamodb"
|
||||||
"github.com/aws/aws-sdk-go/service/s3"
|
"github.com/aws/aws-sdk-go/service/s3"
|
||||||
awsbase "github.com/hashicorp/aws-sdk-go-base"
|
awsbase "github.com/hashicorp/aws-sdk-go-base"
|
||||||
"github.com/hashicorp/terraform/internal/backend"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/backend"
|
||||||
"github.com/hashicorp/terraform/internal/configs/configschema"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/configs/configschema"
|
||||||
"github.com/hashicorp/terraform/internal/logging"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/logging"
|
||||||
"github.com/hashicorp/terraform/internal/tfdiags"
|
"github.com/placeholderplaceholderplaceholder/opentf/internal/tfdiags"
|
||||||
"github.com/hashicorp/terraform/version"
|
"github.com/placeholderplaceholderplaceholder/opentf/version"
|
||||||
"github.com/zclconf/go-cty/cty"
|
"github.com/zclconf/go-cty/cty"
|
||||||
"github.com/zclconf/go-cty/cty/gocty"
|
"github.com/zclconf/go-cty/cty/gocty"
|
||||||
)
|
)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user