Showing preview only (2,707K chars total). Download the full file or copy to clipboard to get everything.
Repository: hashicorp/go-tfe
Branch: main
Commit: 5fb6f0f94644
Files: 358
Total size: 2.5 MB
Directory structure:
gitextract_9p7rzvxe/
├── .copywrite.hcl
├── .github/
│ ├── CODEOWNERS
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── config.yml
│ │ └── feature_request.md
│ ├── actions/
│ │ ├── lint-go-tfe/
│ │ │ └── action.yml
│ │ └── test-go-tfe/
│ │ └── action.yml
│ ├── dependabot.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── changelog.yml
│ ├── ci.yml
│ ├── codeql-analysis.yml
│ ├── create-jira-issue.yml
│ ├── jira-pr-transition.yml
│ ├── merged-pr.yml
│ └── nightly-tfe-ci.yml
├── .gitignore
├── .golangci.yml
├── CHANGELOG.md
├── LICENSE
├── META.d/
│ ├── _summary.yaml
│ └── data.yaml
├── Makefile
├── README.md
├── admin_opa_version.go
├── admin_opa_version_integration_test.go
├── admin_organization.go
├── admin_organization_integration_test.go
├── admin_run.go
├── admin_run_integration_test.go
├── admin_run_test.go
├── admin_sentinel_version.go
├── admin_sentinel_version_integration_test.go
├── admin_setting.go
├── admin_setting_cost_estimation.go
├── admin_setting_cost_estimation_integration_test.go
├── admin_setting_customization.go
├── admin_setting_customization_integration_test.go
├── admin_setting_general.go
├── admin_setting_general_integration_test.go
├── admin_setting_oidc.go
├── admin_setting_oidc_integration_test.go
├── admin_setting_saml.go
├── admin_setting_saml_integration_test.go
├── admin_setting_scim.go
├── admin_setting_scim_groups.go
├── admin_setting_scim_groups_integration_test.go
├── admin_setting_scim_integration_test.go
├── admin_setting_scim_token.go
├── admin_setting_scim_token_integration_test.go
├── admin_setting_smtp.go
├── admin_setting_smtp_integration_test.go
├── admin_setting_twilio.go
├── admin_setting_twilio_integration_test.go
├── admin_terraform_version.go
├── admin_terraform_version_integration_test.go
├── admin_user.go
├── admin_user_integration_test.go
├── admin_workspace.go
├── admin_workspace_integration_test.go
├── agent.go
├── agent_integration_test.go
├── agent_pool.go
├── agent_pool_integration_test.go
├── agent_token.go
├── agent_token_integration_test.go
├── apply.go
├── apply_integration_test.go
├── audit_trail.go
├── audit_trail_integration_test.go
├── aws_oidc_configuration.go
├── aws_oidc_configuration_integration_test.go
├── azure_oidc_configuration.go
├── azure_oidc_configuration_integration_test.go
├── comment.go
├── comment_integration_test.go
├── configuration_version.go
├── configuration_version_integration_test.go
├── const.go
├── cost_estimate.go
├── cost_estimate_integration_test.go
├── data_retention_policy.go
├── docs/
│ ├── CONTRIBUTING.md
│ ├── RELEASES.md
│ └── TESTS.md
├── entitlement_helper_test.go
├── errors.go
├── example_test.go
├── examples/
│ ├── backing_data/
│ │ └── main.go
│ ├── configuration_versions/
│ │ └── main.go
│ ├── organizations/
│ │ └── main.go
│ ├── projects/
│ │ └── main.go
│ ├── registry_modules/
│ │ └── main.go
│ ├── run_errors/
│ │ ├── README.md
│ │ ├── main.go
│ │ └── terraform/
│ │ └── main.tf
│ ├── state_versions/
│ │ ├── main.go
│ │ └── state.json
│ ├── users/
│ │ └── main.go
│ └── workspaces/
│ └── main.go
├── gcp_oidc_configuration.go
├── gcp_oidc_configuration_integration_test.go
├── generate_mocks.sh
├── github_app_installation.go
├── github_app_installation_integration_test.go
├── go.mod
├── go.sum
├── gpg_key.go
├── gpg_key_integration_test.go
├── helper_test.go
├── hyok_configuration.go
├── hyok_configuration_integration_test.go
├── hyok_customer_key_version.go
├── hyok_customer_key_version_integration_test.go
├── hyok_encrypted_data_key.go
├── hyok_encrypted_data_key_integration_test.go
├── internal_run_task.go
├── internal_workspace_run_task.go
├── ip_ranges.go
├── ip_ranges_integration_test.go
├── logreader.go
├── logreader_integration_test.go
├── mocks/
│ ├── admin_opa_version_mocks.go
│ ├── admin_organization_mocks.go
│ ├── admin_run_mocks.go
│ ├── admin_sentinel_version_mocks.go
│ ├── admin_setting_cost_estimation_mocks.go
│ ├── admin_setting_customization_mocks.go
│ ├── admin_setting_general_mocks.go
│ ├── admin_setting_mocks.go
│ ├── admin_setting_oidc_mocks.go
│ ├── admin_setting_saml_mocks.go
│ ├── admin_setting_scim_groups_mocks.go
│ ├── admin_setting_scim_mocks.go
│ ├── admin_setting_scim_token_mocks.go
│ ├── admin_setting_smtp_mocks.go
│ ├── admin_setting_twilio_mocks.go
│ ├── admin_terraform_version_mocks.go
│ ├── admin_user_mocks.go
│ ├── admin_workspace_mocks.go
│ ├── agent_pool_mocks.go
│ ├── agent_token_mocks.go
│ ├── agents.go
│ ├── apply_mocks.go
│ ├── audit_trail_mocks.go
│ ├── comment_mocks.go
│ ├── configuration_version_mocks.go
│ ├── cost_estimate_mocks.go
│ ├── github_app_installation_mocks.go
│ ├── gpg_key_mocks.go
│ ├── ip_ranges_mocks.go
│ ├── logreader_mocks.go
│ ├── notification_configuration_mocks.go
│ ├── oauth_client_mocks.go
│ ├── oauth_token_mocks.go
│ ├── organization_membership_mocks.go
│ ├── organization_mocks.go
│ ├── organization_token_mocks.go
│ ├── plan_export_mocks.go
│ ├── plan_mocks.go
│ ├── policy_check_mocks.go
│ ├── policy_evaluation.go
│ ├── policy_mocks.go
│ ├── policy_set_mocks.go
│ ├── policy_set_parameter_mocks.go
│ ├── policy_set_version_mocks.go
│ ├── project_mocks.go
│ ├── query_runs_mocks.go
│ ├── registry_module_mocks.go
│ ├── registry_no_code_module_mocks.go
│ ├── registry_provider_mocks.go
│ ├── registry_provider_platform_mocks.go
│ ├── registry_provider_version_mocks.go
│ ├── run_events_mocks.go
│ ├── run_mocks.go
│ ├── run_tasks_mocks.go
│ ├── run_trigger_mocks.go
│ ├── ssh_key_mocks.go
│ ├── state_version_mocks.go
│ ├── state_version_output_mocks.go
│ ├── tag_mocks.go
│ ├── task_result_mocks.go
│ ├── task_stages_mocks.go
│ ├── team_access_mocks.go
│ ├── team_member_mocks.go
│ ├── team_mocks.go
│ ├── team_project_access_mocks.go
│ ├── team_token_mocks.go
│ ├── test_run_mocks.go
│ ├── test_variables_mocks.go
│ ├── user_mocks.go
│ ├── user_token_mocks.go
│ ├── variable_mocks.go
│ ├── variable_set_mocks.go
│ ├── variable_set_variable_mocks.go
│ ├── workspace_mocks.go
│ ├── workspace_resources.go
│ └── workspace_run_tasks_mocks.go
├── notification_configuration.go
├── notification_configuration_integration_test.go
├── oauth_client.go
├── oauth_client_integration_test.go
├── oauth_token.go
├── oauth_token_integration_test.go
├── organization.go
├── organization_audit_configuration.go
├── organization_audit_configuration_integration_test.go
├── organization_integration_test.go
├── organization_membership.go
├── organization_membership_integration_test.go
├── organization_tags.go
├── organization_tags_integration_test.go
├── organization_token.go
├── organization_token_integration_test.go
├── plan.go
├── plan_export.go
├── plan_export_integration_test.go
├── plan_integration_test.go
├── policy.go
├── policy_check.go
├── policy_check_integration_test.go
├── policy_evaluation.go
├── policy_evaluation_beta_test.go
├── policy_integration_test.go
├── policy_set.go
├── policy_set_integration_test.go
├── policy_set_parameter.go
├── policy_set_parameter_integration_test.go
├── policy_set_version.go
├── policy_set_version_integration_test.go
├── project.go
├── projects_integration_test.go
├── query_runs.go
├── query_runs_integration_test.go
├── registry_module.go
├── registry_module_integration_test.go
├── registry_module_test.go
├── registry_no_code_module.go
├── registry_no_code_module_integration_test.go
├── registry_provider.go
├── registry_provider_integration_test.go
├── registry_provider_platform.go
├── registry_provider_platform_integration_test.go
├── registry_provider_version.go
├── registry_provider_version_integration_test.go
├── request.go
├── request_hooks.go
├── request_hooks_test.go
├── request_test.go
├── reserved_tag_key.go
├── reserved_tag_key_integration_test.go
├── run.go
├── run_event.go
├── run_event_integration_test.go
├── run_integration_test.go
├── run_task.go
├── run_task_integration_test.go
├── run_task_request.go
├── run_tasks_integration.go
├── run_tasks_integration_test.go
├── run_trigger.go
├── run_trigger_integration_test.go
├── scripts/
│ ├── generate_resource/
│ │ ├── go.mod
│ │ ├── go.sum
│ │ ├── main.go
│ │ └── templates.go
│ ├── gofmtcheck.sh
│ ├── hyok-testing.sh
│ ├── rebase-fork.sh
│ └── setup-test-envvars.sh
├── ssh_key.go
├── ssh_key_integration_test.go
├── stack.go
├── stack_configuration.go
├── stack_configuration_integration_test.go
├── stack_configuration_summary.go
├── stack_configuration_summary_integration_test.go
├── stack_deployment.go
├── stack_deployment_groups.go
├── stack_deployment_groups_integration_test.go
├── stack_deployment_groups_summary.go
├── stack_deployment_groups_summary_integration_test.go
├── stack_deployment_integration_test.go
├── stack_deployment_runs.go
├── stack_deployment_runs_integration_test.go
├── stack_deployment_steps.go
├── stack_deployment_steps_integration_test.go
├── stack_diagnostic.go
├── stack_diagnostic_integration_test.go
├── stack_integration_test.go
├── stack_state.go
├── stack_state_integration_test.go
├── state_version.go
├── state_version_integration_test.go
├── state_version_output.go
├── state_version_output_integration_test.go
├── subscription_updater_test.go
├── tag.go
├── task_result.go
├── task_stages.go
├── task_stages_integration_beta_test.go
├── task_stages_integration_test.go
├── team.go
├── team_access.go
├── team_access_integration_test.go
├── team_integration_test.go
├── team_member.go
├── team_member_integration_test.go
├── team_project_access.go
├── team_project_access_integration_test.go
├── team_token.go
├── team_token_integration_test.go
├── test-fixtures/
│ ├── archive-dir/
│ │ ├── bar.txt
│ │ ├── exe
│ │ ├── foo.txt
│ │ └── sub/
│ │ └── zip.txt
│ ├── config-version/
│ │ └── main.tf
│ ├── config-version-with-test/
│ │ ├── main.tf
│ │ └── main.tftest.hcl
│ ├── json-state/
│ │ └── state.json
│ ├── json-state-outputs/
│ │ └── everything.json
│ ├── policy-set-version/
│ │ ├── enforce-mandatory-tags.sentinel
│ │ └── sentinel.hcl
│ ├── stack-source/
│ │ ├── .terraform-version
│ │ ├── components.tfstack.hcl
│ │ ├── deployments.tfdeploy.hcl
│ │ ├── nulls/
│ │ │ └── main.tf
│ │ └── pet/
│ │ └── main.tf
│ └── state-version/
│ └── terraform.tfstate
├── test_config.go
├── test_run.go
├── test_run_integration_test.go
├── test_variables.go
├── test_variables_integration_test.go
├── tfe.go
├── tfe_integration_test.go
├── tfe_test.go
├── type_helpers.go
├── user.go
├── user_integration_test.go
├── user_token.go
├── user_token_integration_test.go
├── validations.go
├── validations_test.go
├── variable.go
├── variable_integration_test.go
├── variable_set.go
├── variable_set_test.go
├── variable_set_variable.go
├── variable_set_variable_test.go
├── vault_oidc_configuration.go
├── vault_oidc_configuration_integration_test.go
├── workspace.go
├── workspace_integration_test.go
├── workspace_resources.go
├── workspace_resources_integration_test.go
├── workspace_run_task.go
└── workspace_run_task_integration_test.go
================================================
FILE CONTENTS
================================================
================================================
FILE: .copywrite.hcl
================================================
schema_version = 1
project {
license = "MPL-2.0"
copyright_year = 2018
# (OPTIONAL) A list of globs that should not have copyright/license headers.
# Supports doublestar glob patterns for more flexibility in defining which
# files or folders should be ignored
header_ignore = [
# "vendors/**",
# "**autogen**",
]
}
================================================
FILE: .github/CODEOWNERS
================================================
* @hashicorp/tf-core-cloud
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Let us know about an unexpected error, a crash, or an incorrect behavior.
labels: bug
---
<!--
Hi there,
Thank you for opening an issue! Please note that we try to keep the this issue
tracker reserved for bug reports and feature requests related to the go-tfe API
wrapper. If you know your issue relates to the HCP Terraform and Terraform Enterprise
platform itself, please contact tf-cloud@hashicorp.support. For general usage
questions, please post to our community forum: https://discuss.hashicorp.com.
-->
#### go-tfe version
<!---
What version of go-tfe are you using?
-->
```plaintext
...
```
## Description
<!-- Describe what's happening. -->
## Testing plan
<!--
1. _Describe how to replicate_
1. _the conditions under which your code performs its purpose,_
1. _including example code to run where necessary._
-->
```plaintext
...
```
#### Expected Behavior
<!--
What should have happened?
-->
#### Actual Behavior
<!--
What actually happened?
-->
#### Additional Context
<!--
Is there anything atypical about your situation that we should know? For
example: is Terraform running in a wrapper script or in a CI system? Are you
passing any unusual command line options or environment variables to opt-in to
non-default behavior?
-->
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
blank_issues_enabled: false
contact_links:
- name: HCP Terraform and Terraform Enterprise Troubleshooting and Feature Requests
url: https://support.hashicorp.com/hc/en-us/requests/new
about: For issues and feature requests concerning the HCP Terraform and Terraform Enterprise platform itself, please submit a HashiCorp support request or email tf-cloud@hashicorp.support
- name: Terraform Language or Workflow Questions
url: https://discuss.hashicorp.com
about: Please ask Terraform language or workflow related questions through the HashiCorp Discuss forum
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest a new feature or other enhancement.
labels: feature-request
---
<!--
Hi there,
Thank you for opening an issue! Please note that we try to keep the this issue tracker reserved for
bug reports and feature requests related to the go-tfe API wrapper. If you know
your issue relates to the HCP Terraform and Terraform Enterprise platform itself, please contact
tf-cloud@hashicorp.support. For general usage questions, please post to our community forum:
https://discuss.hashicorp.com.
-->
#### Use-cases
<!---
In order to properly evaluate a feature request, it is necessary to understand the use-cases for it.
Please describe below the _end goal_ you are trying to achieve that has led you to request this feature.
Please keep this section focused on the problem and not on the suggested solution. We'll get to that in a moment, below!
-->
#### Attempted Solutions
<!---
If you've already tried to solve the problem with existing features and found a limitation that prevented you from succeeding, please describe it below in as much detail as possible.
Ideally, this would include real configuration snippets that you tried, real Terraform command lines you ran, and what results you got in each case.
Please remove any sensitive information such as passwords before sharing configuration snippets and command lines.
-->
#### Proposal
<!---
If you have an idea for a way to address the problem via a change to this library, please describe it below.
In this section, it's helpful to include specific examples of how what you are suggesting might look in your code since that allows us to understand the full picture of what you are proposing.
If you don't know what you'd propose or are unsure of some details, don't worry! When we evaluate the feature request we'll be happy to help.
-->
================================================
FILE: .github/actions/lint-go-tfe/action.yml
================================================
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
name: Lint
description: Lints go-tfe
runs:
using: composite
steps:
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache: true
- run: make fmtcheck
shell: bash
- name: Install golangci-lint
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/6008b81b81c690c046ffc3fd5bce896da715d5fd/install.sh | sh -s -- -b $(go env GOPATH)/bin $GOLANGCILINT_VERSION
shell: bash
env:
GOLANGCILINT_VERSION: v2.11.3
- run: make lint
shell: bash
- name: Ensure generate_mocks.sh ends in a newline
run: test "" = "$(tail -c1 "generate_mocks.sh")"
shell: bash
- name: Install mockgen
shell: bash
run: go install go.uber.org/mock/mockgen@v0.4.0
- name: Get dependencies
shell: bash
run: go mod download
- name: Generate mocks
shell: bash
run: ./generate_mocks.sh
- name: verify go.mod and go.sum are consistent
shell: bash
run : go mod tidy
- name: Ensure mocks are generated
shell: bash
run: git diff --exit-code
================================================
FILE: .github/actions/test-go-tfe/action.yml
================================================
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
name: Test
description: Tests go-tfe within a matrix
inputs:
matrix_index:
description: Index of the matrix strategy runner
required: true
matrix_total:
description: Total number of matrix strategy runners
required: true
address:
description: Address of the HCP Terraform instance to test against
required: true
admin_configuration_token:
description: HCP Terraform Admin API Configuration role token
required: true
admin_provision_licenses_token:
description: HCP Terraform Admin API Provision Licenses role token
required: true
admin_security_maintenance_token:
description: HCP Terraform Admin API Security Maintenance role token
required: true
admin_site_admin_token:
description: HCP Terraform Admin API Site Admin role token
required: true
admin_subscription_token:
description: HCP Terraform Admin API Subscription role token
required: true
admin_support_token:
description: HCP Terraform Admin API Support role token
required: true
admin_version_maintenance_token:
description: HCP Terraform Admin API Version Maintenance role token
required: true
token:
description: HCP Terraform token
required: true
oauth-client-github-token:
description: The GitHub token used for testing OAuth scenarios for VCS workspaces
required: false
enterprise:
description: Test enterprise features (`address` must be running in ON_PREM mode)
required: false
datadog-workflow-token:
description: Datadog API key for test optimization
required: false
skip-statement:
description: Skip tests with this statement substring in their name
required: false
runs:
using: composite
steps:
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache: true
cache-dependency-path: go.sum
- name: Sync dependencies
shell: bash
run: |
go mod download
go mod tidy
- name: Install gotestsum
shell: bash
run: go install gotest.tools/gotestsum@c4a0df2e75a225d979a444342dd3db752b53619f # v1.13.0
- name: Download artifact
id: download-artifact
uses: dawidd6/action-download-artifact@09f2f74827fd3a8607589e5ad7f9398816f540fe # v3.1.4
with:
workflow_conclusion: success
name: junit-test-summary
if_no_artifact_found: warn
branch: main
- name: Split integration tests
id: test_split
uses: hashicorp-forge/go-test-split-action@796beedbdb3d1bea14cad2d3057bab5c5cf15fe5 # v1.0.2
with:
index: ${{ inputs.matrix_index }}
total: ${{ inputs.matrix_total }}
junit-summary: ./ci-summary.xml
- name: Configure Datadog Test Optimization
uses: datadog/test-visibility-github-action@v2
with:
languages: go
api_key: ${{ inputs.datadog-workflow-token }}
site: datadoghq.com
- name: Run integration tests
shell: bash
env:
TFE_ADDRESS: ${{ inputs.address }}
TFE_TOKEN: ${{ inputs.token }}
TFE_ADMIN_CONFIGURATION_TOKEN: ${{ inputs.admin_configuration_token }}
TFE_ADMIN_PROVISION_LICENSES_TOKEN: ${{ inputs.admin_provision_licenses_token }}
TFE_ADMIN_SECURITY_MAINTENANCE_TOKEN: ${{ inputs.admin_security_maintenance_token }}
TFE_ADMIN_SITE_ADMIN_TOKEN: ${{ inputs.admin_site_admin_token }}
TFE_ADMIN_SUBSCRIPTION_TOKEN: ${{ inputs.admin_subscription_token }}
TFE_ADMIN_SUPPORT_TOKEN: ${{ inputs.admin_support_token }}
TFE_ADMIN_VERSION_MAINTENANCE_TOKEN: ${{ inputs.admin_version_maintenance_token }}
TFC_RUN_TASK_URL: "http://testing-mocks.tfe:22180/runtasks/pass"
GITHUB_POLICY_SET_IDENTIFIER: "svc-team-tf-core-cloud/test-policy-set"
GITHUB_REGISTRY_MODULE_IDENTIFIER: "svc-team-tf-core-cloud/terraform-random-module"
GITHUB_REGISTRY_NO_CODE_MODULE_IDENTIFIER: "hashicorp/terraform-random-no-code-module"
OAUTH_CLIENT_GITHUB_TOKEN: "${{ inputs.oauth-client-github-token }}"
SKIP_HYOK_INTEGRATION_TESTS: "${{ inputs.skip-hyok-integration-tests }}"
HYOK_ORGANIZATION_NAME: "${{ inputs.hyok-organization-name }}"
HYOK_WORKSPACE_NAME: "${{ inputs.hyok-workspace-name }}"
HYOK_POOL_ID: "${{ inputs.hyok-pool-id }}"
HYOK_PLAN_ID: "${{ inputs.hyok-plan-id }}"
HYOK_STATE_VERSION_ID: "${{ inputs.hyok-state-version-id }}"
HYOK_CUSTOMER_KEY_VERSION_ID: "${{ inputs.hyok-customer-key-version-id }}"
HYOK_ENCRYPTED_DATA_KEY_ID: "${{ inputs.hyok-encrypted-data-key-id }}"
GO111MODULE: "on"
ENABLE_TFE: ${{ inputs.enterprise }}
run: |
gotestsum --junitfile summary.xml --format short-verbose --rerun-fails=3 --packages=./ -- -parallel=2 -timeout=59m -coverprofile cover.out -run "${{ steps.test_split.outputs.run }}" ${{ inputs.skip-statement }}
- name: Upload test artifacts
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: junit-test-summary-${{ matrix.index }}
path: |
summary.xml
cover.out
retention-days: 1
================================================
FILE: .github/dependabot.yml
================================================
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
version: 2
updates:
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
================================================
FILE: .github/pull_request_template.md
================================================
<!--
Thank you for contributing to hashicorp/go-tfe! Please read docs/CONTRIBUTING.md for detailed information when preparing your change.
Here's what to expect after the pull request is opened:
The test suite contains many acceptance tests that are run against a test version of HCP Terraform, and additional testing is done against Terraform Enterprise. You can read more about running the tests against your own Terraform Enterprise environment in TESTS.md. Our CI system (Github Actions) will not test your fork until a one-time approval takes place.
Your change, depending on its impact, may be released in the following ways:
1. For impactful bug fixes, it can be released fairly quickly as a patch release.
2. For noncritical bug fixes and new features, it will be incorporated into the next minor version release.
3. For breaking changes (those changes that alter the public method signatures), more consideration must be made and alternatives may be considered, depending on upgrade difficulty and release schedule.
Please note that API features that are not generally available should not be merged/released without prior discussion with the maintainers. See docs/CONTRIBUTING Section "Adding API changes that are not generally available" for more information.
Please fill out the remaining template to assist code reviewers and testers with incorporating your change. If a section does not apply, feel free to delete it.
-->
## Description
<!-- Describe why you're making this change. -->
## Testing plan
<!--
1. _Describe how to replicate_
1. _the conditions under which your code performs its purpose,_
1. _including example code to run where necessary._
-->
## External links
<!--
_Include any links here that might be helpful for people reviewing your PR. If there are none, feel free to delete this section._
- [API documentation](https://developer.hashicorp.com/terraform/cloud-docs/api-docs/xxxx)
- [Related PR](https://github.com/terraform-providers/terraform-provider-tfe/pull/xxxx)
-->
## Output from tests
Including output from tests may require access to a TFE instance. Ignore this section if you have no environment to test against.
<!--
_Please run the tests locally for any files you changes and include the output here._
-->
```
$ TFE_ADDRESS="https://example" TFE_TOKEN="example" go test ./... -v -run TestFunctionsAffectedByChange
...
```
<!-- heimdall_github_prtemplate:grc-pci_dss-2024-01-05 -->
## Rollback Plan
<!--
Please outline a plan in the event changes need to be rolled back
Example: If a change needs to be reverted, we will roll out an update to the code within 7 days.
-->
## Changes to Security Controls
<!--
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
-->
================================================
FILE: .github/workflows/changelog.yml
================================================
# This workflow makes sure contributors don't forget to add a changelog entry or explicitly opt-out of it.
name: Changelog
on:
pull_request_target:
types:
- opened
- ready_for_review
- reopened
- synchronize
- labeled
- unlabeled
# This workflow runs for not-yet-reviewed external contributions and so it
# intentionally has no write access and only limited read access to the
# repository.
permissions:
contents: read
pull-requests: write
jobs:
check-changelog-entry:
name: "Check Changelog Entry"
runs-on: ubuntu-latest
concurrency:
group: changelog-${{ github.head_ref }}
cancel-in-progress: true
steps:
- name: "Changed files"
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changelog
with:
filters: |
changelog:
- 'CHANGELOG.md'
- name: "Check for changelog entry"
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
async function createOrUpdateChangelogComment(commentDetails, deleteComment) {
const commentStart = "## Changelog Warning"
const body = commentStart + "\n\n" + commentDetails;
const { number: issue_number } = context.issue;
const { owner, repo } = context.repo;
// List all comments
const allComments = (await github.rest.issues.listComments({
issue_number,
owner,
repo,
})).data;
const existingComment = allComments.find(c => c.body.startsWith(commentStart));
const comment_id = existingComment?.id;
if (deleteComment) {
if (existingComment) {
await github.rest.issues.deleteComment({
owner,
repo,
comment_id,
});
}
return;
}
core.setFailed(commentDetails);
if (existingComment) {
await github.rest.issues.updateComment({
owner,
repo,
comment_id,
body,
});
} else {
await github.rest.issues.createComment({
owner,
repo,
issue_number,
body,
});
}
}
const changelogChangesPresent = ${{steps.changelog.outputs.changelog}};
const prLabels = await github.rest.issues.listLabelsOnIssue({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo
});
const noChangelogNeededLabel = prLabels.data.find(label => label.name === 'no-changelog-needed');
if (noChangelogNeededLabel) {
if (changelogChangesPresent) {
await createOrUpdateChangelogComment("Please remove either the 'no-changelog-needed' label or the changelog entry from this PR.");
return;
}
await createOrUpdateChangelogComment("", true);
return;
}
if (!changelogChangesPresent) {
await createOrUpdateChangelogComment("Please add a changelog entry to `CHANGELOG.md` for this change. If you believe this change does not need a changelog entry, please add the 'no-changelog-needed' label.");
return;
}
// Nothing to complain about, so delete any existing comment
await createOrUpdateChangelogComment("", true);
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: ./.github/actions/lint-go-tfe
tests:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# If you adjust these parameters, also adjust the jrm input files on the "Merge reports" step below
total: [8]
index: [0, 1, 2, 3, 4, 5, 6, 7]
steps:
- name: terraform-cloud-outputs
id: tflocal
uses: hashicorp-forge/terraform-cloud-action/outputs@5583d5f554d268ac91b3c37fd0a5e9da2c78c017 # v1.1.0
with:
token: ${{ secrets.TF_WORKFLOW_TFLOCAL_CLOUD_TFC_TOKEN }}
organization: hashicorp-v2
workspace: tflocal-go-tfe
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: ./.github/actions/test-go-tfe
with:
matrix_index: ${{ matrix.index }}
matrix_total: ${{ matrix.total }}
address: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_address }}
token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_token }}
admin_configuration_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.configuration }}
admin_provision_licenses_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.provision-licenses }}
admin_security_maintenance_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.security-maintenance }}
admin_site_admin_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.site-admin }}
admin_subscription_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.subscription }}
admin_support_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.support }}
admin_version_maintenance_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.version-maintenance }}
oauth-client-github-token: ${{ secrets.OAUTH_CLIENT_GITHUB_TOKEN }}
datadog-workflow-token: ${{ secrets.TF_WORKFLOW_DATADOG_API_KEY }}
tests-combine-summaries:
name: Combine Test Reports
needs: [tests]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 20
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version: "^1.22"
cache: true
- name: Download artifacts
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.18.0
- name: Install junit-report-merger
run: npm install -g junit-report-merger
- name: Install gocovmerge
run: go install github.com/wadey/gocovmerge@latest
# Note -- we're intentionally including this in the same job as the running of the tests themselves. This is to
# future proof for when Datadog supports tracing of Go tests rather than just uploading coverage results.
# Ref: https://docs.datadoghq.com/continuous_integration/setup_tests/
- name: prepare datadog-ci
run: |
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output "/usr/local/bin/datadog-ci"
chmod +x /usr/local/bin/datadog-ci
- name: Merge coverage reports
run: |
gocovmerge junit-test-summary-{0..7}/cover.out > merged-coverage.out
- name: Merge junit reports
run: jrm ./ci-summary.xml "junit-test-summary-{0..7}/*.xml"
- name: Upload test artifacts
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: junit-test-summary
path: ./ci-summary.xml
- name: upload coverage
env:
DATADOG_API_KEY: "${{ secrets.TF_WORKFLOW_DATADOG_API_KEY }}"
DD_ENV: ci
run: |
coverage=$(go tool cover -func merged-coverage.out | tail -n 1 | awk '{print $3}' | tr -d -c 0-9.)
datadog-ci junit upload --service "$GITHUB_REPOSITORY" --report-measures=test.code_coverage.lines_pct:$coverage ./ci-summary.xml
tests-summarize:
name: Summarize Tests
needs: [tests]
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
- name: Check tests Status
run: |
if [ "${{ needs.tests.result }}" = "success" ]; then
exit 0
fi
exit 1
================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main ]
pull_request:
schedule:
- cron: '15 2 * * 2'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
================================================
FILE: .github/workflows/create-jira-issue.yml
================================================
name: Jira Issue Sync
on:
issues:
types: [opened, closed, deleted, reopened]
issue_comment:
types: [created]
jobs:
call-workflow:
uses: hashicorp/terraform-provider-tfe/.github/workflows/jira-issue-sync.yml@main
with:
project: TF
issue-extra-fields: |
{ "customfield_10091": ["TF-Core-Cloud"],
"components": [{ "name": "Go-TFE" }],
"customfield_10008": "${{ contains(github.event.issue.labels.*.name, 'bug') && 'TF-9179' || 'TF-7490' }}"
}
secrets: inherit
================================================
FILE: .github/workflows/jira-pr-transition.yml
================================================
name: Jira PR Transition
on:
pull_request:
types: [opened, closed, reopened, converted_to_draft, ready_for_review]
jobs:
call-workflow:
uses: hashicorp/terraform-provider-tfe/.github/workflows/jira-pr-transition.yml@main
secrets: inherit
================================================
FILE: .github/workflows/merged-pr.yml
================================================
name: Merged Pull Request
permissions:
pull-requests: write
# only trigger on pull request closed events
on:
pull_request_target:
types: [ closed ]
jobs:
merge_job:
# this job will only run if the PR has been merged
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6.4.1
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: "Reminder to the contributor that merged this PR: if your changes have added important functionality or fixed a relevant bug, open a follow-up PR to update CHANGELOG.md with a note on your changes."
})
================================================
FILE: .github/workflows/nightly-tfe-ci.yml
================================================
name: Nightly TFE Tests
on:
workflow_dispatch:
schedule:
# Monday-Friday at 7:30AM UTC (90 minutes after infrastructure rebuild)
- cron: '30 7 * * 1-5'
jobs:
instance:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: terraform-cloud/apply
uses: hashicorp-forge/terraform-cloud-action/apply@5583d5f554d268ac91b3c37fd0a5e9da2c78c017 # v1.1.0
with:
organization: hashicorp-v2
workspace: tflocal-go-tfe-nightly
token: ${{ secrets.TF_WORKFLOW_TFLOCAL_CLOUD_TFC_TOKEN }}
wait: true
tests:
needs: instance
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
total: [ 1 ]
index: [ 0 ]
steps:
- name: terraform-cloud/outputs
id: tflocal
uses: hashicorp-forge/terraform-cloud-action/outputs@5583d5f554d268ac91b3c37fd0a5e9da2c78c017 # v1.1.0
with:
token: ${{ secrets.TF_WORKFLOW_TFLOCAL_CLOUD_TFC_TOKEN }}
organization: hashicorp-v2
workspace: tflocal-go-tfe-nightly
- name: Checkout code
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: ./.github/actions/test-go-tfe
with:
matrix_index: ${{ matrix.index }}
matrix_total: ${{ matrix.total }}
address: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_address }}
token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_token }}
oauth-client-github-token: ${{ secrets.OAUTH_CLIENT_GITHUB_TOKEN }}
enterprise: "1"
tests-summarize:
needs: [ tests ]
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
- name: Check tests Status
run: |
if [ "${{ needs.tests.result }}" = "success" ]; then
exit 0
fi
exit 1
slack-notify:
needs: [ tests-summarize ]
if: always() && (needs.tests-summarize.result == 'failure')
runs-on: ubuntu-latest
steps:
- name: Send slack notification on failure
uses: slackapi/slack-github-action@007b2c3c751a190b6f0f040e47ed024deaa72844 # v1.23.0
with:
payload: |
{
"text": ":x::moon::sob: Nightly TFE tests *FAILED* on ${{ github.repository }}",
"attachments": [
{
"color": "#C41E3A",
"blocks": [
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Workflow:*\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
]
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
cleanup:
runs-on: ubuntu-latest
needs: ["tests-summarize"]
if: "${{ always() }}"
steps:
- name: terraform-cloud/destroy
uses: hashicorp-forge/terraform-cloud-action/destroy@5583d5f554d268ac91b3c37fd0a5e9da2c78c017 # v1.1.0
with:
token: ${{ secrets.TF_WORKFLOW_TFLOCAL_CLOUD_TFC_TOKEN }}
organization: hashicorp-v2
workspace: tflocal-go-tfe-nightly
================================================
FILE: .gitignore
================================================
.DS_Store
# Commonplace IDE output that should never be committed
.out
.vscode/*.log
.vscode/settings.json
.idea/
.envrc
.rgignore
================================================
FILE: .golangci.yml
================================================
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
version: "2"
run:
timeout: 5m
linters:
# This set of linters are enabled by default: deadcode, errcheck, gosimple, govet, ineffasign, staticcheck, struccheck, typecheck, unused, varcheck
enable:
# List of all linters: https://golangci-lint.run/usage/linters/
- whitespace #https://github.com/ultraware/whitespace
# - noctx #https://github.com/sonatard/noctx
- nilerr #https://github.com/gostaticanalysis/nilerr
- nestif #https://github.com/nakabonne/nestif
- copyloopvar #https://github.com/karamaru-alpha/copyloopvar
- bodyclose #https://github.com/timakin/bodyclose
- goconst #https://github.com/jgautheron/goconst
- errcheck #https://github.com/kisielk/errcheck
- staticcheck # stylecheck/gosimple checks are part of staticcheck in v2
- revive #golint is deprecated and golangci-lint recommends to use revive instead https://github.com/mgechev/revive
#other deprecated lint libraries: maligned, scopelint, interfacer
- gocritic #https://github.com/go-critic/go-critic
- unparam #https://github.com/mvdan/unparam
- misspell #https://github.com/client9/misspell
exclusions:
rules:
- path: tfe_integration_test.go
linters:
- errcheck # Many calls in this test are known to return an error and not checked
- linters:
- staticcheck
text: "Ascii" # Permanently part of the public interface unless we break the API
- path: _test\.go
linters:
- errcheck
- goconst
- unused
- unparam
settings:
errcheck:
# https://github.com/kisielk/errcheck#excluding-functions
check-type-assertions: true
check-blank: true
goconst:
min-len: 20
min-occurrences: 5
ignore-calls: false
gocritic:
enabled-tags:
- diagnostic
- opinionated
- performance
disabled-checks:
- unnamedResult
- hugeParam
- singleCaseSwitch
- ifElseChain
revive:
severity: warning
rules:
- name: indent-error-flow #Prevents redundant else statements
severity: warning
- name: useless-break
severity: warning
================================================
FILE: CHANGELOG.md
================================================
# Unreleased
## Bug Fixes
* Improve API error handling to decode both JSON:API error objects and regular JSON errors arrays by @uk1288 [#1304](https://github.com/hashicorp/go-tfe/pull/1304)
## Enhancements
* Adds the `ProviderType` field to `AdminSAMLSetting` and `AdminSAMLSettingsUpdateOptions` to support the `provider-type` SAML setting.
* Adds `SCIMSettings` / `AdminSCIMSetting` to support managing site-level SCIM settings by @skj-skj [#1307](https://github.com/hashicorp/go-tfe/pull/1307)
* Adds BETA support for delegating policy overrides on teams by @jbonhag [#1301](https://github.com/hashicorp/go-tfe/pull/1301)
* Adds `AdminSCIMTokens` to support managing site-level SCIM tokens by @skj-skj [#1310](https://github.com/hashicorp/go-tfe/pull/1310)
* Add support for trigger patterns and working directories to stacks by @aaabdelgany [#1305](https://github.com/hashicorp/go-tfe/pull/1305)
* Adds `PolicyUpdatePatterns` to `PolicySet`, `PolicySetCreateOptions`, and `PolicySetUpdateOptions` to support `policy-update-patterns` by @nithishravindra [#1306](https://github.com/hashicorp/go-tfe/pull/1306/)
* Adds `AdminSCIMGroups` to support fetching SCIM groups provisioned in Terraform Enterprise via an IdP by @skj-skj [#1314](https://github.com/hashicorp/go-tfe/pull/1314)
# v1.103.0
## Enhancements
* Adds the `ProjectExclusions` field to the `PolicySet` struct to support project level exclusions of policy sets by @subhro-acharjee-1 [#1290](https://github.com/hashicorp/go-tfe/pull/1290)
# v1.102.0
## Enhancements
* Adds the `Size` field to `StateVersion` by @shaunakone [#1280](https://github.com/hashicorp/go-tfe/pull/1280)
* Upgrade go version from `1.24` to `1.25` by @uk1288 [#1297](https://github.com/hashicorp/go-tfe/pull/1297)
# v1.101.0
## Enhancements
* Adds the `SpeculativeEnabled` field to the `StackCreateOptions` and `StackUpdateOptions` structs by @arunatibm [1279](https://github.com/hashicorp/go-tfe/pull/1279)
* Adds `Name` and `Provider` fields to `RegistryModuleCreateWithVCSConnectionOptions` to support explicit module naming for monorepos with non-standard repository names, by @jillirami [#1277](https://github.com/hashicorp/go-tfe/pull/1277)
# v1.100.0
## Enhancements
* Adds `ReadWithOptions` method to `RunTriggers` to support including related resources when reading a run trigger by @Maed223 [#1275](https://github.com/hashicorp/go-tfe/pull/1275)
# v1.99.0
## Enhancements
* Adds `ProjectRemoteState` field to `Workspace` to support state sharing at the project level, by @hs26gill [#1248](https://github.com/hashicorp/go-tfe/pull/1248)
* Adds 'Migration' field to `StackCreateOptions` and `CreationSource` to stack struct to provide insights re: stack creation [#1266](https://github.com/hashicorp/go-tfe/pull/1266)
# v1.98.0
## Enhancements
* Adds `UserTokensEnabled` field to `Organization` to support enabling/disabling user tokens for an organization by @JarrettSpiker [#1225](https://github.com/hashicorp/go-tfe/pull/1225)
* Adds `DeploymentRunStatus` and `DeploymentStepStatus` types by @Maed223 [#1261](https://github.com/hashicorp/go-tfe/pull/1261)
## Bug Fixes
* Resolve differences between given and actual status composition in `StackConfigurationStatus` and `DeploymentGroupStatus` by @Maed223 [#1261](https://github.com/hashicorp/go-tfe/pull/1261)
# v1.97.0
## Enhancements
* Add variable set support for stacks with `ApplyToStacks`, `RemoveFromStacks`, and `UpdateStacks` API methods by @nithishravindra [#1251](https://github.com/hashicorp/go-tfe/pull/1251)
# v1.96.0
## Enhancements
* QueryRun API is now generally available in HCP Terraform (not available in Terraform Enterprise), by @sowju-hashicorp [#1245](https://github.com/hashicorp/go-tfe/pull/1245)
* Remove org settings validation in RegistryModulesCreateMonorepo tests, by @jillirami ([#1236](https://github.com/hashicorp/go-tfe/pull/1236))
* Add `RemoteTFENumericVersion()` to the `Client` interface, which exposes the `X-TFE-Current-Version` header set by a remote TFE instance by @skj-skj [#1246](https://github.com/hashicorp/go-tfe/pull/1246)
# v1.95.0
## Enhancements
* Add `Sort` option to `Agents` and `AgentPools`, by @twitnithegirl [#1229](https://github.com/hashicorp/go-tfe/pull/1229)
* Add serialization for `StacksEnabled` field, `CanEnableStacks` & `CanCreateProject` permissions on Organization Read by @a-anurag27 [#1230](https://github.com/hashicorp/go-tfe/pull/1230)
* Adds new stacks resources `StackDeployments`, `StackDiagnostics`, and `StackStates`, by @ctrombley [#1226](https://github.com/hashicorp/go-tfe/pull/1226)
* Adds new `Diagnostics` methods to `StackConfigurations`, and `StackDeploymentSteps`, by @ctrombley [#1226](https://github.com/hashicorp/go-tfe/pull/1226)
* Adds new `Artifacts` method to `StackDeploymentSteps`, by @ctrombley [#1226](https://github.com/hashicorp/go-tfe/pull/1226)
* Add serialization for `StacksEnabled` field, `CanEnableStacks` & `CanCreateProject` permissions on Organization Read by @a-anurag27 [#1230](https://github.com/hashicorp/go-tfe/pull/1230)
# v1.94.0
## Enhancements
* Add BETA support for Action invocations via `CreateRunOptions` by @mutahhir [#1206](https://github.com/hashicorp/go-tfe/pull/1206)
# v1.93.0
## Enhancements
* Exports the StackConfiguration UploadTarGzip receiver function [#1219](https://github.com/hashicorp/go-tfe/pull/1219)
* Updates BETA stacks resource schemas to match latest API spec by @ctrombley [#1220](https://github.com/hashicorp/go-tfe/pull/1220)
* Adds support for Hold Your Own Key by @helenjw , @iuri-slywitch-hashicorp and @dominic-retli-hashi [#1201](https://github.com/hashicorp/go-tfe/pull/1201)
## Deprecations
* The beta `StackDeployments`, `StackPlan`, `StackPlanOperation`, and `StackSource` resources have been removed, by @sahar-azizighannad [#1205](https://github.com/hashicorp/go-tfe/pull/1205)
# v1.92.0
## Enhancements
* Adds BETA support for performing Registry Module test runs on custom Agents by @hashimooon [#1209](httpsLhttps://github.com/hashicorp/go-tfe/pull/1209)
* Adds support for managing agent pools on `Stacks` by @maed223 [#1214](https://github.com/hashicorp/go-tfe/pull/1214)
## Bug Fixes
* Fixes arch validation on Terraform, OPA, and Sentinel Tool Versions when providing top level `url` and `sha` with multiple `archs` by @kelsi-hoyle [#1212](https://github.com/hashicorp/go-tfe/pull/1212)
# v1.91.1
## Bug Fixes
* Fixes timestamp attribute mapping for deployment runs to use correct API field names (`created-at`/`updated-at` instead of `started-at`/`completed-at`) by @shwetamurali [#1199](https://github.com/hashicorp/go-tfe/pull/1199)
## Enhancements
* Adds support for listing `StackConfigurationSummaries` by @hwatkins05-hashicorp [#1204](https://github.com/hashicorp/go-tfe/pull/1204)
# v1.91.0
## Enhancements
* Adds `Logs` method to `QueryRuns`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @brandonc [#1186](https://github.com/hashicorp/go-tfe/pull/1186)
* Adds `Source` field to `Workspace` by @jpadrianoGo [#1124](https://github.com/hashicorp/go-tfe/pull/1124)
* Adds `CreatedBy` relation to `AgentToken` by @jpadrianoGo [#1149](https://github.com/hashicorp/go-tfe/pull/1149)
* Adds `CreatedAt` field to `AgentPool` by @jpadrianoGo [#1150](https://github.com/hashicorp/go-tfe/pull/1150)
* Adds `CanceledAt`, `RunEvents`, `TriggerReason` field to `Run` by @jpadrianoGo [#1161](https://github.com/hashicorp/go-tfe/pull/1161)
* Adds `AllowedProjects` and `ExcludedWorkspaces` to `AgentPool` by @tylerwolf [#1185](https://github.com/hashicorp/go-tfe/pull/1185)
* Adds `DefaultExecutionMode`, `DefaultAgentPool`, and `SettingOverwrites` to `Project` by @tylerwolf [#1185](https://github.com/hashicorp/go-tfe/pull/1185)
* Adds `IconUrl`, `InstallationType`, and `InstallationURL` to githubAppInstallation, by @jpadrianoGo [#1191](https://github.com/hashicorp/go-tfe/pull/1191)
* Adds support for `Workspace` VCSRepoOptions source_directory and tag_prefix, by @jillrami [#1194] (https://github.com/hashicorp/go-tfe/pull/1194)
# v1.90.0
## Bug Fixes
* Fixes `IngressAttributes` field decoding in `PolicySetVersion` by @rageshganeshkumar [#1164](https://github.com/hashicorp/go-tfe/pull/1164)
* Fixes issue [1061](https://github.com/hashicorp/go-tfe/issues/1061), validation accepts all RunStatus including `"cost_estimated"` by @KenCox-Hashicorp [#1171](https://github.com/hashicorp/go-tfe/pull/1171)
## Enhancements
* Add support for querying and filtering private registry modules based on a search query, `provider`, `registry_name` and `organization_name`, by @gautambaghel [#1179](https://github.com/hashicorp/go-tfe/pull/1179)
* Adds support for `RegistryModule` VCS source_directory and tag_prefix options, by @jillrami [#1154] (https://github.com/hashicorp/go-tfe/pull/1154)
* Adds endpoint for reruning a stack deployment by @hwatkins05-hashicorp/@Maed223 [#1176](https://github.com/hashicorp/go-tfe/pull/1176)
* Adds `ReadByName` for `StackDeploymentGroup` by @Maed223 [#1181](https://github.com/hashicorp/go-tfe/pull/1181)
* Adds BETA support for listing `QueryRuns`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @brandonc [#1177](https://github.com/hashicorp/go-tfe/pull/1177)
* Adds BETA support for `CreateAndUpload` for `StackConfiguration`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @Maed223 [#1184](https://github.com/hashicorp/go-tfe/pull/1184)
# v1.89.0
## Enhancements
* Add the `Links` attribute to the `StackDeploymentStep` struct to support the deployment step GET endpoint by @shwetamurali [#1167](https://github.com/h)
* Adds endpoint for cancelling `StackDeploymentRun` by @Maed223 [#1172](https://github.com/hashicorp/go-tfe/pull/1172)
* Adds `CreatedAt` and `UpdatedAt` fields to `StackConfiguration` by @Maed223 [#1168](https://github.com/hashicorp/go-tfe/pull/1168)
* Adds endpoint for advancing `StackDeploymentStep` by @hwatkins05-hashicorp [#1166](https://github.com/hashicorp/go-tfe/pull/1166)
# v1.88.0
## Enhancements
* Adds BETA support for reading, testing and updating Organization Audit Configuration by @glennsarti-hashi [#1151](https://github.com/hashicorp/go-tfe/pull/1151)
* Adds `Completed` status to `StackConfiguration` by @hwatkins05-hashicorp [#1163](https://github.com/hashicorp/go-tfe/pull/1163)
# v1.87.0
## Bug Fixes
* Fixes incorrect primary key usage on `StackDeploymentRun`, `StackDeploymentGroup`, and `StackDeploymentStep`, by @Maed223 [#1156](https://github.com/hashicorp/go-tfe/pull/1156)
## Enhancements
* Updates endpoint for updating stack configuration from `actions/update-configuration` to `fetch-latest-from-vcs` by @hwatkins05-hashicorp [#1157](https://github.com/hashicorp/go-tfe/pull/1157)
# v1.86.0
## Enhancements
* Adds option for `Includes` for `StackDeploymentRuns` Read/List, by @Maed223 [#1152](https://github.com/hashicorp/go-tfe/pull/1152)
# v1.85.0
## Bug Fixes
* Fix the registry URL path used for `ReadTerraformRegistryModule` by @paladin-devops [#1141](https://github.com/hashicorp/go-tfe/pull/1141)
## Enhancements
* Adds support for managing reserved tag keys within a TFE organization, by @ctrombley [#1145](https://github.com/hashicorp/go-tfe/pull/1145)
# v1.84.0
## Enhancements
* Adds BETA support for listing `StackConfigurationList`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @shwetamurali [#1138](https://github.com/hashicorp/go-tfe/pull/1138)
* Adds BETA support for approving all plans for a stack deployment run, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @ctrombley [#1136](https://github.com/hashicorp/go-tfe/pull/1136)
* Adds BETA support for listing and reading `StackDeploymentSteps`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @ctrombley [#1133](https://github.com/hashicorp/go-tfe/pull/1133)
* Adds BETA support for approving all plans in `StackDeploymentGroups`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @hwatkins05-hashicorp [#1137](https://github.com/hashicorp/go-tfe/pull/1137)
## Bug Fixes
* Fix the registry URL path used for `ReadTerraformRegistryModule` by @paladin-devops [#1141](https://github.com/hashicorp/go-tfe/pull/1141)
# v1.83.0
## Enhancements
* Adds BETA support for listing `StackDeploymentRuns`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @shwetamurali [#1134](https://github.com/hashicorp/go-tfe/pull/1134)
* Add support for HCP Terraform `/api/v2/workspaces/{external_id}/all-vars` API endpoint to fetch the list of all variables available to a workspace (include inherited variables from varsets) by @debrin-hc [#1105](https://github.com/hashicorp/go-tfe/pull/1105)
* Adds BETA support for listing `StackDeploymentGroups`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @hwatkins05-hashicorp [#1128](https://github.com/hashicorp/go-tfe/pull/1128)
* Adds BETA support for removing/adding VCS backing for a Stack, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @Maed223 [#1131](https://github.com/hashicorp/go-tfe/pull/1131)
* Adds BETA support for reading a `StackDeploymentGroup`, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @hwatkins05-hashicorp [#1132](https://github.com/hashicorp-go-tfe/pull/1132)
## Enhancements
* Adds `PrivateRunTasks` field to Entitlements by @glennsarti [#944](https://github.com/hashicorp/go-tfe/pull/944)
* Adds `AgentPool` relationship to options when creating and updating Run Tasks by @glennsarti [#944](https://github.com/hashicorp/go-tfe/pull/944)
# v1.82.0
## Enhancements
* Adds BETA support for speculative runs with `Stacks` resources and removes VCS repo validity check on `Stack` creation, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @hwatkins05-hashicorp [#1119](https://github.com/hashicorp/go-tfe/pull/1119)
* Adds support for listing team tokens, by @mkam [#1109](https://github.com/hashicorp/go-tfe/pull/1109)
## Bug Fixes
* Fixes hard coded public terraform registry URL for ReadTerraformRegistryModule, by @paladin-devops [#1126](https://github.com/hashicorp/go-tfe/pull/1126)
# v1.81.0
## Enhancements
* Adds `IngressAttributes` field to `PolicySetVersion` by @jpadrianoGo [#1092](https://github.com/hashicorp/go-tfe/pull/1092)
* Adds `ConfirmedBy` field to `Run` by @jpadrianoGo [#1110](https://github.com/hashicorp/go-tfe/pull/1110)
# v1.80.0
## Enhancements
* Adds BETA support for `PolicyPaths` to the `Runs` interface, by sebasslash [#1104](https://github.com/hashicorp/go-tfe/pull/1104)
# v1.79.0
## BREAKING CHANGES
* Updates team token `Description` to be a pointer, allowing for both nil descriptions and empty string descriptions. Team token descriptions and the ability to create multiple team tokens is in BETA, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users, by @mkam [#1088](https://github.com/hashicorp/go-tfe/pull/1088)
## Enhancements
* Adds `AgentPool` field to the OAuthClientUpdateOptions struct, which is used to associate a VCS Provider with an AgentPool for PrivateVCS support by @jpogran [#1075](https://github.com/hashicorp/go-tfe/pull/1075)
* Add BETA support for use of OPA and Sentinel with Linux arm64 agents, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users @natalie-todd [#1090](https://github.com/hashicorp/go-tfe/pull/1090)
# v1.78.0
## Enhancements
* Adds `Links` field to `EffectiveTagBindings` to check whether an effective tag binding is inherited, by @sebasslash [#1087](https://github.com/hashicorp/go-tfe/pull/1087)
# v1.77.0
## Enhancements
* Remove `DefaultProject` from `OrganizationUpdateOptions` to prevent updating an organization's default project, by @netramali [#1078](https://github.com/hashicorp/go-tfe/pull/1078)
* Adds support for creating multiple team tokens by adding `Description` to `TeamTokenCreateOptions`. This provides BETA support, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users, by @mkam [#1083](https://github.com/hashicorp/go-tfe/pull/1083)
* Adds support for reading and deleting team tokens by ID, by @mkam [#1083](https://github.com/hashicorp/go-tfe/pull/1083)
## BREAKING CHANGES
In the last release, Runs interface method `ListForOrganization` included pagination fields `TotalCount` and `TotalPages`, but these are being removed as this feature approaches general availablity by @brandonc [#1074](https://github.com/hashicorp/go-tfe/pull/1074)
# v1.76.0
## Enhancements
* Adds `DefaultProject` to `OrganizationUpdateOptions` to support updating an organization's default project. This provides BETA support, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users, by @mkam [#1056](https://github.com/hashicorp/go-tfe/pull/1056)
* Adds `ReadTerraformRegistryModule` to support reading a registry module from Terraform Registry's proxied endpoints by @paladin-devops [#1057](https://github.com/hashicorp/go-tfe/pull/1057)
* Adds a new method `ListForOrganization` to list Runs in an organization by @arybolovlev [#1059](https://github.com/hashicorp/go-tfe/pull/1059)
## Bug fixes
* Adds `ToolVersionArchitecture` to `AdminTerraformVersionUpdateOptions` and `AdminTerraformVersion`. This provides BETA support, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @kelsi-hoyle [#1047](https://github.com/hashicorp/go-tfe/pull/1047)
# v1.75.0
## Enhancements
* Adds `EffectiveTagBindings` relation to projects and workspaces, allowing the relation to be included when listing projects or workspaces by @sebasslash [#1043](https://github.com/hashicorp/go-tfe/pull/1043)
# v1.74.1
## Enhancements
* Add parallelism to create options for TF Test Runs by @dsa0x [1037](https://github.com/hashicorp/go-tfe/pull/1025)
# v1.74.0
## Enhancements
* Add BETA support for adding custom project permission for variable sets `ProjectVariableSetsPermission` by @netramali [21879](https://github.com/hashicorp/atlas/pull/21879)
# v1.73.1
## Bug fixes
* Includes a critical security update in an upstream depdendency `hashicorp/go-slug` @NodyHub [#1025](https://github.com/hashicorp/go-tfe/pull/1025)
* Fix bug in BETA support for Linux arm64 agents, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users @natalie-todd [#1022](https://github.com/hashicorp/go-tfe/pull/1022)
# v1.73.0
## Enhancements
* Add support for team notification configurations @notchairmk [#1016](https://github.com/hashicorp/go-tfe/pull/1016)
# v1.72.0
## Enhancements
* Add support for project level auto destroy settings @simonxmh [#1011](https://github.com/hashicorp/go-tfe/pull/1011)
* Add BETA support for Linux arm64 agents, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users @natalie-todd [#1022](https://github.com/hashicorp/go-tfe/pull/1022)
* Adds support to delete all tag bindings on either a project or workspace by @sebasslash [#1023](https://github.com/hashicorp/go-tfe/pull/1023)
# v1.71.0
## Enhancements
* Add support for listing effective tag bindings for a workspace or project by @brandonc [#996](https://github.com/hashicorp/go-tfe/pull/996)
* Add support for listing no-code modules by @paladin-devops [#1003](https://github.com/hashicorp/go-tfe/pull/1003)
# v1.70.0
## Enhancements
* Actually adds support for adding/updating key/value tags, which was not unintentionally removed from the last release by @brandonc [#987](https://github.com/hashicorp/go-tfe/pull/987)
# v1.69.0
## Enhancements
* Adds BETA support for a variable set `Parent` relation, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @jbonhag [#992](https://github.com/hashicorp/go-tfe/pull/992)
* Add support for adding/updating key/value tags by @brandonc [#991](https://github.com/hashicorp/go-tfe/pull/991)
* Add support for reading a registry module by its unique identifier by @dsa0x [#988](https://github.com/hashicorp/go-tfe/pull/988)
* Add support for enabling Stacks on an organization by @brandonc [#987](https://github.com/hashicorp/go-tfe/pull/987)
* Add support for filtering by key/value tags by @brandonc [#987](https://github.com/hashicorp/go-tfe/pull/987)
* Adds `SpeculativePlanManagementEnabled` field to `Organization` by @lilincmu [#983](https://github.com/hashicorp/go-tfe/pull/983)
# v1.68.0
## Enhancements
* Add support for reading a no-code module's variables by @paladin-devops [#979](https://github.com/hashicorp/go-tfe/pull/979)
* Add Waypoint entitlements (the `waypoint-actions` and `waypoint-templates-and-addons` attributes) to `Entitlements` by @ignatius-j [#984](https://github.com/hashicorp/go-tfe/pull/984)
# v1.67.1
## Bug Fixes
* Fixes a bug in `NewRequest` that did not allow query parameters to be specified in the first parameter, which broke several methods: `RegistryModules ReadVersion`, `VariableSets UpdateWorkspaces`, and `Workspaces Readme` by @brandonc [#982](https://github.com/hashicorp/go-tfe/pull/982)
# v1.67.0
## Enhancements
* `Workspaces`: The `Unlock` method now returns a `ErrWorkspaceLockedStateVersionStillPending` error if the latest state version upload is still pending within the platform. This is a retryable error. by @brandonc [#978](https://github.com/hashicorp/go-tfe/pull/978)
# v1.66.0
## Enhancements
* Adds `billable-rum-count` attribute to `StateVersion` by @shoekstra [#974](https://github.com/hashicorp/go-tfe/pull/974)
## Bug Fixes
* Fixed the incorrect error "workspace already unlocked" being returned when attempting to unlock a workspace that was locked by a Team or different User @ctrombley / @lucasmelin [#975](https://github.com/hashicorp/go-tfe/pull/975)
# v1.65.0
## Enhancements
* Adds support for deleting `Stacks` that still have deployments through `ForceDelete` by @hashimoon [#969](https://github.com/hashicorp/go-tfe/pull/969)
## Bug Fixes
* Fixed `RegistryNoCodeModules` method `UpgradeWorkspace` to return a `WorkspaceUpgrade` type. This resulted in a BREAKING CHANGE, yet the previous type was not properly decoded nor reflective of the actual API result by @paladin-devops [#955](https://github.com/hashicorp/go-tfe/pull/955)
# v1.64.2
## Enhancements
* Adds support for including no-code permissions to the `OrganizationPermissions` struct [#967](https://github.com/hashicorp/go-tfe/pull/967)
# v1.64.1
## Bug Fixes
* Fixes BETA feature regression in `Stacks` associated with decoding `StackVCSRepo` data by @brandonc [#964](https://github.com/hashicorp/go-tfe/pull/964)
# v1.64.0
* Adds support for creating different organization token types by @glennsarti [#943](https://github.com/hashicorp/go-tfe/pull/943)
* Adds more BETA support for `Stacks` resources, which is is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @DanielMSchmidt [#963](https://github.com/hashicorp/go-tfe/pull/963)
# v1.63.0
## Enhancements
* Adds more BETA support for `Stacks` resources, which is is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @brandonc [#957](https://github.com/hashicorp/go-tfe/pull/957) and @DanielMSchmidt [#960](https://github.com/hashicorp/go-tfe/pull/960)
# v1.62.0
## Bug Fixes
* Fixed `RegistryNoCodeModules` methods `CreateWorkspace` and `UpdateWorkspace` to return a `Workspace` type. This resulted in a BREAKING CHANGE, yet the previous type was not properly decoded nor reflective of the actual API result by @paladin-devops [#954](https://github.com/hashicorp/go-tfe/pull/954)
## Enhancements
* Adds `AllowMemberTokenManagement` permission to `Team` by @juliannatetreault [#922](https://github.com/hashicorp/go-tfe/pull/922)
* Adds `PrivateRunTasks` field to Entitlements by @glennsarti [#944](https://github.com/hashicorp/go-tfe/pull/944)
* Adds `AgentPool` relationship to options when creating and updating Run Tasks by @glennsarti [#944](https://github.com/hashicorp/go-tfe/pull/944)
# v1.61.0
## Enhancements
* Adds support for creating no-code workspaces by @paladin-devops [#927](https://github.com/hashicorp/go-tfe/pull/927)
* Adds support for upgrading no-code workspaces by @paladin-devops [#935](https://github.com/hashicorp/go-tfe/pull/935)
# v1.60.0
## Enhancements
* Adds more BETA support for `Stacks` resources, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @brandonc. [#934](https://github.com/hashicorp/go-tfe/pull/934)
# v1.59.0
## Features
* Adds support for the Run Tasks Integration API by @karvounis-form3 [#929](https://github.com/hashicorp/go-tfe/pull/929)
# v1.58.0
## Enhancements
* Adds BETA support for `Stacks` resources, which is EXPERIMENTAL, SUBJECT TO CHANGE, and may not be available to all users by @brandonc. [#920](https://github.com/hashicorp/go-tfe/pull/920)
* Adds support for managing resources that have HCP IDs by @roncodingenthusiast. [#924](https://github.com/hashicorp/go-tfe/pull/924)
# v1.57.0
## Enhancements
* Adds the `IsUnified` field to `Project`, `Organization` and `Team` by @roncodingenthusiast [#915](https://github.com/hashicorp/go-tfe/pull/915)
* Adds Workspace auto-destroy notification types to `NotificationTriggerType` by @notchairmk [#918](https://github.com/hashicorp/go-tfe/pull/918)
* Adds `CreatedAfter` and `CreatedBefore` Date Time filters to `AdminRunsListOptions` by @maed223 [#916](https://github.com/hashicorp/go-tfe/pull/916)
# v1.56.0
## Enhancements
* Adds `ManageAgentPools` permission to team `OrganizationAccess` by @emlanctot [#901](https://github.com/hashicorp/go-tfe/pull/901)
# v1.55.0
## Enhancements
* Adds the `CurrentRunStatus` filter to allow filtering workspaces by their current run status by @arybolovlev [#899](https://github.com/hashicorp/go-tfe/pull/899)
# v1.54.0
## Enhancements
* Adds the `AutoDestroyActivityDuration` field to `Workspace` by @notchairmk [#902](https://github.com/hashicorp/go-tfe/pull/902)
## Deprecations
* The `IsSiteAdmin` field on User has been deprecated. Use the `IsAdmin` field instead [#900](https://github.com/hashicorp/go-tfe/pull/900)
# v1.53.0
## Enhancements
* Adds `ManageTeams`, `ManageOrganizationAccess`, and `AccessSecretTeams` permissions to team `OrganizationAccess` by @juliannatetreault [#874](https://github.com/hashicorp/go-tfe/pull/874)
* Mocks are now generated using the go.uber.org/mock package [#897](https://github.com/hashicorp/go-tfe/pull/897)
# v1.52.0
## Enhancements
* Add `EnforcementLevel` to `Policy` create and update options. This will replace the deprecated `[]Enforce` method for specifying enforcement level. @JarrettSpiker [#895](https://github.com/hashicorp/go-tfe/pull/895)
## Deprecations
* The `Enforce` fields on `Policy`, `PolicyCreateOptions`, and `PolicyUpdateOptions` have been deprecated. Use the `EnforcementLevel` instead. @JarrettSpiker [#895](https://github.com/hashicorp/go-tfe/pull/895)
# v1.51.0
## Enhancements
* Adds `Teams` field to `OrganizationMembershipCreateOptions` to allow users to be added to teams at the same time they are invited to an organization. by @JarrettSpiker [#886](https://github.com/hashicorp/go-tfe/pull/886)
* `IsCloud()` returns true when TFP-AppName is "HCP Terraform" by @sebasslash [#891](https://github.com/hashicorp/go-tfe/pull/891)
* `OrganizationScoped` attribute for `OAuthClient` is now generally available by @netramali [#873](https://github.com/hashicorp/go-tfe/pull/873)
# v1.50.0
## Enhancements
* Adds Bitbucket Data Center as a new `ServiceProviderType` and ensures similar validation as Bitbucket Server by @zainq11 [#879](https://github.com/hashicorp/go-tfe/pull/879)
* Add `GlobalRunTasks` field to `Entitlements`. by @glennsarti [#865](https://github.com/hashicorp/go-tfe/pull/865)
* Add `Global` field to `RunTask`. by @glennsarti [#865](https://github.com/hashicorp/go-tfe/pull/865)
* Add `Stages` field to `WorkspaceRunTask`. by @glennsarti [#865](https://github.com/hashicorp/go-tfe/pull/865)
* Changing BETA `OrganizationScoped` attribute of `OAuthClient` to be a pointer for bug fix by @netramali [884](https://github.com/hashicorp/go-tfe/pull/884)
* Adds `Query` parameter to `VariableSetListOptions` to allow searching variable sets by name, by @JarrettSpiker[#877](https://github.com/hashicorp/go-tfe/pull/877)
## Deprecations
* The `Stage` field has been deprecated on `WorkspaceRunTask`. Instead, use `Stages`. by @glennsarti [#865](https://github.com/hashicorp/go-tfe/pull/865)
# v1.49.0
## Enhancements
* Adds `post_apply` to list of possible `stages` for Run Tasks by @glennsarti [#878](https://github.com/hashicorp/go-tfe/pull/878)
# v1.48.0
## Features
* For Terraform Enterprise users who have data retention policies defined on Organizations or Workspaces: A new DataRetentionPolicyChoice relation has been added to reflect that [data retention policies are polymorphic](https://developer.hashicorp.com/terraform/enterprise/api-docs/data-retention-policies#data-retention-policy-types). Organizations and workspaces may be related to a `DataRetentionPolicyDeleteOlder` or `DataRetentionPolicyDontDelete` record through the `DataRetentionPolicyChoice` struct. Data retention policies can be read using `ReadDataRetentionPolicyChoice`, and set or updated (including changing their type) using `SetDataRetentionPolicyDeleteOlder` or `SetDataRetentionPolicyDontDelete` by @JarrettSpiker [#652](https://github.com/hashicorp/go-tfe/pull/844)
## Deprecations
* The `DataRetentionPolicy` type, and the `DataRetentionPolicy` relationship on `Organization` and `Workspace`s have been deprecated. The `DataRetentionPolicy` type is equivalent to the new `DataRetentionPolicyDeleteOlder`. The Data retention policy relationships on `Organization` and `Workspace`s are now [polymorphic](https://developer.hashicorp.com/terraform/enterprise/api-docs/data-retention-policies#data-retention-policy-types), and are represented by the `DataRetentionPolicyChoice` relationship. The existing `DataRetentionPolicy` relationship will continue to be populated when reading an `Organization` or `Workspace`, but it may be removed in a future release. @JarrettSpiker [#652](https://github.com/hashicorp/go-tfe/pull/844)
* The `SetDataRetentionPolicy` function on `Organizations` and `Workspaces` is now deprecated in favour of `SetDataRetentionPolicyDeleteOlder` or `SetDataRetentionPolicyDontDelete`. `SetDataRetentionPolicy` will only update the data retention policy when communicating with TFE versions v202311 and v202312. @JarrettSpiker [#652](https://github.com/hashicorp/go-tfe/pull/844)
* The `ReadDataRetentionPolicy` function on `Organizations` and `Workspaces` is now deprecated in favour of `ReadDataRetentionPolicyChoice`. `ReadDataRetentionPolicyChoice` may return the different multiple data retention policy types added in TFE 202401-1. `SetDataRetentionPolicy` will only update the data retention policy when communicating with TFE versions v202311 and v202312. @JarrettSpiker [#652](https://github.com/hashicorp/go-tfe/pull/844)
## Enhancements
* Adds `Variables` relationship field to `Workspace` by @arybolovlev [#872](https://github.com/hashicorp/go-tfe/pull/872)
# v1.47.1
## Bug fixes
* Change the error message for `ErrWorkspaceStillProcessing` to be the same error message returned by the API by @uturunku1 [#864](https://github.com/hashicorp/go-tfe/pull/864)
# v1.47.0
## Enhancements
* Adds BETA `description` attribute to `Project` by @netramali [#861](https://github.com/hashicorp/go-tfe/pull/861)
* Adds `Read` method to `TestVariables` by @aaabdelgany [#851](https://github.com/hashicorp/go-tfe/pull/851)
# v1.46.0
## Enhancements
* Adds `Query` field to `Project` and `Team` list options, to allow projects and teams to be searched by name by @JarrettSpiker [#849](https://github.com/hashicorp/go-tfe/pull/849)
* Adds `AgenPool` relation to `OAuthClient` create options to support for Private VCS by enabling creation of OAuth Client when AgentPoolID is set (as an optional param) @roleesinhaHC [#841](https://github.com/hashicorp/go-tfe/pull/841)
* Add `Sort` field to workspace list options @Maed223 [#859](https://github.com/hashicorp/go-tfe/pull/859)
# v1.45.0
## Enhancements
* Updates go-tfe client to export the instance name using `AppName()` @sebasslash [#848](https://github.com/hashicorp/go-tfe/pull/848)
* Add `DeleteByName` API endpoint to `RegistryModule` @laurenolivia [#847](https://github.com/hashicorp/go-tfe/pull/847)
* Update deprecated `RegistryModule` endpoints `DeleteProvider` and `DeleteVersion` with new API calls @laurenolivia [#847](https://github.com/hashicorp/go-tfe/pull/847)
# v1.44.0
## Enhancements
* Updates `Workspaces` to include an `AutoDestroyAt` attribute on create and update by @notchairmk and @ctrombley [#786](https://github.com/hashicorp/go-tfe/pull/786)
* Adds `AgentsEnabled` and `PolicyToolVersion` attributes to `PolicySet` by @mrinalirao [#752](https://github.com/hashicorp/go-tfe/pull/752)
# v1.43.0
## Features
* Adds `AggregatedCommitStatusEnabled` field to `Organization` by @mjyocca [#829](https://github.com/hashicorp/go-tfe/pull/829)
## Enhancements
* Adds `GlobalProviderSharing` field to `AdminOrganization` by @alex-ikse [#837](https://github.com/hashicorp/go-tfe/pull/837)
# v1.42.0
## Deprecations
* The `Sourceable` field has been deprecated on `RunTrigger`. Instead, use `SourceableChoice` to locate the non-empty field representing the actual sourceable value by @brandonc [#816](https://github.com/hashicorp/go-tfe/pull/816)
## Features
* Added `AdminOPAVersion` and `AdminSentinelVersion` Terraform Enterprise admin endpoints by @mrinalirao [#758](https://github.com/hashicorp/go-tfe/pull/758)
## Enhancements
* Adds `LockedBy` relationship field to `Workspace` by @brandonc [#816](https://github.com/hashicorp/go-tfe/pull/816)
* Adds `CreatedBy` relationship field to `TeamToken`, `UserToken`, and `OrganizationToken` by @brandonc [#816](https://github.com/hashicorp/go-tfe/pull/816)
* Added `Sentinel` field to `PolicyResult` by @stefan-kiss. [Issue#790](https://github.com/hashicorp/go-tfe/issues/790)
# v1.41.0
## Enhancements
* Allow managing workspace and organization data retention policies by @mwudka [#801](https://github.com/hashicorp/go-tfe/pull/817)
# v1.40.0
## Bug Fixes
* Removed unused field `AgentPoolID` from the Workspace model. (Callers should be using the `AgentPool` relation instead) by @brandonc [#815](https://github.com/hashicorp/go-tfe/pull/815)
## Enhancements
* Add organization scope field for oauth clients by @Netra2104 [#812](https://github.com/hashicorp/go-tfe/pull/812)
* Added BETA support for including `projects` relationship to oauth_client on create by @Netra2104 [#806](https://github.com/hashicorp/go-tfe/pull/806)
* Added BETA method `AddProjects` and `RemoveProjects` for attaching/detaching oauth_client to projects by Netra2104 [#806](https://github.com/hashicorp/go-tfe/pull/806)
* Adds a missing interface `WorkspaceResources` and the `List` method by @stefan-kiss [Issue#754](https://github.com/hashicorp/go-tfe/issues/754)
# v1.39.2
## Bug Fixes
* Fixes a dependency build failure for 32 bit linux architectures by @brandonc [#814](https://github.com/hashicorp/go-tfe/pull/814)
# v1.39.1
## Bug Fixes
* Fixes an issue where the request body is not preserved during certain retry scenarios by @sebasslash [#813](https://github.com/hashicorp/go-tfe/pull/813)
# v1.39.0
## Features
* New WorkspaceSettingOverwritesOptions field for allowing workspaces to defer some settings to a default from their organization or project by @SwiftEngineer [#762](https://github.com/hashicorp/go-tfe/pull/762)
* Added support for setting a default execution mode and agent pool at the organization level by @SwiftEngineer [#762](https://github.com/hashicorp/go-tfe/pull/762)
* Added validation when configuring registry module publishing by @hashimoon [#804](https://github.com/hashicorp/go-tfe/pull/804)
* Removed BETA labels for StateVersion Upload method, ConfigurationVersion `provisional` field, and `save-plan` runs by @brandonc [#800](https://github.com/hashicorp/go-tfe/pull/800)
* Allow soft deleting, restoring, and permanently deleting StateVersion and ConfigurationVersion backing data by @mwudka [#801](https://github.com/hashicorp/go-tfe/pull/801)
* Added the `AutoApplyRunTrigger` attribute to Workspaces by @nfagerlund [#798](https://github.com/hashicorp/go-tfe/pull/798)
* Removed BETA labels for `priority` attribute in variable sets by @Netra2104 [#796](https://github.com/hashicorp/go-tfe/pull/796)
# v1.38.0
## Features
* Added BETA support for including `priority` attribute to variable_set on create and update by @Netra2104 [#778](https://github.com/hashicorp/go-tfe/pull/778)
# v1.37.0
## Features
* Add the tags attribute to VCSRepo to be used with registry modules by @hashimoon [#793](https://github.com/hashicorp/go-tfe/pull/793)
# v1.36.0
## Features
* Added BETA support for private module registry test variables by @aaabdelgany [#787](https://github.com/hashicorp/go-tfe/pull/787)
## Bug Fixes
* Fix incorrect attribute type for `RegistryModule.VCSRepo.Tags` by @hashimoon [#789](https://github.com/hashicorp/go-tfe/pull/789)
* Fix nil dereference panic within `StateVersions` `upload` after not handling certain state version create errors by @brandonc [#792](https://github.com/hashicorp/go-tfe/pull/792)
# v1.35.0
## Features
* Added BETA support for private module registry tests by @hashimoon [#781](https://github.com/hashicorp/go-tfe/pull/781)
## Enhancements
* Removed beta flags for `PolicySetProjects` and `PolicySetWorkspaceExclusions` by @Netra2104 [#770](https://github.com/hashicorp/go-tfe/pull/770)
# v1.34.0
## Features
* Added support for the new Terraform Test Runs API by @liamcervante [#755](https://github.com/hashicorp/go-tfe/pull/755)
## Bug Fixes
* "project" was being rejected as an invalid `Include` option when listing workspaces by @brandonc [#765](https://github.com/hashicorp/go-tfe/pull/765)
# v1.33.0
## Enhancements
* Removed beta tags for TeamProjectAccess by @rberecka [#756](https://github.com/hashicorp/go-tfe/pull/756)
* Added BETA support for including `workspaceExclusions` relationship to policy_set on create by @Netra2104 [#757](https://github.com/hashicorp/go-tfe/pull/757)
* Added BETA method `AddWorkspaceExclusions` and `RemoveWorkspaceExclusions` for attaching/detaching workspace-exclusions to a policy-set by @hs26gill [#761](https://github.com/hashicorp/go-tfe/pull/761)
# v1.32.1
## Dependency Update
* Updated go-slug dependency to v0.12.1
# v1.32.0
## Enhancements
* Added BETA support for adding and updating custom permissions to `TeamProjectAccesses`. A `TeamProjectAccessType` of `"custom"` can set various permissions applied at
the project level to the project itself (`TeamProjectAccessProjectPermissionsOptions`) and all of the workspaces in a project (`TeamProjectAccessWorkspacePermissionsOptions`) by @rberecka [#745](https://github.com/hashicorp/go-tfe/pull/745)
* Added BETA field `Provisional` to `ConfigurationVersions` by @brandonc [#746](https://github.com/hashicorp/go-tfe/pull/746)
# v1.31.0
## Enhancements
* Added BETA support for including `projects` relationship and `projects-count` attribute to policy_set on create by @hs26gill [#737](https://github.com/hashicorp/go-tfe/pull/737)
* Added BETA method `AddProjects` and `RemoveProjects` for attaching/detaching policy set to projects by @Netra2104 [#735](https://github.com/hashicorp/go-tfe/pull/735)
# v1.30.0
## Enhancements
* Adds `SignatureSigningMethod` and `SignatureDigestMethod` fields in `AdminSAMLSetting` struct by @karvounis-form3 [#731](https://github.com/hashicorp/go-tfe/pull/731)
* Adds `Certificate`, `PrivateKey`, `TeamManagementEnabled`, `AuthnRequestsSigned`, `WantAssertionsSigned`, `SignatureSigningMethod`, `SignatureDigestMethod` fields in `AdminSAMLSettingsUpdateOptions` struct by @karvounis-form3 [#731](https://github.com/hashicorp/go-tfe/pull/731)
# v1.29.0
## Enhancements
* Adds `RunPreApplyCompleted` run status by @uk1288 [#727](https://github.com/hashicorp/go-tfe/pull/727)
* Added BETA support for saved plan runs, by @nfagerlund [#724](https://github.com/hashicorp/go-tfe/pull/724)
* New `SavePlan` fields in `Run` and `RunCreateOptions`
* New `RunPlannedAndSaved` `RunStatus` value
* New `PlannedAndSavedAt` field in `RunStatusTimestamps`
* New `RunOperationSavePlan` constant for run list filters
# v1.28.0
## Enhancements
* Update `Workspaces` to include associated `project` resource by @glennsarti [#714](https://github.com/hashicorp/go-tfe/pull/714)
* Adds BETA method `Upload` method to `StateVersions` and support for pending state versions by @brandonc [#717](https://github.com/hashicorp/go-tfe/pull/717)
* Adds support for the query parameter `q` to search `Organization Tags` by name by @sharathrnair87 [#720](https://github.com/hashicorp/go-tfe/pull/720)
* Added ContextWithResponseHeaderHook support to `IPRanges` by @brandonc [#717](https://github.com/hashicorp/go-tfe/pull/717)
## Bug Fixes
* `ConfigurationVersions`, `PolicySetVersions`, and `RegistryModules` `Upload` methods were sending API credentials to the specified upload URL, which was unnecessary by @brandonc [#717](https://github.com/hashicorp/go-tfe/pull/717)
# v1.27.0
## Enhancements
* Adds `RunPreApplyRunning` and `RunQueuingApply` run statuses by @uk1288 [#712](https://github.com/hashicorp/go-tfe/pull/712)
## Bug Fixes
* AgentPool `Update` is not able to remove all allowed workspaces from an agent pool. That operation is now handled by a separate `UpdateAllowedWorkspaces` method using `AgentPoolAllowedWorkspacesUpdateOptions` by @hs26gill [#701](https://github.com/hashicorp/go-tfe/pull/701)
# v1.26.0
## Enhancements
* Adds BETA fields `ResourceImports` count to both `Plan` and `Apply` types as well as `AllowConfigGeneration` to the `Run` struct type. These fields are not generally available and are subject to change in a future release.
# v1.25.1
## Bug Fixes
* Workspace safe delete conflict error when workspace is locked has been restored
to the original message using the error `ErrWorkspaceLockedCannotDelete` instead of
`ErrWorkspaceLocked`
# v1.25.0
## Enhancements
* Workspace safe delete 409 conflict errors associated with resources still being managed or being processed (indicating that you should try again later) are now the named errors `ErrWorkspaceStillProcessing` and `ErrWorkspaceNotSafeToDelete` by @brandonc [#703](https://github.com/hashicorp/go-tfe/pull/703)
# v1.24.0
## Enhancements
* Adds support for a new variable field `version-id` by @arybolovlev [#697](https://github.com/hashicorp/go-tfe/pull/697)
* Adds `ExpiredAt` field to `OrganizationToken`, `TeamToken`, and `UserToken`. This enhancement will be available in TFE release, v202305-1. @JuliannaTetreault [#672](https://github.com/hashicorp/go-tfe/pull/672)
* Adds `ContextWithResponseHeaderHook` context for use with the ClientRequest Do method that allows callers to define a callback which receives raw http Response headers. @apparentlymart [#689](https://github.com/hashicorp/go-tfe/pull/689)
# v1.23.0
## Features
* `ApplyToProjects` and `RemoveFromProjects` to `VariableSets` endpoints now generally available.
* `ListForProject` to `VariableSets` endpoints now generally available.
## Enhancements
* Adds `OrganizationScoped` and `AllowedWorkspaces` fields for creating workspace scoped agent pools and adds `AllowedWorkspacesName` for filtering agents pools associated with a given workspace by @hs26gill [#682](https://github.com/hashicorp/go-tfe/pull/682/files)
## Bug Fixes
# v1.22.0
## Beta API Changes
* The beta `no_code` field in `RegistryModuleCreateOptions` has been changed from `bool` to `*bool` and will be removed in a future version because a new, preferred method for managing no-code registry modules has been added in this release.
## Features
* Add beta endpoints `Create`, `Read`, `Update`, and `Delete` to manage no-code provisioning for a `RegistryModule`. This allows users to enable no-code provisioning for a registry module, and to configure the provisioning settings for that module version. This also allows users to disable no-code provisioning for a module version. @dsa0x [#669](https://github.com/hashicorp/go-tfe/pull/669)
# v1.21.0
## Features
* Add beta endpoints `ApplyToProjects` and `RemoveFromProjects` to `VariableSets`. Applying a variable set to a project will apply that variable set to all current and future workspaces in that project.
* Add beta endpoint `ListForProject` to `VariableSets` to list all variable sets applied to a project.
* Add endpoint `RunEvents` which lists events for a specific run by @glennsarti [#680](https://github.com/hashicorp/go-tfe/pull/680)
## Bug Fixes
* `VariableSets.Read` did not honor the Include values due to a syntax error in the struct tag of `VariableSetReadOptions` by @sgap [#678](https://github.com/hashicorp/go-tfe/pull/678)
## Enhancements
* Adds `ProjectID` filter to allow filtering of workspaces of a given project in an organization by @hs26gill [#671](https://github.com/hashicorp/go-tfe/pull/671)
* Adds `Name` filter to allow filtering of projects by @hs26gill [#668](https://github.com/hashicorp/go-tfe/pull/668/files)
* Adds `ManageMembership` permission to team `OrganizationAccess` by @JarrettSpiker [#652](https://github.com/hashicorp/go-tfe/pull/652)
* Adds `RotateKey` and `TrimKey` Admin endpoints by @mpminardi [#666](https://github.com/hashicorp/go-tfe/pull/666)
* Adds `Permissions` to `User` by @jeevanragula [#674](https://github.com/hashicorp/go-tfe/pull/674)
* Adds `IsEnterprise` and `IsCloud` boolean methods to the client by @sebasslash [#675](https://github.com/hashicorp/go-tfe/pull/675)
# v1.20.0
## Enhancements
* Update team project access to include additional project roles by @joekarl [#642](https://github.com/hashicorp/go-tfe/pull/642)
# v1.19.0
## Enhancements
* Removed Beta tags from `Project` features by @hs26gill [#637](https://github.com/hashicorp/go-tfe/pull/637)
* Add `Filter` and `Sort` fields to `AdminWorkspaceListOptions` to allow filtering and sorting of workspaces by @laurenolivia [#641](https://github.com/hashicorp/go-tfe/pull/641)
* Add support for `List` and `Read` Github app installation APIs by @roleesinhaHC [#655](https://github.com/hashicorp/go-tfe/pull/655)
* Add `GHAInstallationID` field to `VCSRepoOptions` and `VCSRepo` structs by @roleesinhaHC [#655](https://github.com/hashicorp/go-tfe/pull/655)
# v1.18.0
## Enhancements
* Adds `BaseURL` and `BaseRegistryURL` methods to `Client` to expose its configuration by @brandonc [#638](https://github.com/hashicorp/go-tfe/pull/638)
* Adds `ReadWorkspaces` and `ReadProjects` permissions to `Organizations` by @JuliannaTetreault [#614](https://github.com/hashicorp/go-tfe/pull/614)
# v1.17.0
## Enhancements
* Add Beta endpoint `TeamProjectAccesses` to manage Project Access for Teams by @hs26gill [#599](https://github.com/hashicorp/go-tfe/pull/599)
* Updates api doc links from terraform.io to developer.hashicorp domain by @uk1288 [#629](https://github.com/hashicorp/go-tfe/pull/629)
* Adds `UploadTarGzip()` method to `RegistryModules` and `ConfigurationVersions` interface by @sebasslash [#623](https://github.com/hashicorp/go-tfe/pull/623)
* Adds `ManageProjects` field to `OrganizationAccess` struct by @hs26gill [#633](https://github.com/hashicorp/go-tfe/pull/633)
* Adds agent-count to `AgentPools` endpoint. @evilensky [#611](https://github.com/hashicorp/go-tfe/pull/611)
* Adds `Links` to `Workspace`, (currently contains "self" and "self-html" paths) @brandonc [#622](https://github.com/hashicorp/go-tfe/pull/622)
# v1.16.0
## Bug Fixes
* Project names were being incorrectly validated as ID's @brandonc [#608](https://github.com/hashicorp/go-tfe/pull/608)
## Enhancements
* Adds `List()` method to `GPGKeys` interface by @sebasslash [#602](https://github.com/hashicorp/go-tfe/pull/602)
* Adds `ProviderBinaryUploaded` field to `RegistryPlatforms` struct by @sebasslash [#602](https://github.com/hashicorp/go-tfe/pull/602)
# v1.15.0
## Enhancements
* Add Beta `Projects` endpoint. The API is in not yet available to all users @hs26gill [#564](https://github.com/hashicorp/go-tfe/pull/564)
# v1.14.0
## Enhancements
* Adds Beta parameter `Overridable` for OPA `policy set` update API (`PolicySetUpdateOptions`) @mrinalirao [#594](https://github.com/hashicorp/go-tfe/pull/594)
* Adds new task stage status values representing `canceled`, `errored`, `unreachable` @mrinalirao [#594](https://github.com/hashicorp/go-tfe/pull/594)
# v1.13.0
## Bug Fixes
* Fixes `AuditTrail` pagination parameters (`CurrentPage`, `PreviousPage`, `NextPage`, `TotalPages`, `TotalCount`), which were not deserialized after reading from the List endpoint by @brandonc [#586](https://github.com/hashicorp/go-tfe/pull/586)
## Enhancements
* Add OPA support to the Policy Set APIs by @mrinalirao [#575](https://github.com/hashicorp/go-tfe/pull/575)
* Add OPA support to the Policy APIs by @mrinalirao [#579](https://github.com/hashicorp/go-tfe/pull/579)
* Add support for enabling no-code provisioning in an existing or new `RegistryModule` by @miguelhrocha [#562](https://github.com/hashicorp/go-tfe/pull/562)
* Add Policy Evaluation and Policy Set Outcome APIs by @mrinalirao [#583](https://github.com/hashicorp/go-tfe/pull/583)
* Add OPA support to Task Stage APIs by @mrinalirao [#584](https://github.com/hashicorp/go-tfe/pull/584)
# v1.12.0
## Enhancements
* Add `search[wildcard-name]` to `WorkspaceListOptions` by @laurenolivia [#569](https://github.com/hashicorp/go-tfe/pull/569)
* Add `NotificationTriggerAssessmentCheckFailed` notification trigger type by @rexredinger [#549](https://github.com/hashicorp/go-tfe/pull/549)
* Add `RemoteTFEVersion()` to the `Client` interface, which exposes the `X-TFE-Version` header set by a remote TFE instance by @sebasslash [#563](https://github.com/hashicorp/go-tfe/pull/563)
* Validate the module version as a version instead of an ID [#409](https://github.com/hashicorp/go-tfe/pull/409)
* Add `AllowForceDeleteWorkspaces` setting to `Organizations` by @JarrettSpiker [#539](https://github.com/hashicorp/go-tfe/pull/539)
* Add `SafeDelete` and `SafeDeleteID` APIs to `Workspaces` by @JarrettSpiker [#539](https://github.com/hashicorp/go-tfe/pull/539)
* Add `ForceExecute()` to `Runs` to allow force executing a run by @annawinkler [#570](https://github.com/hashicorp/go-tfe/pull/570)
* Pre-plan and Pre-Apply Run Tasks are now generally available (beta comments removed) by @glennsarti [#555](https://github.com/hashicorp/go-tfe/pull/555)
# v1.11.0
## Enhancements
* Add `Query` and `Status` fields to `OrganizationMembershipListOptions` to allow filtering memberships by status or username by @sebasslash [#550](https://github.com/hashicorp/go-tfe/pull/550)
* Add `ListForWorkspace` method to `VariableSets` interface to enable fetching variable sets associated with a workspace by @tstapler [#552](https://github.com/hashicorp/go-tfe/pull/552)
* Add `NotificationTriggerAssessmentDrifted` and `NotificationTriggerAssessmentFailed` notification trigger types by @lawliet89 [#542](https://github.com/hashicorp/go-tfe/pull/542)
## Bug Fixes
* Fix marshalling of run variables in `RunCreateOptions`. The `Variables` field type in `Run` struct has changed from `[]*RunVariable` to `[]*RunVariableAttr` by @Uk1288 [#531](https://github.com/hashicorp/go-tfe/pull/531)
# v1.10.0
## Enhancements
* Add `Query` param field to `OrganizationListOptions` to allow searching based on name or email by @laurenolivia [#529](https://github.com/hashicorp/go-tfe/pull/529)
* Add optional `AssessmentsEnforced` to organizations and `AssessmentsEnabled` to workspaces for managing the workspace and organization health assessment (drift detection) setting by @rexredinger [#462](https://github.com/hashicorp/go-tfe/pull/462)
## Bug Fixes
* Fixes null value returned in variable set relationship in `VariableSetVariable` by @sebasslash [#521](https://github.com/hashicorp/go-tfe/pull/521)
# v1.9.0
## Enhancements
* `RunListOptions` is generally available, and rename field (Name -> User) by @mjyocca [#472](https://github.com/hashicorp/go-tfe/pull/472)
* [Beta] Adds optional `JsonState` field to `StateVersionCreateOptions` by @megan07 [#514](https://github.com/hashicorp/go-tfe/pull/514)
## Bug Fixes
* Fixed invalid memory address error when using `TaskResults` field by @glennsarti [#517](https://github.com/hashicorp/go-tfe/pull/517)
# v1.8.0
## Enhancements
* Adds support for reading and listing Agents by @laurenolivia [#456](https://github.com/hashicorp/go-tfe/pull/456)
* It was previously logged that we added an `Include` param field to `PolicySetListOptions` to allow policy list to include related resource data such as workspaces, policies, newest_version, or current_version by @Uk1288 [#497](https://github.com/hashicorp/go-tfe/pull/497) in 1.7.0, but this was a mistake and the field is added in v1.8.0
# v1.7.0
## Enhancements
* Adds new run creation attributes: `allow-empty-apply`, `terraform-version`, `plan-only` by @sebasslash [#482](https://github.com/hashicorp/go-tfe/pull/447)
* Adds additional Task Stage and Run Statuses for Pre-plan run tasks by @glennsarti [#469](https://github.com/hashicorp/go-tfe/pull/469)
* Adds `stage` field to the create and update methods for Workspace Run Tasks by @glennsarti [#469](https://github.com/hashicorp/go-tfe/pull/469)
* Adds `ResourcesProcessed`, `StateVersion`, `TerraformVersion`, `Modules`, `Providers`, and `Resources` fields to the State Version struct by @laurenolivia [#484](https://github.com/hashicorp/go-tfe/pull/484)
* Add `Include` param field to `PolicySetListOptions` to allow policy list to include related resource data such as workspaces, policies, newest_version, or current_version by @Uk1288 [#497](https://github.com/hashicorp/go-tfe/pull/497)
* Allow FileTriggersEnabled to be set to false when Git tags are present by @mjyocca @hashimoon [#468] (https://github.com/hashicorp/go-tfe/pull/468)
# v1.6.0
## Enhancements
* Remove beta messaging for Run Tasks by @glennsarti [#447](https://github.com/hashicorp/go-tfe/pull/447)
* Adds `Description` field to the `RunTask` object by @glennsarti [#447](https://github.com/hashicorp/go-tfe/pull/447)
* Add `Name` field to `OAuthClient` by @barrettclark [#466](https://github.com/hashicorp/go-tfe/pull/466)
* Add support for creating both public and private `RegistryModule` with no VCS connection by @Uk1288 [#460](https://github.com/hashicorp/go-tfe/pull/460)
* Add `ConfigurationSourceAdo` configuration source option by @mjyocca [#467](https://github.com/hashicorp/go-tfe/pull/467)
* [beta] state version outputs may now include a detailed-type attribute in a future API release by @brandonc [#479](https://github.com/hashicorp/go-tfe/pull/429)
# v1.5.0
## Enhancements
* [beta] Add support for triggering Workspace runs through matching Git tags [#434](https://github.com/hashicorp/go-tfe/pull/434)
* Add `Query` param field to `AgentPoolListOptions` to allow searching based on agent pool name, by @JarrettSpiker [#417](https://github.com/hashicorp/go-tfe/pull/417)
* Add organization scope and allowed workspaces field for scope agents by @Netra2104 [#453](https://github.com/hashicorp/go-tfe/pull/453)
* Adds `Namespace` and `RegistryName` fields to `RegistryModuleID` to allow reading of Public Registry Modules by @Uk1288 [#464](https://github.com/hashicorp/go-tfe/pull/464)
## Bug fixes
* Fixed JSON mapping for Configuration Versions failing to properly set the `speculative` property [#459](https://github.com/hashicorp/go-tfe/pull/459)
# v1.4.0
## Enhancements
* Adds `RetryServerErrors` field to the `Config` object by @sebasslash [#439](https://github.com/hashicorp/go-tfe/pull/439)
* Adds support for the GPG Keys API by @sebasslash [#429](https://github.com/hashicorp/go-tfe/pull/429)
* Adds support for new `WorkspaceLimit` Admin setting for organizations [#425](https://github.com/hashicorp/go-tfe/pull/425)
* Adds support for new `ExcludeTags` workspace list filter field by @Uk1288 [#438](https://github.com/hashicorp/go-tfe/pull/438)
* [beta] Adds additional filter fields to `RunListOptions` by @mjyocca [#424](https://github.com/hashicorp/go-tfe/pull/424)
* [beta] Renames the optional StateVersion field `ExtState` to `JSONStateOutputs` and changes the purpose and type by @annawinkler [#444](https://github.com/hashicorp/go-tfe/pull/444) and @brandoncroft [#452](https://github.com/hashicorp/go-tfe/pull/452)
# v1.3.0
## Enhancements
* Adds support for Microsoft Teams notification configuration by @JarrettSpiker [#398](https://github.com/hashicorp/go-tfe/pull/389)
* Add support for Audit Trail API by @sebasslash [#407](https://github.com/hashicorp/go-tfe/pull/407)
* Adds Private Registry Provider, Provider Version, and Provider Platform APIs support by @joekarl and @annawinkler [#313](https://github.com/hashicorp/go-tfe/pull/313)
* Adds List Registry Modules endpoint by @chroju [#385](https://github.com/hashicorp/go-tfe/pull/385)
* Adds `WebhookURL` field to `VCSRepo` struct by @kgns [#413](https://github.com/hashicorp/go-tfe/pull/413)
* Adds `Category` field to `VariableUpdateOptions` struct by @jtyr [#397](https://github.com/hashicorp/go-tfe/pull/397)
* Adds `TriggerPatterns` to `Workspace` by @matejrisek [#400](https://github.com/hashicorp/go-tfe/pull/400)
* [beta] Adds `ExtState` field to `StateVersionCreateOptions` by @brandonc [#416](https://github.com/hashicorp/go-tfe/pull/416)
# v1.2.0
## Enhancements
* Adds support for reading current state version outputs to StateVersionOutputs, which can be useful for reading outputs when users don't have the necessary permissions to read the entire state by @brandonc [#370](https://github.com/hashicorp/go-tfe/pull/370)
* Adds Variable Set methods for `ApplyToWorkspaces` and `RemoveFromWorkspaces` by @byronwolfman [#375](https://github.com/hashicorp/go-tfe/pull/375)
* Adds `Names` query param field to `TeamListOptions` by @sebasslash [#393](https://github.com/hashicorp/go-tfe/pull/393)
* Adds `Emails` query param field to `OrganizationMembershipListOptions` by @sebasslash [#393](https://github.com/hashicorp/go-tfe/pull/393)
* Adds Run Tasks API support by @glennsarti [#381](https://github.com/hashicorp/go-tfe/pull/381), [#382](https://github.com/hashicorp/go-tfe/pull/382) and [#383](https://github.com/hashicorp/go-tfe/pull/383)
## Bug fixes
* Fixes ignored comment when performing apply, discard, cancel, and force-cancel run actions [#388](https://github.com/hashicorp/go-tfe/pull/388)
# v1.1.0
## Enhancements
* Add Variable Set API support by @rexredinger [#305](https://github.com/hashicorp/go-tfe/pull/305)
* Add Comments API support by @alex-ikse [#355](https://github.com/hashicorp/go-tfe/pull/355)
* Add beta support for SSOTeamID to `Team`, `TeamCreateOptions`, `TeamUpdateOptions` by @xlgmokha [#364](https://github.com/hashicorp/go-tfe/pull/364)
# v1.0.0
## Breaking Changes
* Renamed methods named Generate to Create for `AgentTokens`, `OrganizationTokens`, `TeamTokens`, `UserTokens` by @sebasslash [#327](https://github.com/hashicorp/go-tfe/pull/327)
* Methods that express an action on a relationship have been prefixed with a verb, e.g `Current()` is now `ReadCurrent()` by @sebasslash [#327](https://github.com/hashicorp/go-tfe/pull/327)
* All list option structs are now pointers @uturunku1 [#309](https://github.com/hashicorp/go-tfe/pull/309)
* All errors have been refactored into constants in `errors.go` @uturunku1 [#310](https://github.com/hashicorp/go-tfe/pull/310)
* The `ID` field in Create/Update option structs has been renamed to `Type` in accordance with the JSON:API spec by @omarismail, @uturunku1 [#190](https://github.com/hashicorp/go-tfe/pull/190), [#323](https://github.com/hashicorp/go-tfe/pull/323), [#332](https://github.com/hashicorp/go-tfe/pull/332)
* Nested URL params (consisting of an organization, module and provider name) used to identify a `RegistryModule` have been refactored into a struct `RegistryModuleID` by @sebasslash [#337](https://github.com/hashicorp/go-tfe/pull/337)
## Enhancements
* Added missing include fields for `AdminRuns`, `AgentPools`, `ConfigurationVersions`, `OAuthClients`, `Organizations`, `PolicyChecks`, `PolicySets`, `Policies` and `RunTriggers` by @uturunku1 [#339](https://github.com/hashicorp/go-tfe/pull/339)
* Cleanup documentation and improve consistency by @uturunku1 [#331](https://github.com/hashicorp/go-tfe/pull/331)
* Add more linters to our CI pipeline by @sebasslash [#326](https://github.com/hashicorp/go-tfe/pull/326)
* Resolve `TFE_HOSTNAME` as fallback for `TFE_ADDRESS` by @sebasslash [#340](https://github.com/hashicorp/go-tfe/pull/326)
* Adds a `fetching` status to `RunStatus` and adds the `Archive` method to the ConfigurationVersions interface by @mpminardi [#338](https://github.com/hashicorp/go-tfe/pull/338)
* Added a `Download` method to the `ConfigurationVersions` interface by @tylerwolf [#358](https://github.com/hashicorp/go-tfe/pull/358)
* API Coverage documentation by @laurenolivia [#334](https://github.com/hashicorp/go-tfe/pull/334)
## Bug Fixes
* Fixed invalid memory address error when `AdminSMTPSettingsUpdateOptions.Auth` field is empty and accessed by @uturunku1 [#335](https://github.com/hashicorp/go-tfe/pull/335)
================================================
FILE: LICENSE
================================================
Copyright (c) 2018 HashiCorp, Inc.
Mozilla Public License, version 2.0
1. Definitions
1.1. “Contributor”
means each individual or legal entity that creates, contributes to the
creation of, or owns Covered Software.
1.2. “Contributor Version”
means the combination of the Contributions of others (if any) used by a
Contributor and that particular Contributor’s Contribution.
1.3. “Contribution”
means Covered Software of a particular Contributor.
1.4. “Covered Software”
means Source Code Form to which the initial Contributor has attached the
notice in Exhibit A, the Executable Form of such Source Code Form, and
Modifications of such Source Code Form, in each case including portions
thereof.
1.5. “Incompatible With Secondary Licenses”
means
a. that the initial Contributor has attached the notice described in
Exhibit B to the Covered Software; or
b. that the Covered Software was made available under the terms of version
1.1 or earlier of the License, but not also under the terms of a
Secondary License.
1.6. “Executable Form”
means any form of the work other than Source Code Form.
1.7. “Larger Work”
means a work that combines Covered Software with other material, in a separate
file or files, that is not Covered Software.
1.8. “License”
means this document.
1.9. “Licensable”
means having the right to grant, to the maximum extent possible, whether at the
time of the initial grant or subsequently, any and all of the rights conveyed by
this License.
1.10. “Modifications”
means any of the following:
a. any file in Source Code Form that results from an addition to, deletion
from, or modification of the contents of Covered Software; or
b. any new file in Source Code Form that contains any Covered Software.
1.11. “Patent Claims” of a Contributor
means any patent claim(s), including without limitation, method, process,
and apparatus claims, in any patent Licensable by such Contributor that
would be infringed, but for the grant of the License, by the making,
using, selling, offering for sale, having made, import, or transfer of
either its Contributions or its Contributor Version.
1.12. “Secondary License”
means either the GNU General Public License, Version 2.0, the GNU Lesser
General Public License, Version 2.1, the GNU Affero General Public
License, Version 3.0, or any later versions of those licenses.
1.13. “Source Code Form”
means the form of the work preferred for making modifications.
1.14. “You” (or “Your”)
means an individual or a legal entity exercising rights under this
License. For legal entities, “You” includes any entity that controls, is
controlled by, or is under common control with You. For purposes of this
definition, “control” means (a) the power, direct or indirect, to cause
the direction or management of such entity, whether by contract or
otherwise, or (b) ownership of more than fifty percent (50%) of the
outstanding shares or beneficial ownership of such entity.
2. License Grants and Conditions
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
a. under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or as
part of a Larger Work; and
b. under Patent Claims of such Contributor to make, use, sell, offer for
sale, have made, import, and otherwise transfer either its Contributions
or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution become
effective for each Contribution on the date the Contributor first distributes
such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under this
License. No additional rights or licenses will be implied from the distribution
or licensing of Covered Software under this License. Notwithstanding Section
2.1(b) above, no patent license is granted by a Contributor:
a. for any code that a Contributor has removed from Covered Software; or
b. for infringements caused by: (i) Your and any other third party’s
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
c. under Patent Claims infringed by Covered Software in the absence of its
Contributions.
This License does not grant any rights in the trademarks, service marks, or
logos of any Contributor (except as may be necessary to comply with the
notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this License
(see Section 10.2) or under the terms of a Secondary License (if permitted
under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its Contributions
are its original creation(s) or it has sufficient rights to grant the
rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under applicable
copyright doctrines of fair use, fair dealing, or other equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
Section 2.1.
3. Responsibilities
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under the
terms of this License. You must inform recipients that the Source Code Form
of the Covered Software is governed by the terms of this License, and how
they can obtain a copy of this License. You may not attempt to alter or
restrict the recipients’ rights in the Source Code Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
a. such Covered Software must also be made available in Source Code Form,
as described in Section 3.1, and You must inform recipients of the
Executable Form how they can obtain a copy of such Source Code Form by
reasonable means in a timely manner, at a charge no more than the cost
of distribution to the recipient; and
b. You may distribute such Executable Form under the terms of this License,
or sublicense it under different terms, provided that the license for
the Executable Form does not attempt to limit or alter the recipients’
rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for the
Covered Software. If the Larger Work is a combination of Covered Software
with a work governed by one or more Secondary Licenses, and the Covered
Software is not Incompatible With Secondary Licenses, this License permits
You to additionally distribute such Covered Software under the terms of
such Secondary License(s), so that the recipient of the Larger Work may, at
their option, further distribute the Covered Software under the terms of
either this License or such Secondary License(s).
3.4. Notices
You may not remove or alter the substance of any license notices (including
copyright notices, patent notices, disclaimers of warranty, or limitations
of liability) contained within the Source Code Form of the Covered
Software, except that You may alter any license notices to the extent
required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on behalf
of any Contributor. You must make it absolutely clear that any such
warranty, support, indemnity, or liability obligation is offered by You
alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
If it is impossible for You to comply with any of the terms of this License
with respect to some or all of the Covered Software due to statute, judicial
order, or regulation then You must: (a) comply with the terms of this License
to the maximum extent possible; and (b) describe the limitations and the code
they affect. Such description must be placed in a text file included with all
distributions of the Covered Software under this License. Except to the
extent prohibited by statute or regulation, such description must be
sufficiently detailed for a recipient of ordinary skill to be able to
understand it.
5. Termination
5.1. The rights granted under this License will terminate automatically if You
fail to comply with any of its terms. However, if You become compliant,
then the rights granted under this License from a particular Contributor
are reinstated (a) provisionally, unless and until such Contributor
explicitly and finally terminates Your grants, and (b) on an ongoing basis,
if such Contributor fails to notify You of the non-compliance by some
reasonable means prior to 60 days after You have come back into compliance.
Moreover, Your grants from a particular Contributor are reinstated on an
ongoing basis if such Contributor notifies You of the non-compliance by
some reasonable means, this is the first time You have received notice of
non-compliance with this License from such Contributor, and You become
compliant prior to 30 days after Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions, counter-claims,
and cross-claims) alleging that a Contributor Version directly or
indirectly infringes any patent, then the rights granted to You by any and
all Contributors for the Covered Software under Section 2.1 of this License
shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
license agreements (excluding distributors and resellers) which have been
validly granted by You or Your distributors under this License prior to
termination shall survive termination.
6. Disclaimer of Warranty
Covered Software is provided under this License on an “as is” basis, without
warranty of any kind, either expressed, implied, or statutory, including,
without limitation, warranties that the Covered Software is free of defects,
merchantable, fit for a particular purpose or non-infringing. The entire
risk as to the quality and performance of the Covered Software is with You.
Should any Covered Software prove defective in any respect, You (not any
Contributor) assume the cost of any necessary servicing, repair, or
correction. This disclaimer of warranty constitutes an essential part of this
License. No use of any Covered Software is authorized under this License
except under this disclaimer.
7. Limitation of Liability
Under no circumstances and under no legal theory, whether tort (including
negligence), contract, or otherwise, shall any Contributor, or anyone who
distributes Covered Software as permitted above, be liable to You for any
direct, indirect, special, incidental, or consequential damages of any
character including, without limitation, damages for lost profits, loss of
goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses, even if such party shall have been
informed of the possibility of such damages. This limitation of liability
shall not apply to liability for death or personal injury resulting from such
party’s negligence to the extent applicable law prohibits such limitation.
Some jurisdictions do not allow the exclusion or limitation of incidental or
consequential damages, so this exclusion and limitation may not apply to You.
8. Litigation
Any litigation relating to this License may be brought only in the courts of
a jurisdiction where the defendant maintains its principal place of business
and such litigation shall be governed by laws of that jurisdiction, without
reference to its conflict-of-law provisions. Nothing in this Section shall
prevent a party’s ability to bring cross-claims or counter-claims.
9. Miscellaneous
This License represents the complete agreement concerning the subject matter
hereof. If any provision of this License is held to be unenforceable, such
provision shall be reformed only to the extent necessary to make it
enforceable. Any law or regulation which provides that the language of a
contract shall be construed against the drafter shall not be used to construe
this License against a Contributor.
10. Versions of the License
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version of
the License under which You originally received the Covered Software, or
under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a modified
version of this License if you rename the license and remove any
references to the name of the license steward (except to note that such
modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then
You may include the notice in a location (such as a LICENSE file in a relevant
directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - “Incompatible With Secondary Licenses” Notice
This Source Code Form is “Incompatible
With Secondary Licenses”, as defined by
the Mozilla Public License, v. 2.0.
================================================
FILE: META.d/_summary.yaml
================================================
# Copyright IBM Corp. 2018, 2025
# SPDX-License-Identifier: MPL-2.0
---
schema: 1.1
partition: tfc
category: library
summary:
owner: team-tf-core-cloud
description: HCP Terraform and Terraform Enterprise API Client/SDK in Golang
visibility: external
================================================
FILE: META.d/data.yaml
================================================
# Copyright IBM Corp. 2018, 2025
# SPDX-License-Identifier: MPL-2.0
data_summary:
gdpr:
exempt: true
last_reviewed: 2024-11-04
================================================
FILE: Makefile
================================================
.PHONY: vet fmt lint test mocks envvars generate
# Make target to generate resource scaffolding for specified RESOURCE
generate: check-resource
@cd ./scripts/generate_resource; \
go mod tidy; \
go run . $(RESOURCE) ;
vet:
go vet
fmt:
gofmt -s -l -w .
fmtcheck:
./scripts/gofmtcheck.sh
lint:
golangci-lint run .
test:
go test ./... $(TESTARGS) -timeout=30m
# Make target to generate mocks for specified FILENAME
mocks: check-filename
@echo "mockgen -source=$(FILENAME) -destination=mocks/$(subst .go,_mocks.go,$(FILENAME)) -package=mocks" >> generate_mocks.sh
./generate_mocks.sh
envvars:
./scripts/setup-test-envvars.sh
check-filename:
ifndef FILENAME
$(error Missing FILENAME param. Example usage: FILENAME=example_resource.go make mocks)
endif
check-resource:
ifndef RESOURCE
$(error Missing RESOURCE param. Example usage: RESOURCE=foo_bar make generate)
endif
================================================
FILE: README.md
================================================
HCP Terraform and Terraform Enterprise Go Client
==============================
[](https://github.com/hashicorp/go-tfe/actions/workflows/ci.yml)
[](https://github.com/hashicorp/go-tfe/blob/main/LICENSE)
[](https://godoc.org/github.com/hashicorp/go-tfe)
[](https://goreportcard.com/report/github.com/hashicorp/go-tfe)
[](https://github.com/hashicorp/go-tfe/issues)
The official Go API client for [HCP Terraform and Terraform Enterprise](https://www.hashicorp.com/products/terraform).
This client supports the [HCP Terraform V2 API](https://developer.hashicorp.com/terraform/cloud-docs/api-docs).
As Terraform Enterprise is a self-hosted distribution of HCP Terraform, this
client supports both HCP Terraform and Terraform Enterprise use cases. In all package
documentation and API, the platform will always be stated as 'Terraform
Enterprise' - but a feature will be explicitly noted as only supported in one or
the other, if applicable (rare).
## Version Information
Almost always, minor version changes will indicate backwards-compatible features and enhancements. Occasionally, function signature changes that reflect a bug fix may appear as a minor version change. Patch version changes will be used for bug fixes, performance improvements, and otherwise unimpactful changes.
## Example Usage
Construct a new TFE client, then use the various endpoints on the client to
access different parts of the Terraform Enterprise API. The following example lists
all organizations.
### (Recommended Approach) Using custom config to provide configuration details to the API client
```go
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
config := &tfe.Config{
Address: "https://tfe.local",
Token: "insert-your-token-here",
RetryServerErrors: true,
}
client, err := tfe.NewClient(config)
if err != nil {
log.Fatal(err)
}
orgs, err := client.Organizations.List(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
```
### Using the default config with env vars
The default configuration makes use of the `TFE_ADDRESS` and `TFE_TOKEN` environment variables.
1. `TFE_ADDRESS` - URL of a HCP Terraform or Terraform Enterprise instance. Example: `https://tfe.local`
1. `TFE_TOKEN` - An [API token](https://developer.hashicorp.com/terraform/cloud-docs/users-teams-organizations/api-tokens) for the HCP Terraform or Terraform Enterprise instance.
**Note:** Alternatively, you can set `TFE_HOSTNAME` which serves as a fallback for `TFE_ADDRESS`. It will only be used if `TFE_ADDRESS` is not set and will resolve the host to an `https` scheme. Example: `tfe.local` => resolves to `https://tfe.local`
The environment variables are used as a fallback to configure TFE client if the Address or Token values are not provided as in the cases below:
#### Using the default configuration
```go
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
// Passing nil to tfe.NewClient method will also use the default configuration
client, err := tfe.NewClient(tfe.DefaultConfig())
if err != nil {
log.Fatal(err)
}
orgs, err := client.Organizations.List(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
```
#### When Address or Token has no value
```go
import (
"context"
"log"
"github.com/hashicorp/go-tfe"
)
config := &tfe.Config{
Address: "",
Token: "",
}
client, err := tfe.NewClient(config)
if err != nil {
log.Fatal(err)
}
orgs, err := client.Organizations.List(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
```
## Documentation
For complete usage of the API client, see the [full package docs](https://pkg.go.dev/github.com/hashicorp/go-tfe).
## Examples
See the [examples directory](https://github.com/hashicorp/go-tfe/tree/main/examples).
## Running tests
See [TESTS.md](docs/TESTS.md).
## Issues and Contributing
See [CONTRIBUTING.md](docs/CONTRIBUTING.md)
## Releases
See [RELEASES.md](docs/RELEASES.md)
================================================
FILE: admin_opa_version.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"fmt"
"net/url"
"reflect"
"time"
)
// Compile-time proof of interface implementation.
var _ AdminOPAVersions = (*adminOPAVersions)(nil)
// AdminOPAVersions describes all the admin OPA versions related methods that
// the Terraform Enterprise API supports.
// Note that admin OPA versions are only available in Terraform Enterprise.
//
// TFE API docs: https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/opa-versions
type AdminOPAVersions interface {
// List all the OPA versions.
List(ctx context.Context, options *AdminOPAVersionsListOptions) (*AdminOPAVersionsList, error)
// Read a OPA version by its ID.
Read(ctx context.Context, id string) (*AdminOPAVersion, error)
// Create a OPA version.
Create(ctx context.Context, options AdminOPAVersionCreateOptions) (*AdminOPAVersion, error)
// Update a OPA version.
Update(ctx context.Context, id string, options AdminOPAVersionUpdateOptions) (*AdminOPAVersion, error)
// Delete a OPA version
Delete(ctx context.Context, id string) error
}
// adminOPAVersions implements AdminOPAVersions.
type adminOPAVersions struct {
client *Client
}
// AdminOPAVersion represents a OPA Version
type AdminOPAVersion struct {
ID string `jsonapi:"primary,opa-versions"`
Version string `jsonapi:"attr,version"`
URL string `jsonapi:"attr,url,omitempty"`
SHA string `jsonapi:"attr,sha,omitempty"`
Deprecated bool `jsonapi:"attr,deprecated"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Official bool `jsonapi:"attr,official"`
Enabled bool `jsonapi:"attr,enabled"`
Beta bool `jsonapi:"attr,beta"`
Usage int `jsonapi:"attr,usage"`
CreatedAt time.Time `jsonapi:"attr,created-at,iso8601"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"`
}
// AdminOPAVersionsListOptions represents the options for listing
// OPA versions.
type AdminOPAVersionsListOptions struct {
ListOptions
// Optional: A query string to find an exact version
Filter string `url:"filter[version],omitempty"`
// Optional: A search query string to find all versions that match version substring
Search string `url:"search[version],omitempty"`
}
// AdminOPAVersionCreateOptions for creating an OPA version.
type AdminOPAVersionCreateOptions struct {
Type string `jsonapi:"primary,opa-versions"`
Version string `jsonapi:"attr,version"` // Required
URL string `jsonapi:"attr,url,omitempty"` // Required w/ SHA unless Archs are provided
SHA string `jsonapi:"attr,sha,omitempty"` // Required w/ URL unless Archs are provided
Official *bool `jsonapi:"attr,official,omitempty"`
Deprecated *bool `jsonapi:"attr,deprecated,omitempty"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Enabled *bool `jsonapi:"attr,enabled,omitempty"`
Beta *bool `jsonapi:"attr,beta,omitempty"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"` // Required unless URL and SHA are provided
}
// AdminOPAVersionUpdateOptions for updating OPA version.
type AdminOPAVersionUpdateOptions struct {
Type string `jsonapi:"primary,opa-versions"`
Version *string `jsonapi:"attr,version,omitempty"`
URL *string `jsonapi:"attr,url,omitempty"`
SHA *string `jsonapi:"attr,sha,omitempty"`
Official *bool `jsonapi:"attr,official,omitempty"`
Deprecated *bool `jsonapi:"attr,deprecated,omitempty"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Enabled *bool `jsonapi:"attr,enabled,omitempty"`
Beta *bool `jsonapi:"attr,beta,omitempty"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"`
}
// AdminOPAVersionsList represents a list of OPA versions.
type AdminOPAVersionsList struct {
*Pagination
Items []*AdminOPAVersion
}
// List all the OPA versions.
func (a *adminOPAVersions) List(ctx context.Context, options *AdminOPAVersionsListOptions) (*AdminOPAVersionsList, error) {
req, err := a.client.NewRequest("GET", "admin/opa-versions", options)
if err != nil {
return nil, err
}
ol := &AdminOPAVersionsList{}
err = req.Do(ctx, ol)
if err != nil {
return nil, err
}
return ol, nil
}
// Read a OPA version by its ID.
func (a *adminOPAVersions) Read(ctx context.Context, id string) (*AdminOPAVersion, error) {
if !validStringID(&id) {
return nil, ErrInvalidOPAVersionID
}
u := fmt.Sprintf("admin/opa-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("GET", u, nil)
if err != nil {
return nil, err
}
ov := &AdminOPAVersion{}
err = req.Do(ctx, ov)
if err != nil {
return nil, err
}
return ov, nil
}
// Create a new OPA version.
func (a *adminOPAVersions) Create(ctx context.Context, options AdminOPAVersionCreateOptions) (*AdminOPAVersion, error) {
if err := options.valid(); err != nil {
return nil, err
}
req, err := a.client.NewRequest("POST", "admin/opa-versions", &options)
if err != nil {
return nil, err
}
ov := &AdminOPAVersion{}
err = req.Do(ctx, ov)
if err != nil {
return nil, err
}
return ov, nil
}
// Update an existing OPA version.
func (a *adminOPAVersions) Update(ctx context.Context, id string, options AdminOPAVersionUpdateOptions) (*AdminOPAVersion, error) {
if !validStringID(&id) {
return nil, ErrInvalidOPAVersionID
}
u := fmt.Sprintf("admin/opa-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("PATCH", u, &options)
if err != nil {
return nil, err
}
ov := &AdminOPAVersion{}
err = req.Do(ctx, ov)
if err != nil {
return nil, err
}
return ov, nil
}
// Delete a OPA version.
func (a *adminOPAVersions) Delete(ctx context.Context, id string) error {
if !validStringID(&id) {
return ErrInvalidOPAVersionID
}
u := fmt.Sprintf("admin/opa-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("DELETE", u, nil)
if err != nil {
return err
}
return req.Do(ctx, nil)
}
func (o AdminOPAVersionCreateOptions) valid() error {
if (reflect.DeepEqual(o, AdminOPAVersionCreateOptions{})) {
return ErrRequiredOPAVerCreateOps
}
if o.Version == "" {
return ErrRequiredVersion
}
if !o.validArch() {
return ErrRequiredArchsOrURLAndSha
}
return nil
}
func (o AdminOPAVersionCreateOptions) validArch() bool {
if o.Archs == nil && o.URL != "" && o.SHA != "" {
return true
}
for _, a := range o.Archs {
if !validArch(a) {
return false
}
}
return true
}
================================================
FILE: admin_opa_version_integration_test.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestAdminOPAVersions_List(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("without list options", func(t *testing.T) {
oList, err := client.Admin.OPAVersions.List(ctx, nil)
require.NoError(t, err)
assert.NotEmpty(t, oList.Items)
})
t.Run("with list options", func(t *testing.T) {
oList, err := client.Admin.OPAVersions.List(ctx, &AdminOPAVersionsListOptions{
ListOptions: ListOptions{
PageNumber: 999,
PageSize: 100,
},
})
require.NoError(t, err)
// Out of range page number, so the items should be empty
assert.Empty(t, oList.Items)
assert.Equal(t, 999, oList.CurrentPage)
oList, err = client.Admin.OPAVersions.List(ctx, &AdminOPAVersionsListOptions{
ListOptions: ListOptions{
PageNumber: 1,
PageSize: 100,
},
})
require.NoError(t, err)
assert.Equal(t, 1, oList.CurrentPage)
for _, item := range oList.Items {
assert.NotNil(t, item.ID)
assert.NotEmpty(t, item.Version)
assert.NotEmpty(t, item.URL)
assert.NotEmpty(t, item.SHA)
assert.NotNil(t, item.Official)
assert.NotNil(t, item.Deprecated)
if item.Deprecated {
assert.NotNil(t, item.DeprecatedReason)
} else {
assert.Nil(t, item.DeprecatedReason)
}
assert.NotNil(t, item.Enabled)
assert.NotNil(t, item.Beta)
assert.NotNil(t, item.Usage)
assert.NotNil(t, item.CreatedAt)
assert.NotEmpty(t, item.Archs)
}
})
t.Run("with filter query string", func(t *testing.T) {
oList, err := client.Admin.OPAVersions.List(ctx, &AdminOPAVersionsListOptions{
Filter: "0.59.0",
})
require.NoError(t, err)
assert.Equal(t, 1, len(oList.Items))
// Query for a OPA version that does not exist
oList, err = client.Admin.OPAVersions.List(ctx, &AdminOPAVersionsListOptions{
Filter: "1000.1000.42",
})
require.NoError(t, err)
assert.Empty(t, oList.Items)
})
t.Run("with search version query string", func(t *testing.T) {
searchVersion := "0.59.0"
oList, err := client.Admin.OPAVersions.List(ctx, &AdminOPAVersionsListOptions{
Search: searchVersion,
})
require.NoError(t, err)
assert.NotEmpty(t, oList.Items)
t.Run("ensure each version matches substring", func(t *testing.T) {
for _, item := range oList.Items {
assert.Equal(t, true, strings.Contains(item.Version, searchVersion))
}
})
})
}
func TestAdminOPAVersions_CreateDelete(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
version := createAdminOPAVersion()
url := "https://www.hashicorp.com"
amd64Sha := *String(genSha(t))
t.Run("with valid options including top level url & sha and archs", func(t *testing.T) {
opts := AdminOPAVersionCreateOptions{
Version: version,
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
URL: url,
SHA: amd64Sha,
Archs: []*ToolVersionArchitecture{
{
URL: url,
Sha: amd64Sha,
OS: linux,
Arch: amd64,
},
{
URL: url,
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, ov.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *opts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *ov.DeprecatedReason)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, len(opts.Archs), len(ov.Archs))
assert.Equal(t, opts.URL, ov.URL)
assert.Equal(t, opts.SHA, ov.SHA)
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, ov.Archs[i].URL)
assert.Equal(t, arch.Sha, ov.Archs[i].Sha)
assert.Equal(t, arch.OS, ov.Archs[i].OS)
assert.Equal(t, arch.Arch, ov.Archs[i].Arch)
}
})
t.Run("with valid options including archs", func(t *testing.T) {
version = createAdminOPAVersion()
opts := AdminOPAVersionCreateOptions{
Version: version,
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
Archs: []*ToolVersionArchitecture{
{
URL: "https://www.hashicorp.com",
Sha: *String(genSha(t)),
OS: linux,
Arch: amd64,
},
{
URL: "https://www.hashicorp.com",
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, ov.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *opts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *ov.DeprecatedReason)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, len(opts.Archs), len(ov.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, ov.Archs[i].URL)
assert.Equal(t, arch.Sha, ov.Archs[i].Sha)
assert.Equal(t, arch.OS, ov.Archs[i].OS)
assert.Equal(t, arch.Arch, ov.Archs[i].Arch)
}
})
t.Run("with valid options including, url, and sha", func(t *testing.T) {
opts := AdminOPAVersionCreateOptions{
Version: version,
URL: url,
SHA: genSha(t),
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, ov.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, opts.URL, ov.URL)
assert.Equal(t, opts.SHA, ov.SHA)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *opts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *ov.DeprecatedReason)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, 1, len(ov.Archs))
assert.Equal(t, opts.URL, ov.Archs[0].URL)
assert.Equal(t, opts.SHA, ov.Archs[0].Sha)
assert.Equal(t, linux, ov.Archs[0].OS)
assert.Equal(t, amd64, ov.Archs[0].Arch)
})
t.Run("with only required options including tool version url and sha", func(t *testing.T) {
version = createAdminOPAVersion()
opts := AdminOPAVersionCreateOptions{
Version: version,
URL: "https://www.hashicorp.com",
SHA: genSha(t),
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, ov.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, opts.URL, ov.URL)
assert.Equal(t, opts.SHA, ov.SHA)
assert.Equal(t, false, ov.Official)
assert.Equal(t, false, ov.Deprecated)
assert.Nil(t, ov.DeprecatedReason)
assert.Equal(t, true, ov.Enabled)
assert.Equal(t, false, ov.Beta)
assert.Equal(t, 1, len(ov.Archs))
assert.Equal(t, opts.URL, ov.Archs[0].URL)
assert.Equal(t, opts.SHA, ov.Archs[0].Sha)
assert.Equal(t, linux, ov.Archs[0].OS)
assert.Equal(t, amd64, ov.Archs[0].Arch)
})
t.Run("with only required options including archs", func(t *testing.T) {
version = createAdminOPAVersion()
opts := AdminOPAVersionCreateOptions{
Version: version,
Archs: []*ToolVersionArchitecture{
{
URL: url,
Sha: amd64Sha,
OS: linux,
Arch: amd64,
},
{
URL: url,
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, ov.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, false, ov.Official)
assert.Equal(t, false, ov.Deprecated)
assert.Nil(t, ov.DeprecatedReason)
assert.Equal(t, true, ov.Enabled)
assert.Equal(t, false, ov.Beta)
assert.Equal(t, len(opts.Archs), len(ov.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, ov.Archs[i].URL)
assert.Equal(t, arch.Sha, ov.Archs[i].Sha)
assert.Equal(t, arch.OS, ov.Archs[i].OS)
assert.Equal(t, arch.Arch, ov.Archs[i].Arch)
}
})
t.Run("with empty options", func(t *testing.T) {
_, err := client.Admin.OPAVersions.Create(ctx, AdminOPAVersionCreateOptions{})
require.Equal(t, err, ErrRequiredOPAVerCreateOps)
})
}
func TestAdminOPAVersions_ReadUpdate(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("reads and updates", func(t *testing.T) {
version := createAdminOPAVersion()
sha := String(genSha(t))
opts := AdminOPAVersionCreateOptions{
Version: version,
URL: "https://www.hashicorp.com",
SHA: genSha(t),
Official: Bool(false),
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Enabled: Bool(false),
Beta: Bool(false),
Archs: []*ToolVersionArchitecture{{
URL: "https://www.hashicorp.com",
Sha: *sha,
OS: linux,
Arch: amd64,
}},
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
id := ov.ID
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, id)
require.NoError(t, deleteErr)
}()
ov, err = client.Admin.OPAVersions.Read(ctx, id)
require.NoError(t, err)
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, opts.Archs[0].URL, ov.URL)
assert.Equal(t, opts.Archs[0].Sha, ov.SHA)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *opts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *ov.DeprecatedReason)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, len(opts.Archs), len(ov.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, ov.Archs[i].URL)
assert.Equal(t, arch.Sha, ov.Archs[i].Sha)
assert.Equal(t, arch.OS, ov.Archs[i].OS)
assert.Equal(t, arch.Arch, ov.Archs[i].Arch)
}
updateVersion := createAdminOPAVersion()
updateURL := "https://app.terraform.io/"
updateOpts := AdminOPAVersionUpdateOptions{
Version: String(updateVersion),
URL: String(updateURL),
Deprecated: Bool(false),
}
ov, err = client.Admin.OPAVersions.Update(ctx, id, updateOpts)
require.NoError(t, err)
assert.Equal(t, updateVersion, ov.Version)
assert.Equal(t, updateURL, ov.URL)
assert.Equal(t, opts.SHA, ov.SHA)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *updateOpts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, len(opts.Archs), len(ov.Archs))
assert.Equal(t, *updateOpts.URL, ov.Archs[0].URL)
assert.Equal(t, opts.Archs[0].Sha, ov.Archs[0].Sha)
assert.Equal(t, opts.Archs[0].OS, ov.Archs[0].OS)
assert.Equal(t, opts.Archs[0].Arch, ov.Archs[0].Arch)
})
t.Run("update with Archs", func(t *testing.T) {
version := genSafeRandomTerraformVersion()
sha := String(genSha(t))
opts := AdminOPAVersionCreateOptions{
Version: *String(version),
Official: Bool(false),
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Enabled: Bool(false),
Beta: Bool(false),
Archs: []*ToolVersionArchitecture{{
URL: "https://www.hashicorp.com",
Sha: *sha,
OS: linux,
Arch: amd64,
}},
}
ov, err := client.Admin.OPAVersions.Create(ctx, opts)
require.NoError(t, err)
id := ov.ID
defer func() {
deleteErr := client.Admin.OPAVersions.Delete(ctx, id)
require.NoError(t, deleteErr)
}()
updateArchOpts := AdminOPAVersionUpdateOptions{
Archs: []*ToolVersionArchitecture{{
URL: "https://www.hashicorp.com",
Sha: *sha,
OS: linux,
Arch: arm64,
}},
}
ov, err = client.Admin.OPAVersions.Update(ctx, id, updateArchOpts)
require.NoError(t, err)
assert.Equal(t, opts.Version, ov.Version)
assert.Equal(t, "", ov.URL)
assert.Equal(t, "", ov.SHA)
assert.Equal(t, *opts.Official, ov.Official)
assert.Equal(t, *opts.Deprecated, ov.Deprecated)
assert.Equal(t, *opts.Enabled, ov.Enabled)
assert.Equal(t, *opts.Beta, ov.Beta)
assert.Equal(t, len(ov.Archs), 1)
assert.Equal(t, updateArchOpts.Archs[0].URL, ov.Archs[0].URL)
assert.Equal(t, updateArchOpts.Archs[0].Sha, ov.Archs[0].Sha)
assert.Equal(t, updateArchOpts.Archs[0].OS, ov.Archs[0].OS)
assert.Equal(t, updateArchOpts.Archs[0].Arch, ov.Archs[0].Arch)
})
t.Run("with non-existent OPA version", func(t *testing.T) {
randomID := "random-id"
_, err := client.Admin.OPAVersions.Read(ctx, randomID)
require.Error(t, err)
})
}
================================================
FILE: admin_organization.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"fmt"
"net/url"
)
// Compile-time proof of interface implementation.
var _ AdminOrganizations = (*adminOrganizations)(nil)
// AdminOrganizations describes all of the admin organization related methods that the Terraform
// Enterprise API supports. Note that admin settings are only available in Terraform Enterprise.
//
// TFE API docs: https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/organizations
type AdminOrganizations interface {
// List all the organizations visible to the current user.
List(ctx context.Context, options *AdminOrganizationListOptions) (*AdminOrganizationList, error)
// Read attributes of an existing organization via admin API.
Read(ctx context.Context, organization string) (*AdminOrganization, error)
// Update attributes of an existing organization via admin API.
Update(ctx context.Context, organization string, options AdminOrganizationUpdateOptions) (*AdminOrganization, error)
// Delete an organization by its name via admin API
Delete(ctx context.Context, organization string) error
// ListModuleConsumers lists specific organizations in the Terraform Enterprise installation that have permission to use an organization's modules.
ListModuleConsumers(ctx context.Context, organization string, options *AdminOrganizationListModuleConsumersOptions) (*AdminOrganizationList, error)
// UpdateModuleConsumers specifies a list of organizations that can use modules from the sharing organization's private registry. Setting a list of module consumers will turn off global module sharing for an organization.
UpdateModuleConsumers(ctx context.Context, organization string, consumerOrganizations []string) error
}
// adminOrganizations implements AdminOrganizations.
type adminOrganizations struct {
client *Client
}
// AdminOrganization represents a Terraform Enterprise organization returned from the Admin API.
type AdminOrganization struct {
Name string `jsonapi:"primary,organizations"`
AccessBetaTools bool `jsonapi:"attr,access-beta-tools"`
ExternalID string `jsonapi:"attr,external-id"`
GlobalModuleSharing *bool `jsonapi:"attr,global-module-sharing"`
GlobalProviderSharing *bool `jsonapi:"attr,global-provider-sharing"`
IsDisabled bool `jsonapi:"attr,is-disabled"`
NotificationEmail string `jsonapi:"attr,notification-email"`
SsoEnabled bool `jsonapi:"attr,sso-enabled"`
TerraformBuildWorkerApplyTimeout string `jsonapi:"attr,terraform-build-worker-apply-timeout"`
TerraformBuildWorkerPlanTimeout string `jsonapi:"attr,terraform-build-worker-plan-timeout"`
ApplyTimeout string `jsonapi:"attr,apply-timeout"`
PlanTimeout string `jsonapi:"attr,plan-timeout"`
TerraformWorkerSudoEnabled bool `jsonapi:"attr,terraform-worker-sudo-enabled"`
WorkspaceLimit *int `jsonapi:"attr,workspace-limit"`
// Relations
Owners []*User `jsonapi:"relation,owners"`
}
// AdminOrganizationUpdateOptions represents the admin options for updating an organization.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/organizations#request-body
type AdminOrganizationUpdateOptions struct {
AccessBetaTools *bool `jsonapi:"attr,access-beta-tools,omitempty"`
GlobalModuleSharing *bool `jsonapi:"attr,global-module-sharing,omitempty"`
GlobalProviderSharing *bool `jsonapi:"attr,global-provider-sharing,omitempty"`
IsDisabled *bool `jsonapi:"attr,is-disabled,omitempty"`
TerraformBuildWorkerApplyTimeout *string `jsonapi:"attr,terraform-build-worker-apply-timeout,omitempty"`
TerraformBuildWorkerPlanTimeout *string `jsonapi:"attr,terraform-build-worker-plan-timeout,omitempty"`
ApplyTimeout *string `jsonapi:"attr,apply-timeout,omitempty"`
PlanTimeout *string `jsonapi:"attr,plan-timeout,omitempty"`
TerraformWorkerSudoEnabled bool `jsonapi:"attr,terraform-worker-sudo-enabled,omitempty"`
WorkspaceLimit *int `jsonapi:"attr,workspace-limit,omitempty"`
}
// AdminOrganizationList represents a list of organizations via Admin API.
type AdminOrganizationList struct {
*Pagination
Items []*AdminOrganization
}
// AdminOrgIncludeOpt represents the available options for include query params.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/organizations#available-related-resources
type AdminOrgIncludeOpt string
const AdminOrgOwners AdminOrgIncludeOpt = "owners"
// AdminOrganizationListOptions represents the options for listing organizations via Admin API.
type AdminOrganizationListOptions struct {
ListOptions
// Optional: A query string used to filter organizations.
// Any organizations with a name or notification email partially matching this value will be returned.
Query string `url:"q,omitempty"`
// Optional: A list of relations to include. See available resources
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/organizations#available-related-resources
Include []AdminOrgIncludeOpt `url:"include,omitempty"`
}
// AdminOrganizationListModuleConsumersOptions represents the options for listing organization module consumers through the Admin API
type AdminOrganizationListModuleConsumersOptions struct {
ListOptions
}
type AdminOrganizationID struct {
ID string `jsonapi:"primary,organizations"`
}
// List all the organizations visible to the current user.
func (s *adminOrganizations) List(ctx context.Context, options *AdminOrganizationListOptions) (*AdminOrganizationList, error) {
if err := options.valid(); err != nil {
return nil, err
}
u := "admin/organizations"
req, err := s.client.NewRequest("GET", u, options)
if err != nil {
return nil, err
}
orgl := &AdminOrganizationList{}
err = req.Do(ctx, orgl)
if err != nil {
return nil, err
}
return orgl, nil
}
// ListModuleConsumers lists specific organizations in the Terraform Enterprise installation that have permission to use an organization's modules.
func (s *adminOrganizations) ListModuleConsumers(ctx context.Context, organization string, options *AdminOrganizationListModuleConsumersOptions) (*AdminOrganizationList, error) {
if !validStringID(&organization) {
return nil, ErrInvalidOrg
}
u := fmt.Sprintf("admin/organizations/%s/relationships/module-consumers", url.PathEscape(organization))
req, err := s.client.NewRequest("GET", u, nil)
if err != nil {
return nil, err
}
orgl := &AdminOrganizationList{}
err = req.Do(ctx, orgl)
if err != nil {
return nil, err
}
return orgl, nil
}
// Read an organization by its name.
func (s *adminOrganizations) Read(ctx context.Context, organization string) (*AdminOrganization, error) {
if !validStringID(&organization) {
return nil, ErrInvalidOrg
}
u := fmt.Sprintf("admin/organizations/%s", url.PathEscape(organization))
req, err := s.client.NewRequest("GET", u, nil)
if err != nil {
return nil, err
}
org := &AdminOrganization{}
err = req.Do(ctx, org)
if err != nil {
return nil, err
}
return org, nil
}
// Update an organization by its name.
func (s *adminOrganizations) Update(ctx context.Context, organization string, options AdminOrganizationUpdateOptions) (*AdminOrganization, error) {
if !validStringID(&organization) {
return nil, ErrInvalidOrg
}
u := fmt.Sprintf("admin/organizations/%s", url.PathEscape(organization))
req, err := s.client.NewRequest("PATCH", u, &options)
if err != nil {
return nil, err
}
org := &AdminOrganization{}
err = req.Do(ctx, org)
if err != nil {
return nil, err
}
return org, nil
}
// UpdateModuleConsumers updates an organization to specify a list of organizations that can use modules from the sharing organization's private registry.
func (s *adminOrganizations) UpdateModuleConsumers(ctx context.Context, organization string, consumerOrganizationIDs []string) error {
if !validStringID(&organization) {
return ErrInvalidOrg
}
u := fmt.Sprintf("admin/organizations/%s/relationships/module-consumers", url.PathEscape(organization))
var organizations []*AdminOrganizationID
for _, id := range consumerOrganizationIDs {
if !validStringID(&id) {
return ErrInvalidOrg
}
organizations = append(organizations, &AdminOrganizationID{ID: id})
}
req, err := s.client.NewRequest("PATCH", u, organizations)
if err != nil {
return err
}
err = req.Do(ctx, nil)
if err != nil {
return err
}
return nil
}
// Delete an organization by its name.
func (s *adminOrganizations) Delete(ctx context.Context, organization string) error {
if !validStringID(&organization) {
return ErrInvalidOrg
}
u := fmt.Sprintf("admin/organizations/%s", url.PathEscape(organization))
req, err := s.client.NewRequest("DELETE", u, nil)
if err != nil {
return err
}
return req.Do(ctx, nil)
}
func (o *AdminOrganizationListOptions) valid() error {
return nil
}
================================================
FILE: admin_organization_integration_test.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"fmt"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestAdminOrganizations_List(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
org, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()
t.Run("with no list options", func(t *testing.T) {
adminOrgList, err := client.Admin.Organizations.List(ctx, nil)
require.NoError(t, err)
// Given that org creation occurs on every test, the ordering is not
// guaranteed. It may be that the `org` created in this test does not appear
// in this list, so we want to test that the items are filled.
assert.NotEmpty(t, adminOrgList.Items)
})
t.Run("with list options", func(t *testing.T) {
// creating second org so that the query can only find the main org
_, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()
adminOrgList, err := client.Admin.Organizations.List(ctx, &AdminOrganizationListOptions{
Query: org.Name,
})
require.NoError(t, err)
assert.Equal(t, true, adminOrgItemsContainsName(adminOrgList.Items, org.Name))
assert.Equal(t, 1, adminOrgList.CurrentPage)
assert.Equal(t, 1, adminOrgList.TotalCount)
})
t.Run("with list options and org name that doesn't exist", func(t *testing.T) {
randomName := "random-org-name"
adminOrgList, err := client.Admin.Organizations.List(ctx, &AdminOrganizationListOptions{
Query: randomName,
})
require.NoError(t, err)
assert.Equal(t, false, adminOrgItemsContainsName(adminOrgList.Items, org.Name))
assert.Equal(t, 1, adminOrgList.CurrentPage)
assert.Equal(t, 0, adminOrgList.TotalCount)
})
t.Run("with owners included", func(t *testing.T) {
adminOrgList, err := client.Admin.Organizations.List(ctx, &AdminOrganizationListOptions{
Include: []AdminOrgIncludeOpt{AdminOrgOwners},
})
require.NoError(t, err)
require.NotEmpty(t, adminOrgList.Items)
assert.NotNil(t, adminOrgList.Items[0].Owners)
assert.NotEmpty(t, adminOrgList.Items[0].Owners[0].Email)
})
}
func TestAdminOrganizations_Read(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("it fails to read an organization with an invalid id", func(t *testing.T) {
adminOrg, err := client.Admin.Organizations.Read(ctx, "")
require.Error(t, err)
assert.EqualError(t, err, ErrInvalidOrg.Error())
assert.Nil(t, adminOrg)
})
t.Run("it returns ErrResourceNotFound for an organization that doesn't exist", func(t *testing.T) {
orgName := fmt.Sprintf("non-existing-%s", randomString(t))
adminOrg, err := client.Admin.Organizations.Read(ctx, orgName)
require.Error(t, err)
assert.EqualError(t, err, ErrResourceNotFound.Error())
assert.Nil(t, adminOrg)
})
t.Run("it reads an organization successfully", func(t *testing.T) {
org, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()
adminOrg, err := client.Admin.Organizations.Read(ctx, org.Name)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Organization is not nil")
assert.Equal(t, adminOrg.Name, org.Name)
// attributes part of an AdminOrganization response that are not null
assert.NotNilf(t, adminOrg.AccessBetaTools, "AccessBetaTools is not nil")
assert.NotNilf(t, adminOrg.ExternalID, "ExternalID is not nil")
assert.NotNilf(t, adminOrg.IsDisabled, "IsDisabled is not nil")
assert.NotNilf(t, adminOrg.NotificationEmail, "NotificationEmail is not nil")
assert.NotNilf(t, adminOrg.SsoEnabled, "SsoEnabled is not nil")
assert.NotNilf(t, adminOrg.TerraformWorkerSudoEnabled, "TerraformWorkerSudoEnabledis not nil")
assert.Nilf(t, adminOrg.WorkspaceLimit, "WorkspaceLimit is nil")
})
}
func TestAdminOrganizations_Delete(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("it fails to delete an organization with an invalid id", func(t *testing.T) {
err := client.Admin.Organizations.Delete(ctx, "")
require.Error(t, err)
assert.EqualError(t, err, ErrInvalidOrg.Error())
})
t.Run("it returns ErrResourceNotFound during an attempt to delete an organization that doesn't exist", func(t *testing.T) {
orgName := fmt.Sprintf("non-existing-%s", randomString(t))
err := client.Admin.Organizations.Delete(ctx, orgName)
require.Error(t, err)
assert.EqualError(t, err, ErrResourceNotFound.Error())
})
t.Run("it deletes an organization successfully", func(t *testing.T) {
originalOrg, _ := createOrganization(t, client)
adminOrg, err := client.Admin.Organizations.Read(ctx, originalOrg.Name)
require.NoError(t, err)
require.NotNil(t, adminOrg)
assert.Equal(t, adminOrg.Name, originalOrg.Name)
err = client.Admin.Organizations.Delete(ctx, adminOrg.Name)
require.NoError(t, err)
// Cannot find deleted org
_, err = client.Admin.Organizations.Read(ctx, originalOrg.Name)
assert.Error(t, err)
assert.EqualError(t, err, ErrResourceNotFound.Error())
})
}
func TestAdminOrganizations_ModuleConsumers(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("returns error if invalid org string is used", func(t *testing.T) {
org1, org1TestCleanup := createOrganization(t, client)
defer org1TestCleanup()
err := client.Admin.Organizations.UpdateModuleConsumers(ctx, org1.Name, []string{"1Hello!"})
assert.Error(t, err, "Organization 1Hello! not found")
})
t.Run("can list and update module consumers", func(t *testing.T) {
org1, org1TestCleanup := createOrganization(t, client)
defer org1TestCleanup()
org2, org2TestCleanup := createOrganization(t, client)
defer org2TestCleanup()
err := client.Admin.Organizations.UpdateModuleConsumers(ctx, org1.Name, []string{org2.Name})
require.NoError(t, err)
adminModuleConsumerList, err := client.Admin.Organizations.ListModuleConsumers(ctx, org1.Name, nil)
require.NoError(t, err)
assert.Equal(t, len(adminModuleConsumerList.Items), 1)
assert.Equal(t, adminModuleConsumerList.Items[0].Name, org2.Name)
org3, org3TestCleanup := createOrganization(t, client)
defer org3TestCleanup()
err = client.Admin.Organizations.UpdateModuleConsumers(ctx, org1.Name, []string{org3.Name})
require.NoError(t, err)
adminModuleConsumerList, err = client.Admin.Organizations.ListModuleConsumers(ctx, org1.Name, nil)
require.NoError(t, err)
assert.Equal(t, len(adminModuleConsumerList.Items), 1)
assert.Equal(t, adminModuleConsumerList.Items[0].Name, org3.Name)
})
}
func TestAdminOrganizations_Update(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("it fails to update an organization with an invalid id", func(t *testing.T) {
_, err := client.Admin.Organizations.Update(ctx, "", AdminOrganizationUpdateOptions{})
require.Error(t, err)
assert.EqualError(t, err, ErrInvalidOrg.Error())
})
t.Run("it returns ErrResourceNotFound for during an update on an organization that doesn't exist", func(t *testing.T) {
orgName := fmt.Sprintf("non-existing-%s", randomString(t))
_, err := client.Admin.Organizations.Update(ctx, orgName, AdminOrganizationUpdateOptions{})
require.Error(t, err)
assert.EqualError(t, err, ErrResourceNotFound.Error())
})
t.Run("fetches and updates organization", func(t *testing.T) {
org, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()
adminOrg, err := client.Admin.Organizations.Read(ctx, org.Name)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Org returned as nil")
accessBetaTools := true
globalModuleSharing := false
globalProviderSharing := false
isDisabled := false
applyTimeout := "24h"
planTimeout := "24h"
terraformWorkerSudoEnabled := true
opts := AdminOrganizationUpdateOptions{
AccessBetaTools: &accessBetaTools,
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
TerraformBuildWorkerApplyTimeout: &applyTimeout,
TerraformBuildWorkerPlanTimeout: &planTimeout,
ApplyTimeout: &applyTimeout,
PlanTimeout: &planTimeout,
TerraformWorkerSudoEnabled: terraformWorkerSudoEnabled,
}
adminOrg, err = client.Admin.Organizations.Update(ctx, org.Name, opts)
require.NotNilf(t, adminOrg, "Org returned as nil when it shouldn't be.")
require.NoError(t, err)
assert.Equal(t, accessBetaTools, adminOrg.AccessBetaTools)
assert.Equal(t, adminOrg.GlobalModuleSharing, &globalModuleSharing)
assert.Equal(t, adminOrg.GlobalProviderSharing, &globalProviderSharing)
assert.Equal(t, isDisabled, adminOrg.IsDisabled)
assert.Equal(t, applyTimeout, adminOrg.TerraformBuildWorkerApplyTimeout)
assert.Equal(t, planTimeout, adminOrg.TerraformBuildWorkerPlanTimeout)
assert.Equal(t, applyTimeout, adminOrg.ApplyTimeout)
assert.Equal(t, planTimeout, adminOrg.PlanTimeout)
assert.Equal(t, terraformWorkerSudoEnabled, adminOrg.TerraformWorkerSudoEnabled)
assert.Nil(t, adminOrg.WorkspaceLimit, "default workspace limit should be nil")
isDisabled = true
globalModuleSharing = true
globalProviderSharing = true
workspaceLimit := 42
opts = AdminOrganizationUpdateOptions{
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
}
adminOrg, err = client.Admin.Organizations.Update(ctx, org.Name, opts)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Org returned as nil when it shouldn't be.")
assert.Equal(t, adminOrg.GlobalModuleSharing, &globalModuleSharing)
assert.Equal(t, adminOrg.GlobalProviderSharing, &globalProviderSharing)
assert.Equal(t, adminOrg.IsDisabled, isDisabled)
assert.Equal(t, &workspaceLimit, adminOrg.WorkspaceLimit)
globalModuleSharing = false
globalProviderSharing = false
isDisabled = false
workspaceLimit = 0
opts = AdminOrganizationUpdateOptions{
GlobalModuleSharing: &globalModuleSharing,
GlobalProviderSharing: &globalProviderSharing,
IsDisabled: &isDisabled,
WorkspaceLimit: &workspaceLimit,
}
adminOrg, err = client.Admin.Organizations.Update(ctx, org.Name, opts)
require.NoError(t, err)
require.NotNilf(t, adminOrg, "Org returned as nil when it shouldn't be.")
assert.Equal(t, &globalModuleSharing, adminOrg.GlobalModuleSharing)
assert.Equal(t, &globalProviderSharing, adminOrg.GlobalProviderSharing)
assert.Equal(t, adminOrg.IsDisabled, isDisabled)
assert.Equal(t, &workspaceLimit, adminOrg.WorkspaceLimit)
})
}
func adminOrgItemsContainsName(items []*AdminOrganization, name string) bool {
hasName := false
for _, item := range items {
if item.Name == name {
hasName = true
break
}
}
return hasName
}
================================================
FILE: admin_run.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"fmt"
"net/url"
"strings"
"time"
)
// Compile-time proof of interface implementation.
var _ AdminRuns = (*adminRuns)(nil)
// AdminRuns describes all the admin run related methods that the Terraform
// Enterprise API supports.
// It contains endpoints to help site administrators manage their runs.
//
// TFE API docs: https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs
type AdminRuns interface {
// List all the runs of the given installation.
List(ctx context.Context, options *AdminRunsListOptions) (*AdminRunsList, error)
// Force-cancel a run by its ID.
ForceCancel(ctx context.Context, runID string, options AdminRunForceCancelOptions) error
}
// AdminRun represents AdminRuns interface.
type AdminRun struct {
ID string `jsonapi:"primary,runs"`
CreatedAt time.Time `jsonapi:"attr,created-at,iso8601"`
HasChanges bool `jsonapi:"attr,has-changes"`
Status RunStatus `jsonapi:"attr,status"`
StatusTimestamps *RunStatusTimestamps `jsonapi:"attr,status-timestamps"`
// Relations
Workspace *AdminWorkspace `jsonapi:"relation,workspace"`
Organization *AdminOrganization `jsonapi:"relation,workspace.organization"`
}
// AdminRunsList represents a list of runs.
type AdminRunsList struct {
*Pagination
Items []*AdminRun
}
// AdminRunIncludeOpt represents the available options for include query params.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#available-related-resources
type AdminRunIncludeOpt string
const (
AdminRunWorkspace AdminRunIncludeOpt = "workspace"
AdminRunWorkspaceOrg AdminRunIncludeOpt = "workspace.organization"
AdminRunWorkspaceOrgOwners AdminRunIncludeOpt = "workspace.organization.owners"
)
// AdminRunsListOptions represents the options for listing runs.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#query-parameters
type AdminRunsListOptions struct {
ListOptions
RunStatus string `url:"filter[status],omitempty"`
CreatedBefore string `url:"filter[to],omitempty"`
CreatedAfter string `url:"filter[from],omitempty"`
Query string `url:"q,omitempty"`
// Optional: A list of relations to include. See available resources
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#available-related-resources
Include []AdminRunIncludeOpt `url:"include,omitempty"`
}
// adminRuns implements the AdminRuns interface.
type adminRuns struct {
client *Client
}
// List all the runs of the terraform enterprise installation.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#list-all-runs
func (s *adminRuns) List(ctx context.Context, options *AdminRunsListOptions) (*AdminRunsList, error) {
if err := options.valid(); err != nil {
return nil, err
}
u := "admin/runs"
req, err := s.client.NewRequest("GET", u, options)
if err != nil {
return nil, err
}
rl := &AdminRunsList{}
err = req.Do(ctx, rl)
if err != nil {
return nil, err
}
return rl, nil
}
// AdminRunForceCancelOptions represents the options for force-canceling a run.
type AdminRunForceCancelOptions struct {
// An optional comment explaining the reason for the force-cancel.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#request-body
Comment *string `json:"comment,omitempty"`
}
// ForceCancel is used to forcefully cancel a run by its ID.
// https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/runs#force-a-run-into-the-quot-cancelled-quot-state
func (s *adminRuns) ForceCancel(ctx context.Context, runID string, options AdminRunForceCancelOptions) error {
if !validStringID(&runID) {
return ErrInvalidRunID
}
u := fmt.Sprintf("admin/runs/%s/actions/force-cancel", url.PathEscape(runID))
req, err := s.client.NewRequest("POST", u, &options)
if err != nil {
return err
}
return req.Do(ctx, nil)
}
func (o *AdminRunsListOptions) valid() error {
if o == nil { // nothing to validate
return nil
}
if err := validateAdminRunDateRanges(o.CreatedBefore, o.CreatedAfter); err != nil {
return err
}
if err := validateAdminRunFilterParams(o.RunStatus); err != nil {
return err
}
return nil
}
func validateAdminRunDateRanges(before, after string) error {
if validString(&before) {
_, err := time.Parse(time.RFC3339, before)
if err != nil {
return fmt.Errorf("invalid date format for CreatedBefore: '%s', must be in RFC3339 format", before)
}
}
if validString(&after) {
_, err := time.Parse(time.RFC3339, after)
if err != nil {
return fmt.Errorf("invalid date format for CreatedAfter: '%s', must be in RFC3339 format", after)
}
}
return nil
}
func validateAdminRunFilterParams(runStatus string) error {
// For the platform, an invalid filter value is a semantically understood query that returns an empty set, no error, no warning. But for go-tfe, an invalid value is good enough reason to error prior to a network call to the platform:
if validString(&runStatus) {
sanitizedRunstatus := strings.TrimSpace(runStatus)
runStatuses := strings.Split(sanitizedRunstatus, ",")
// iterate over our statuses, and ensure it is valid.
for _, status := range runStatuses {
switch status {
case string(RunApplied),
string(RunApplyQueued),
string(RunApplying),
string(RunCanceled),
string(RunConfirmed),
string(RunCostEstimated),
string(RunCostEstimating),
string(RunDiscarded),
string(RunErrored),
string(RunFetching),
string(RunFetchingCompleted),
string(RunPending),
string(RunPlanned),
string(RunPlannedAndFinished),
string(RunPlannedAndSaved),
string(RunPlanning),
string(RunPlanQueued),
string(RunPolicyChecked),
string(RunPolicyChecking),
string(RunPolicyOverride),
string(RunPolicySoftFailed),
string(RunPostPlanAwaitingDecision),
string(RunPostPlanCompleted),
string(RunPostPlanRunning),
string(RunPreApplyRunning),
string(RunPreApplyCompleted),
string(RunPrePlanCompleted),
string(RunPrePlanRunning),
string(RunQueuing),
string(RunQueuingApply),
"":
// do nothing
default:
return fmt.Errorf(`invalid value "%s" for run status`, status)
}
}
}
return nil
}
================================================
FILE: admin_run_integration_test.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"bytes"
"context"
"encoding/json"
"fmt"
"testing"
"time"
retryablehttp "github.com/hashicorp/go-retryablehttp"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestAdminRuns_List_RunDependent(t *testing.T) {
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
org, orgCleanup := createOrganization(t, client)
defer orgCleanup()
wTest, wTestCleanup := createWorkspace(t, client, org)
defer wTestCleanup()
rTest1, rTestCleanup1 := createRun(t, client, wTest)
defer rTestCleanup1()
rTest2, rTestCleanup2 := createRun(t, client, wTest)
defer rTestCleanup2()
t.Run("without list options", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, nil)
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest1.ID), true)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest2.ID), true)
})
t.Run("with list options", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
ListOptions: ListOptions{
PageNumber: 999,
PageSize: 100,
},
})
require.NoError(t, err)
// Out of range page number, so the items should be empty
assert.Empty(t, rl.Items)
assert.Equal(t, 999, rl.CurrentPage)
rl, err = client.Admin.Runs.List(ctx, &AdminRunsListOptions{
ListOptions: ListOptions{
PageNumber: 1,
PageSize: 100,
},
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
assert.Equal(t, 1, rl.CurrentPage)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest1.ID), true)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest2.ID), true)
})
t.Run("with workspace included", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
Include: []AdminRunIncludeOpt{AdminRunWorkspace},
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
require.NotNil(t, rl.Items[0].Workspace)
assert.NotEmpty(t, rl.Items[0].Workspace.Name)
})
t.Run("with workspace.organization included", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
Include: []AdminRunIncludeOpt{AdminRunWorkspaceOrg},
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
require.NotNil(t, rl.Items[0].Workspace)
require.NotNil(t, rl.Items[0].Workspace.Organization)
assert.NotEmpty(t, rl.Items[0].Workspace.Organization.Name)
})
t.Run("with invalid Include option", func(t *testing.T) {
_, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
Include: []AdminRunIncludeOpt{"workpsace"},
})
assert.Equal(t, ErrInvalidIncludeValue, err)
})
t.Run("with RunStatus.pending filter", func(t *testing.T) {
r1, err := client.Runs.Read(ctx, rTest1.ID)
require.NoError(t, err)
r2, err := client.Runs.Read(ctx, rTest2.ID)
require.NoError(t, err)
// There should be pending Runs
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
RunStatus: string(RunPending),
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
assert.Equal(t, adminRunItemsContainsID(rl.Items, r1.ID), false)
assert.Equal(t, adminRunItemsContainsID(rl.Items, r2.ID), true)
})
t.Run("with RunStatus.applied filter", func(t *testing.T) {
// There should be no applied Runs
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
RunStatus: string(RunApplied),
})
require.NoError(t, err)
assert.Empty(t, rl.Items)
})
t.Run("with query", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
Query: rTest1.ID,
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest1.ID), true)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest2.ID), false)
rl, err = client.Admin.Runs.List(ctx, &AdminRunsListOptions{
Query: rTest2.ID,
})
require.NoError(t, err)
require.NotEmpty(t, rl.Items)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest1.ID), false)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest2.ID), true)
})
}
func TestAdminRuns_ForceCancel_RunDependent(t *testing.T) {
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
org, orgCleanup := createOrganization(t, client)
defer orgCleanup()
wTest, wTestCleanup := createWorkspace(t, client, org)
defer wTestCleanup()
// We need to create 2 runs here.
// The first run will automatically be planned
// so that one cannot be cancelled.
rTest1, rCleanup1 := createRun(t, client, wTest)
defer rCleanup1()
// The second one will be pending until the first one is
// confirmed or discarded, so we can cancel that one.
rTest2, rCleanup2 := createRun(t, client, wTest)
defer rCleanup2()
assert.Equal(t, true, rTest1.Actions.IsCancelable)
assert.Equal(t, true, rTest1.Permissions.CanForceCancel)
assert.Equal(t, true, rTest2.Actions.IsCancelable)
assert.Equal(t, true, rTest2.Permissions.CanForceCancel)
t.Run("when the run does not exist", func(t *testing.T) {
err := client.Admin.Runs.ForceCancel(ctx, "nonexisting", AdminRunForceCancelOptions{})
assert.Equal(t, ErrResourceNotFound, err)
})
t.Run("with invalid run ID", func(t *testing.T) {
err := client.Admin.Runs.ForceCancel(ctx, badIdentifier, AdminRunForceCancelOptions{})
assert.EqualError(t, err, ErrInvalidRunID.Error())
})
t.Run("with can force cancel", func(t *testing.T) {
rTestPlanning, err := client.Runs.Read(ctx, rTest1.ID)
require.NoError(t, err)
ctxPollRunStatus, cancelPollPlanned := context.WithTimeout(ctx, 2*time.Minute)
defer cancelPollPlanned()
pollRunStatus(t, client, ctxPollRunStatus, rTestPlanning, []RunStatus{RunPlanning, RunPlanned, RunCostEstimated})
require.NotNil(t, rTestPlanning.Actions)
require.NotNil(t, rTestPlanning.Permissions)
assert.Equal(t, true, rTestPlanning.Actions.IsCancelable)
assert.Equal(t, true, rTestPlanning.Permissions.CanForceCancel)
rTestPending, err := client.Runs.Read(ctx, rTest2.ID)
require.NoError(t, err)
pollRunStatus(t, client, ctxPollRunStatus, rTest2, []RunStatus{RunPending})
require.NotNil(t, rTestPlanning.Actions)
require.NotNil(t, rTestPlanning.Permissions)
assert.Equal(t, true, rTestPending.Actions.IsCancelable)
assert.Equal(t, true, rTestPending.Permissions.CanForceCancel)
comment1 := "Misclick"
err = client.Admin.Runs.ForceCancel(ctx, rTestPending.ID, AdminRunForceCancelOptions{
Comment: String(comment1),
})
require.NoError(t, err)
rTestPendingResult, err := client.Runs.Read(ctx, rTestPending.ID)
require.NoError(t, err)
assert.Equal(t, RunCanceled, rTestPendingResult.Status)
comment2 := "Another misclick"
err = client.Admin.Runs.ForceCancel(ctx, rTestPlanning.ID, AdminRunForceCancelOptions{
Comment: String(comment2),
})
require.NoError(t, err)
rTestPlanningResult, err := client.Runs.Read(ctx, rTestPlanning.ID)
require.NoError(t, err)
assert.Equal(t, RunCanceled, rTestPlanningResult.Status)
})
}
func TestAdminRuns_ListFilterByDates_RunDependent(t *testing.T) {
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
org, orgCleanup := createOrganization(t, client)
defer orgCleanup()
wTest, wTestCleanup := createWorkspace(t, client, org)
defer wTestCleanup()
timestamp1 := time.Now().Format(time.RFC3339)
// Sleeping helps ensure that the timestamps on client and server don't
// need to be exactly in sync
time.Sleep(2 * time.Second)
rTest1, rCleanup1 := createRun(t, client, wTest)
defer rCleanup1()
rTest2, rCleanup2 := createRun(t, client, wTest)
defer rCleanup2()
time.Sleep(2 * time.Second)
timestamp2 := time.Now().Format(time.RFC3339)
_, rCleanup3 := createRun(t, client, wTest)
defer rCleanup3()
time.Sleep(2 * time.Second)
timestamp3 := time.Now().Format(time.RFC3339)
t.Run("has valid date ranges", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
CreatedAfter: timestamp1,
CreatedBefore: timestamp2,
})
require.NoError(t, err)
assert.Equal(t, 2, len(rl.Items))
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest1.ID), true)
assert.Equal(t, adminRunItemsContainsID(rl.Items, rTest2.ID), true)
})
t.Run("has no items when CreatedAfter and CreatedBefore datetimes has no overlap", func(t *testing.T) {
rl, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
CreatedAfter: timestamp3,
CreatedBefore: timestamp2,
})
require.NoError(t, err)
assert.Equal(t, 0, len(rl.Items))
})
t.Run("errors with invalid input for CreatedAfter", func(t *testing.T) {
_, err := client.Admin.Runs.List(ctx, &AdminRunsListOptions{
CreatedAfter: "invalid",
})
assert.Error(t, err)
})
}
func TestAdminRuns_AdminRunsListOptions_valid(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
t.Run("has valid status", func(t *testing.T) {
opts := AdminRunsListOptions{
RunStatus: string(RunPending),
}
err := opts.valid()
require.NoError(t, err)
})
t.Run("has invalid status", func(t *testing.T) {
opts := AdminRunsListOptions{
RunStatus: "random_status",
}
err := opts.valid()
assert.Error(t, err)
})
t.Run("has invalid status, even with a valid one", func(t *testing.T) {
statuses := fmt.Sprintf("%s,%s", string(RunPending), "random_status")
opts := AdminRunsListOptions{
RunStatus: statuses,
}
err := opts.valid()
assert.Error(t, err)
})
t.Run("has trailing comma and trailing space", func(t *testing.T) {
opts := AdminRunsListOptions{
RunStatus: "pending, ",
}
err := opts.valid()
require.NoError(t, err)
})
}
func TestAdminRun_ForceCancel_Marshal(t *testing.T) {
t.Parallel()
opts := AdminRunForceCancelOptions{
Comment: String("cancel comment"),
}
reqBody, err := serializeRequestBody(&opts)
require.NoError(t, err)
req, err := retryablehttp.NewRequest("POST", "url", reqBody)
require.NoError(t, err)
bodyBytes, err := req.BodyBytes()
require.NoError(t, err)
expectedBody := `{"comment":"cancel comment"}`
assert.Equal(t, expectedBody, string(bodyBytes))
}
func TestAdminRun_Unmarshal(t *testing.T) {
t.Parallel()
data := map[string]interface{}{
"data": map[string]interface{}{
"type": "runs",
"id": "run-VCsNJXa59eUza53R",
"attributes": map[string]interface{}{
"created-at": "2018-03-02T23:42:06.651Z",
"has-changes": true,
"status": RunApplied,
"status-timestamps": map[string]string{
"plan-queued-at": "2020-03-16T23:15:59+00:00",
},
},
},
}
byteData, err := json.Marshal(data)
if err != nil {
t.Fatal(err)
}
planQueuedParsedTime, err := time.Parse(time.RFC3339, "2020-03-16T23:15:59+00:00")
require.NoError(t, err)
adminRun := &AdminRun{}
responseBody := bytes.NewReader(byteData)
err = unmarshalResponse(responseBody, adminRun)
require.NoError(t, err)
assert.Equal(t, adminRun.ID, "run-VCsNJXa59eUza53R")
assert.Equal(t, adminRun.HasChanges, true)
assert.Equal(t, adminRun.Status, RunApplied)
assert.Equal(t, adminRun.StatusTimestamps.PlanQueuedAt, planQueuedParsedTime)
}
func adminRunItemsContainsID(items []*AdminRun, id string) bool {
hasID := false
for _, item := range items {
if item.ID == id {
hasID = true
break
}
}
return hasID
}
================================================
FILE: admin_run_test.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"fmt"
"testing"
"github.com/stretchr/testify/require"
)
func Test_validateAdminRunFilterParams(t *testing.T) {
t.Parallel()
// All RunStatus values - keep this in sync with run.go
validRunStatuses := []string{
"applied",
"applying",
"apply_queued",
"canceled",
"confirmed",
"cost_estimated",
"cost_estimating",
"discarded",
"errored",
"fetching",
"fetching_completed",
"pending",
"planned",
"planned_and_finished",
"planned_and_saved",
"planning",
"plan_queued",
"policy_checked",
"policy_checking",
"policy_override",
"policy_soft_failed",
"post_plan_awaiting_decision",
"post_plan_completed",
"post_plan_running",
"pre_apply_running",
"pre_apply_completed",
"pre_plan_completed",
"pre_plan_running",
"queuing",
"queuing_apply",
}
for _, v := range validRunStatuses {
t.Run(v, func(t *testing.T) {
require.NoError(t, validateAdminRunFilterParams(v), fmt.Sprintf("'%s' should be valid", v))
})
}
// empty string is allowed
require.NoError(t, validateAdminRunFilterParams(""), "empty string should be valid")
// comma-separated list, all valid
require.NoError(t, validateAdminRunFilterParams("applied,planned,canceled"), "'applied,planned,canceled' should be valid)")
// invalid values
require.Error(t, validateAdminRunFilterParams("cost_estimate"), "invalid value: cost_estimate")
// comma-separated list, some invalid
require.Error(t, validateAdminRunFilterParams("applied,not-planned,canceled"), "'applied,not-planned,canceled' should be invalid)")
}
================================================
FILE: admin_sentinel_version.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"fmt"
"net/url"
"reflect"
"time"
)
// Compile-time proof of interface implementation.
var _ AdminSentinelVersions = (*adminSentinelVersions)(nil)
// AdminSentinelVersions describes all the admin Sentinel versions related methods that
// the Terraform Enterprise API supports.
// Note that admin Sentinel versions are only available in Terraform Enterprise.
//
// TFE API docs: https://developer.hashicorp.com/terraform/enterprise/api-docs/admin/sentinel-versions
type AdminSentinelVersions interface {
// List all the Sentinel versions.
List(ctx context.Context, options *AdminSentinelVersionsListOptions) (*AdminSentinelVersionsList, error)
// Read a Sentinel version by its ID.
Read(ctx context.Context, id string) (*AdminSentinelVersion, error)
// Create a Sentinel version.
Create(ctx context.Context, options AdminSentinelVersionCreateOptions) (*AdminSentinelVersion, error)
// Update a Sentinel version.
Update(ctx context.Context, id string, options AdminSentinelVersionUpdateOptions) (*AdminSentinelVersion, error)
// Delete a Sentinel version
Delete(ctx context.Context, id string) error
}
// adminSentinelVersions implements AdminSentinelVersions.
type adminSentinelVersions struct {
client *Client
}
// AdminSentinelVersion represents a Sentinel Version
type AdminSentinelVersion struct {
ID string `jsonapi:"primary,sentinel-versions"`
Version string `jsonapi:"attr,version"`
URL string `jsonapi:"attr,url,omitempty"`
SHA string `jsonapi:"attr,sha,omitempty"`
Deprecated bool `jsonapi:"attr,deprecated"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Official bool `jsonapi:"attr,official"`
Enabled bool `jsonapi:"attr,enabled"`
Beta bool `jsonapi:"attr,beta"`
Usage int `jsonapi:"attr,usage"`
CreatedAt time.Time `jsonapi:"attr,created-at,iso8601"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"`
}
// AdminSentinelVersionsListOptions represents the options for listing
// Sentinel versions.
type AdminSentinelVersionsListOptions struct {
ListOptions
// Optional: A query string to find an exact version
Filter string `url:"filter[version],omitempty"`
// Optional: A search query string to find all versions that match version substring
Search string `url:"search[version],omitempty"`
}
// AdminSentinelVersionCreateOptions for creating an Sentinel version.
type AdminSentinelVersionCreateOptions struct {
Type string `jsonapi:"primary,sentinel-versions"`
Version string `jsonapi:"attr,version"` // Required
URL string `jsonapi:"attr,url,omitempty"` // Required w/ SHA unless Archs are provided
SHA string `jsonapi:"attr,sha,omitempty"` // Required w/ URL unless Archs are provided
Official *bool `jsonapi:"attr,official,omitempty"`
Deprecated *bool `jsonapi:"attr,deprecated,omitempty"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Enabled *bool `jsonapi:"attr,enabled,omitempty"`
Beta *bool `jsonapi:"attr,beta,omitempty"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"` // Required unless URL and SHA are provided
}
// AdminSentinelVersionUpdateOptions for updating Sentinel version.
type AdminSentinelVersionUpdateOptions struct {
Type string `jsonapi:"primary,sentinel-versions"`
Version *string `jsonapi:"attr,version,omitempty"`
URL *string `jsonapi:"attr,url,omitempty"`
SHA *string `jsonapi:"attr,sha,omitempty"`
Official *bool `jsonapi:"attr,official,omitempty"`
Deprecated *bool `jsonapi:"attr,deprecated,omitempty"`
DeprecatedReason *string `jsonapi:"attr,deprecated-reason,omitempty"`
Enabled *bool `jsonapi:"attr,enabled,omitempty"`
Beta *bool `jsonapi:"attr,beta,omitempty"`
Archs []*ToolVersionArchitecture `jsonapi:"attr,archs,omitempty"`
}
// AdminSentinelVersionsList represents a list of Sentinel versions.
type AdminSentinelVersionsList struct {
*Pagination
Items []*AdminSentinelVersion
}
// List all the Sentinel versions.
func (a *adminSentinelVersions) List(ctx context.Context, options *AdminSentinelVersionsListOptions) (*AdminSentinelVersionsList, error) {
req, err := a.client.NewRequest("GET", "admin/sentinel-versions", options)
if err != nil {
return nil, err
}
sl := &AdminSentinelVersionsList{}
err = req.Do(ctx, sl)
if err != nil {
return nil, err
}
return sl, nil
}
// Read a Sentinel version by its ID.
func (a *adminSentinelVersions) Read(ctx context.Context, id string) (*AdminSentinelVersion, error) {
if !validStringID(&id) {
return nil, ErrInvalidSentinelVersionID
}
u := fmt.Sprintf("admin/sentinel-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("GET", u, nil)
if err != nil {
return nil, err
}
sv := &AdminSentinelVersion{}
err = req.Do(ctx, sv)
if err != nil {
return nil, err
}
return sv, nil
}
// Create a new Sentinel version.
func (a *adminSentinelVersions) Create(ctx context.Context, options AdminSentinelVersionCreateOptions) (*AdminSentinelVersion, error) {
if err := options.valid(); err != nil {
return nil, err
}
req, err := a.client.NewRequest("POST", "admin/sentinel-versions", &options)
if err != nil {
return nil, err
}
sv := &AdminSentinelVersion{}
err = req.Do(ctx, sv)
if err != nil {
return nil, err
}
return sv, nil
}
// Update an existing Sentinel version.
func (a *adminSentinelVersions) Update(ctx context.Context, id string, options AdminSentinelVersionUpdateOptions) (*AdminSentinelVersion, error) {
if !validStringID(&id) {
return nil, ErrInvalidSentinelVersionID
}
u := fmt.Sprintf("admin/sentinel-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("PATCH", u, &options)
if err != nil {
return nil, err
}
sv := &AdminSentinelVersion{}
err = req.Do(ctx, sv)
if err != nil {
return nil, err
}
return sv, nil
}
// Delete a Sentinel version.
func (a *adminSentinelVersions) Delete(ctx context.Context, id string) error {
if !validStringID(&id) {
return ErrInvalidSentinelVersionID
}
u := fmt.Sprintf("admin/sentinel-versions/%s", url.PathEscape(id))
req, err := a.client.NewRequest("DELETE", u, nil)
if err != nil {
return err
}
return req.Do(ctx, nil)
}
func (o AdminSentinelVersionCreateOptions) valid() error {
if (reflect.DeepEqual(o, AdminSentinelVersionCreateOptions{})) {
return ErrRequiredSentinelVerCreateOps
}
if o.Version == "" {
return ErrRequiredVersion
}
if !o.validArch() {
return ErrRequiredArchsOrURLAndSha
}
return nil
}
func (o AdminSentinelVersionCreateOptions) validArch() bool {
if o.Archs == nil && o.URL != "" && o.SHA != "" {
return true
}
for _, a := range o.Archs {
if !validArch(a) {
return false
}
}
return true
}
================================================
FILE: admin_sentinel_version_integration_test.go
================================================
// Copyright IBM Corp. 2018, 2025
// SPDX-License-Identifier: MPL-2.0
package tfe
import (
"context"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestAdminSentinelVersions_List(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("without list options", func(t *testing.T) {
sList, err := client.Admin.SentinelVersions.List(ctx, nil)
require.NoError(t, err)
assert.NotEmpty(t, sList.Items)
})
t.Run("with list options", func(t *testing.T) {
sList, err := client.Admin.SentinelVersions.List(ctx, &AdminSentinelVersionsListOptions{
ListOptions: ListOptions{
PageNumber: 999,
PageSize: 100,
},
})
require.NoError(t, err)
// Out of range page number, so the items should be empty
assert.Empty(t, sList.Items)
assert.Equal(t, 999, sList.CurrentPage)
sList, err = client.Admin.SentinelVersions.List(ctx, &AdminSentinelVersionsListOptions{
ListOptions: ListOptions{
PageNumber: 1,
PageSize: 100,
},
})
require.NoError(t, err)
assert.Equal(t, 1, sList.CurrentPage)
for _, item := range sList.Items {
assert.NotNil(t, item.ID)
assert.NotEmpty(t, item.Version)
assert.NotEmpty(t, item.URL)
assert.NotEmpty(t, item.SHA)
assert.NotNil(t, item.Official)
assert.NotNil(t, item.Deprecated)
if item.Deprecated {
assert.NotNil(t, item.DeprecatedReason)
} else {
assert.Nil(t, item.DeprecatedReason)
}
assert.NotNil(t, item.Enabled)
assert.NotNil(t, item.Beta)
assert.NotNil(t, item.Usage)
assert.NotNil(t, item.CreatedAt)
assert.NotNil(t, item.Archs)
}
})
t.Run("with filter query string", func(t *testing.T) {
sList, err := client.Admin.SentinelVersions.List(ctx, &AdminSentinelVersionsListOptions{
Filter: "0.22.1",
})
require.NoError(t, err)
assert.Equal(t, 1, len(sList.Items))
// Query for a Sentinel version that does not exist
sList, err = client.Admin.SentinelVersions.List(ctx, &AdminSentinelVersionsListOptions{
Filter: "1000.1000.42",
})
require.NoError(t, err)
assert.Empty(t, sList.Items)
})
t.Run("with search version query string", func(t *testing.T) {
searchVersion := "0.22.1"
sList, err := client.Admin.SentinelVersions.List(ctx, &AdminSentinelVersionsListOptions{
Search: searchVersion,
})
require.NoError(t, err)
assert.NotEmpty(t, sList.Items)
t.Run("ensure each version matches substring", func(t *testing.T) {
for _, item := range sList.Items {
assert.Equal(t, true, strings.Contains(item.Version, searchVersion))
}
})
})
}
func TestAdminSentinelVersions_CreateDelete(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
version := createAdminSentinelVersion()
url := "https://www.hashicorp.com"
amd64Sha := String(genSha(t))
t.Run("with valid options including top level url & sha and archs", func(t *testing.T) {
opts := AdminSentinelVersionCreateOptions{
Version: version,
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
URL: url,
SHA: *amd64Sha,
Archs: []*ToolVersionArchitecture{
{
URL: url,
Sha: *amd64Sha,
OS: linux,
Arch: amd64,
},
{
URL: url,
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, sv.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, *opts.Official, sv.Official)
assert.Equal(t, *opts.Deprecated, sv.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *sv.DeprecatedReason)
assert.Equal(t, *opts.Enabled, sv.Enabled)
assert.Equal(t, *opts.Beta, sv.Beta)
assert.Equal(t, opts.URL, sv.URL)
assert.Equal(t, opts.SHA, sv.SHA)
assert.Equal(t, len(opts.Archs), len(sv.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, sv.Archs[i].URL)
assert.Equal(t, arch.Sha, sv.Archs[i].Sha)
assert.Equal(t, arch.OS, sv.Archs[i].OS)
assert.Equal(t, arch.Arch, sv.Archs[i].Arch)
}
})
t.Run("with valid options including archs", func(t *testing.T) {
opts := AdminSentinelVersionCreateOptions{
Version: version,
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
Archs: []*ToolVersionArchitecture{
{
URL: url,
Sha: *amd64Sha,
OS: linux,
Arch: amd64,
},
{
URL: url,
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, sv.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, *opts.Official, sv.Official)
assert.Equal(t, *opts.Deprecated, sv.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *sv.DeprecatedReason)
assert.Equal(t, *opts.Enabled, sv.Enabled)
assert.Equal(t, *opts.Beta, sv.Beta)
assert.Equal(t, len(opts.Archs), len(sv.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, sv.Archs[i].URL)
assert.Equal(t, arch.Sha, sv.Archs[i].Sha)
assert.Equal(t, arch.OS, sv.Archs[i].OS)
assert.Equal(t, arch.Arch, sv.Archs[i].Arch)
}
})
t.Run("with valid options including url, and sha", func(t *testing.T) {
opts := AdminSentinelVersionCreateOptions{
Version: version,
URL: url,
SHA: *amd64Sha,
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Official: Bool(false),
Enabled: Bool(false),
Beta: Bool(false),
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, sv.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, opts.URL, sv.URL)
assert.Equal(t, opts.SHA, sv.SHA)
assert.Equal(t, *opts.Official, sv.Official)
assert.Equal(t, *opts.Deprecated, sv.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *sv.DeprecatedReason)
assert.Equal(t, *opts.Enabled, sv.Enabled)
assert.Equal(t, *opts.Beta, sv.Beta)
assert.Equal(t, 1, len(sv.Archs))
assert.Equal(t, opts.URL, sv.Archs[0].URL)
assert.Equal(t, opts.SHA, sv.Archs[0].Sha)
assert.Equal(t, linux, sv.Archs[0].OS)
assert.Equal(t, amd64, sv.Archs[0].Arch)
})
t.Run("with only required options including tool version url and sha", func(t *testing.T) {
version = createAdminSentinelVersion()
opts := AdminSentinelVersionCreateOptions{
Version: version,
URL: url,
SHA: *amd64Sha,
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, sv.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, opts.URL, sv.URL)
assert.Equal(t, opts.SHA, sv.SHA)
assert.Equal(t, false, sv.Official)
assert.Equal(t, false, sv.Deprecated)
assert.Nil(t, sv.DeprecatedReason)
assert.Equal(t, true, sv.Enabled)
assert.Equal(t, false, sv.Beta)
assert.Equal(t, 1, len(sv.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, sv.Archs[i].URL)
assert.Equal(t, arch.Sha, sv.Archs[i].Sha)
assert.Equal(t, arch.OS, sv.Archs[i].OS)
assert.Equal(t, arch.Arch, sv.Archs[i].Arch)
}
})
t.Run("with only required options including archs", func(t *testing.T) {
version = createAdminSentinelVersion()
opts := AdminSentinelVersionCreateOptions{
Version: version,
Archs: []*ToolVersionArchitecture{
{
URL: url,
Sha: *amd64Sha,
OS: linux,
Arch: amd64,
},
{
URL: "https://www.hashicorp.com",
Sha: *String(genSha(t)),
OS: linux,
Arch: arm64,
}},
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, sv.ID)
require.NoError(t, deleteErr)
}()
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, false, sv.Official)
assert.Equal(t, false, sv.Deprecated)
assert.Nil(t, sv.DeprecatedReason)
assert.Equal(t, true, sv.Enabled)
assert.Equal(t, false, sv.Beta)
assert.Equal(t, len(opts.Archs), len(sv.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, sv.Archs[i].URL)
assert.Equal(t, arch.Sha, sv.Archs[i].Sha)
assert.Equal(t, arch.OS, sv.Archs[i].OS)
assert.Equal(t, arch.Arch, sv.Archs[i].Arch)
}
})
t.Run("with empty options", func(t *testing.T) {
_, err := client.Admin.SentinelVersions.Create(ctx, AdminSentinelVersionCreateOptions{})
require.Equal(t, err, ErrRequiredSentinelVerCreateOps)
})
}
func TestAdminSentinelVersions_ReadUpdate(t *testing.T) {
t.Parallel()
skipUnlessEnterprise(t)
client := testClient(t)
ctx := context.Background()
t.Run("reads and updates", func(t *testing.T) {
version := createAdminSentinelVersion()
sha := String(genSha(t))
opts := AdminSentinelVersionCreateOptions{
Version: version,
URL: "https://www.hashicorp.com",
SHA: genSha(t),
Official: Bool(false),
Deprecated: Bool(true),
DeprecatedReason: String("Test Reason"),
Enabled: Bool(false),
Beta: Bool(false),
Archs: []*ToolVersionArchitecture{{
URL: "https://www.hashicorp.com",
Sha: *sha,
OS: linux,
Arch: amd64,
}},
}
sv, err := client.Admin.SentinelVersions.Create(ctx, opts)
require.NoError(t, err)
id := sv.ID
defer func() {
deleteErr := client.Admin.SentinelVersions.Delete(ctx, id)
require.NoError(t, deleteErr)
}()
sv, err = client.Admin.SentinelVersions.Read(ctx, id)
require.NoError(t, err)
assert.Equal(t, opts.Version, sv.Version)
assert.Equal(t, opts.Archs[0].URL, sv.URL)
assert.Equal(t, opts.Archs[0].Sha, sv.SHA)
assert.Equal(t, *opts.Official, sv.Official)
assert.Equal(t, *opts.Deprecated, sv.Deprecated)
assert.Equal(t, *opts.DeprecatedReason, *sv.DeprecatedReason)
assert.Equal(t, *opts.Enabled, sv.Enabled)
assert.Equal(t, *opts.Beta, sv.Beta)
assert.Equal(t, len(opts.Archs), len(sv.Archs))
for i, arch := range opts.Archs {
assert.Equal(t, arch.URL, sv.Archs[i].URL)
assert.Equal(t, arch.Sha, sv.Archs[i].Sha)
assert.Equal(t, arch.OS, sv.Archs[i].OS)
assert.Equal(t, arch.Arch, sv.Archs[i].Arch)
}
updateVersion := createAdminSentinelVersion()
updateURL := "https://app.terraform.io/"
updateOpts := AdminSentinelVersionUpdateOptions{
Version: String(updateVersion),
URL: String(updateURL),
Deprecated: Bool(false),
}
sv, err = client.Admin.SentinelVersions.Update(ctx, id, updateOpts)
require.NoError(t, err)
assert.Equal(t, updateVersion, sv.Version)
assert.Equal(t, updateURL, sv.URL)
assert.Equal(t, opts.SHA, sv.SHA)
assert.Equal(t, *opts.Official, sv.Official)
assert.Equal(t, *updateOpts.Deprecated, sv.Deprecated)
asser
gitextract_9p7rzvxe/ ├── .copywrite.hcl ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── actions/ │ │ ├── lint-go-tfe/ │ │ │ └── action.yml │ │ └── test-go-tfe/ │ │ └── action.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── changelog.yml │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── create-jira-issue.yml │ ├── jira-pr-transition.yml │ ├── merged-pr.yml │ └── nightly-tfe-ci.yml ├── .gitignore ├── .golangci.yml ├── CHANGELOG.md ├── LICENSE ├── META.d/ │ ├── _summary.yaml │ └── data.yaml ├── Makefile ├── README.md ├── admin_opa_version.go ├── admin_opa_version_integration_test.go ├── admin_organization.go ├── admin_organization_integration_test.go ├── admin_run.go ├── admin_run_integration_test.go ├── admin_run_test.go ├── admin_sentinel_version.go ├── admin_sentinel_version_integration_test.go ├── admin_setting.go ├── admin_setting_cost_estimation.go ├── admin_setting_cost_estimation_integration_test.go ├── admin_setting_customization.go ├── admin_setting_customization_integration_test.go ├── admin_setting_general.go ├── admin_setting_general_integration_test.go ├── admin_setting_oidc.go ├── admin_setting_oidc_integration_test.go ├── admin_setting_saml.go ├── admin_setting_saml_integration_test.go ├── admin_setting_scim.go ├── admin_setting_scim_groups.go ├── admin_setting_scim_groups_integration_test.go ├── admin_setting_scim_integration_test.go ├── admin_setting_scim_token.go ├── admin_setting_scim_token_integration_test.go ├── admin_setting_smtp.go ├── admin_setting_smtp_integration_test.go ├── admin_setting_twilio.go ├── admin_setting_twilio_integration_test.go ├── admin_terraform_version.go ├── admin_terraform_version_integration_test.go ├── admin_user.go ├── admin_user_integration_test.go ├── admin_workspace.go ├── admin_workspace_integration_test.go ├── agent.go ├── agent_integration_test.go ├── agent_pool.go ├── agent_pool_integration_test.go ├── agent_token.go ├── agent_token_integration_test.go ├── apply.go ├── apply_integration_test.go ├── audit_trail.go ├── audit_trail_integration_test.go ├── aws_oidc_configuration.go ├── aws_oidc_configuration_integration_test.go ├── azure_oidc_configuration.go ├── azure_oidc_configuration_integration_test.go ├── comment.go ├── comment_integration_test.go ├── configuration_version.go ├── configuration_version_integration_test.go ├── const.go ├── cost_estimate.go ├── cost_estimate_integration_test.go ├── data_retention_policy.go ├── docs/ │ ├── CONTRIBUTING.md │ ├── RELEASES.md │ └── TESTS.md ├── entitlement_helper_test.go ├── errors.go ├── example_test.go ├── examples/ │ ├── backing_data/ │ │ └── main.go │ ├── configuration_versions/ │ │ └── main.go │ ├── organizations/ │ │ └── main.go │ ├── projects/ │ │ └── main.go │ ├── registry_modules/ │ │ └── main.go │ ├── run_errors/ │ │ ├── README.md │ │ ├── main.go │ │ └── terraform/ │ │ └── main.tf │ ├── state_versions/ │ │ ├── main.go │ │ └── state.json │ ├── users/ │ │ └── main.go │ └── workspaces/ │ └── main.go ├── gcp_oidc_configuration.go ├── gcp_oidc_configuration_integration_test.go ├── generate_mocks.sh ├── github_app_installation.go ├── github_app_installation_integration_test.go ├── go.mod ├── go.sum ├── gpg_key.go ├── gpg_key_integration_test.go ├── helper_test.go ├── hyok_configuration.go ├── hyok_configuration_integration_test.go ├── hyok_customer_key_version.go ├── hyok_customer_key_version_integration_test.go ├── hyok_encrypted_data_key.go ├── hyok_encrypted_data_key_integration_test.go ├── internal_run_task.go ├── internal_workspace_run_task.go ├── ip_ranges.go ├── ip_ranges_integration_test.go ├── logreader.go ├── logreader_integration_test.go ├── mocks/ │ ├── admin_opa_version_mocks.go │ ├── admin_organization_mocks.go │ ├── admin_run_mocks.go │ ├── admin_sentinel_version_mocks.go │ ├── admin_setting_cost_estimation_mocks.go │ ├── admin_setting_customization_mocks.go │ ├── admin_setting_general_mocks.go │ ├── admin_setting_mocks.go │ ├── admin_setting_oidc_mocks.go │ ├── admin_setting_saml_mocks.go │ ├── admin_setting_scim_groups_mocks.go │ ├── admin_setting_scim_mocks.go │ ├── admin_setting_scim_token_mocks.go │ ├── admin_setting_smtp_mocks.go │ ├── admin_setting_twilio_mocks.go │ ├── admin_terraform_version_mocks.go │ ├── admin_user_mocks.go │ ├── admin_workspace_mocks.go │ ├── agent_pool_mocks.go │ ├── agent_token_mocks.go │ ├── agents.go │ ├── apply_mocks.go │ ├── audit_trail_mocks.go │ ├── comment_mocks.go │ ├── configuration_version_mocks.go │ ├── cost_estimate_mocks.go │ ├── github_app_installation_mocks.go │ ├── gpg_key_mocks.go │ ├── ip_ranges_mocks.go │ ├── logreader_mocks.go │ ├── notification_configuration_mocks.go │ ├── oauth_client_mocks.go │ ├── oauth_token_mocks.go │ ├── organization_membership_mocks.go │ ├── organization_mocks.go │ ├── organization_token_mocks.go │ ├── plan_export_mocks.go │ ├── plan_mocks.go │ ├── policy_check_mocks.go │ ├── policy_evaluation.go │ ├── policy_mocks.go │ ├── policy_set_mocks.go │ ├── policy_set_parameter_mocks.go │ ├── policy_set_version_mocks.go │ ├── project_mocks.go │ ├── query_runs_mocks.go │ ├── registry_module_mocks.go │ ├── registry_no_code_module_mocks.go │ ├── registry_provider_mocks.go │ ├── registry_provider_platform_mocks.go │ ├── registry_provider_version_mocks.go │ ├── run_events_mocks.go │ ├── run_mocks.go │ ├── run_tasks_mocks.go │ ├── run_trigger_mocks.go │ ├── ssh_key_mocks.go │ ├── state_version_mocks.go │ ├── state_version_output_mocks.go │ ├── tag_mocks.go │ ├── task_result_mocks.go │ ├── task_stages_mocks.go │ ├── team_access_mocks.go │ ├── team_member_mocks.go │ ├── team_mocks.go │ ├── team_project_access_mocks.go │ ├── team_token_mocks.go │ ├── test_run_mocks.go │ ├── test_variables_mocks.go │ ├── user_mocks.go │ ├── user_token_mocks.go │ ├── variable_mocks.go │ ├── variable_set_mocks.go │ ├── variable_set_variable_mocks.go │ ├── workspace_mocks.go │ ├── workspace_resources.go │ └── workspace_run_tasks_mocks.go ├── notification_configuration.go ├── notification_configuration_integration_test.go ├── oauth_client.go ├── oauth_client_integration_test.go ├── oauth_token.go ├── oauth_token_integration_test.go ├── organization.go ├── organization_audit_configuration.go ├── organization_audit_configuration_integration_test.go ├── organization_integration_test.go ├── organization_membership.go ├── organization_membership_integration_test.go ├── organization_tags.go ├── organization_tags_integration_test.go ├── organization_token.go ├── organization_token_integration_test.go ├── plan.go ├── plan_export.go ├── plan_export_integration_test.go ├── plan_integration_test.go ├── policy.go ├── policy_check.go ├── policy_check_integration_test.go ├── policy_evaluation.go ├── policy_evaluation_beta_test.go ├── policy_integration_test.go ├── policy_set.go ├── policy_set_integration_test.go ├── policy_set_parameter.go ├── policy_set_parameter_integration_test.go ├── policy_set_version.go ├── policy_set_version_integration_test.go ├── project.go ├── projects_integration_test.go ├── query_runs.go ├── query_runs_integration_test.go ├── registry_module.go ├── registry_module_integration_test.go ├── registry_module_test.go ├── registry_no_code_module.go ├── registry_no_code_module_integration_test.go ├── registry_provider.go ├── registry_provider_integration_test.go ├── registry_provider_platform.go ├── registry_provider_platform_integration_test.go ├── registry_provider_version.go ├── registry_provider_version_integration_test.go ├── request.go ├── request_hooks.go ├── request_hooks_test.go ├── request_test.go ├── reserved_tag_key.go ├── reserved_tag_key_integration_test.go ├── run.go ├── run_event.go ├── run_event_integration_test.go ├── run_integration_test.go ├── run_task.go ├── run_task_integration_test.go ├── run_task_request.go ├── run_tasks_integration.go ├── run_tasks_integration_test.go ├── run_trigger.go ├── run_trigger_integration_test.go ├── scripts/ │ ├── generate_resource/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── main.go │ │ └── templates.go │ ├── gofmtcheck.sh │ ├── hyok-testing.sh │ ├── rebase-fork.sh │ └── setup-test-envvars.sh ├── ssh_key.go ├── ssh_key_integration_test.go ├── stack.go ├── stack_configuration.go ├── stack_configuration_integration_test.go ├── stack_configuration_summary.go ├── stack_configuration_summary_integration_test.go ├── stack_deployment.go ├── stack_deployment_groups.go ├── stack_deployment_groups_integration_test.go ├── stack_deployment_groups_summary.go ├── stack_deployment_groups_summary_integration_test.go ├── stack_deployment_integration_test.go ├── stack_deployment_runs.go ├── stack_deployment_runs_integration_test.go ├── stack_deployment_steps.go ├── stack_deployment_steps_integration_test.go ├── stack_diagnostic.go ├── stack_diagnostic_integration_test.go ├── stack_integration_test.go ├── stack_state.go ├── stack_state_integration_test.go ├── state_version.go ├── state_version_integration_test.go ├── state_version_output.go ├── state_version_output_integration_test.go ├── subscription_updater_test.go ├── tag.go ├── task_result.go ├── task_stages.go ├── task_stages_integration_beta_test.go ├── task_stages_integration_test.go ├── team.go ├── team_access.go ├── team_access_integration_test.go ├── team_integration_test.go ├── team_member.go ├── team_member_integration_test.go ├── team_project_access.go ├── team_project_access_integration_test.go ├── team_token.go ├── team_token_integration_test.go ├── test-fixtures/ │ ├── archive-dir/ │ │ ├── bar.txt │ │ ├── exe │ │ ├── foo.txt │ │ └── sub/ │ │ └── zip.txt │ ├── config-version/ │ │ └── main.tf │ ├── config-version-with-test/ │ │ ├── main.tf │ │ └── main.tftest.hcl │ ├── json-state/ │ │ └── state.json │ ├── json-state-outputs/ │ │ └── everything.json │ ├── policy-set-version/ │ │ ├── enforce-mandatory-tags.sentinel │ │ └── sentinel.hcl │ ├── stack-source/ │ │ ├── .terraform-version │ │ ├── components.tfstack.hcl │ │ ├── deployments.tfdeploy.hcl │ │ ├── nulls/ │ │ │ └── main.tf │ │ └── pet/ │ │ └── main.tf │ └── state-version/ │ └── terraform.tfstate ├── test_config.go ├── test_run.go ├── test_run_integration_test.go ├── test_variables.go ├── test_variables_integration_test.go ├── tfe.go ├── tfe_integration_test.go ├── tfe_test.go ├── type_helpers.go ├── user.go ├── user_integration_test.go ├── user_token.go ├── user_token_integration_test.go ├── validations.go ├── validations_test.go ├── variable.go ├── variable_integration_test.go ├── variable_set.go ├── variable_set_test.go ├── variable_set_variable.go ├── variable_set_variable_test.go ├── vault_oidc_configuration.go ├── vault_oidc_configuration_integration_test.go ├── workspace.go ├── workspace_integration_test.go ├── workspace_resources.go ├── workspace_resources_integration_test.go ├── workspace_run_task.go └── workspace_run_task_integration_test.go
Showing preview only (383K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3860 symbols across 298 files)
FILE: admin_opa_version.go
type AdminOPAVersions (line 22) | type AdminOPAVersions interface
type adminOPAVersions (line 40) | type adminOPAVersions struct
method List (line 107) | func (a *adminOPAVersions) List(ctx context.Context, options *AdminOPA...
method Read (line 123) | func (a *adminOPAVersions) Read(ctx context.Context, id string) (*Admi...
method Create (line 144) | func (a *adminOPAVersions) Create(ctx context.Context, options AdminOP...
method Update (line 163) | func (a *adminOPAVersions) Update(ctx context.Context, id string, opti...
method Delete (line 184) | func (a *adminOPAVersions) Delete(ctx context.Context, id string) error {
type AdminOPAVersion (line 45) | type AdminOPAVersion struct
type AdminOPAVersionsListOptions (line 62) | type AdminOPAVersionsListOptions struct
type AdminOPAVersionCreateOptions (line 73) | type AdminOPAVersionCreateOptions struct
method valid (line 198) | func (o AdminOPAVersionCreateOptions) valid() error {
method validArch (line 211) | func (o AdminOPAVersionCreateOptions) validArch() bool {
type AdminOPAVersionUpdateOptions (line 87) | type AdminOPAVersionUpdateOptions struct
type AdminOPAVersionsList (line 101) | type AdminOPAVersionsList struct
FILE: admin_opa_version_integration_test.go
function TestAdminOPAVersions_List (line 15) | func TestAdminOPAVersions_List(t *testing.T) {
function TestAdminOPAVersions_CreateDelete (line 100) | func TestAdminOPAVersions_CreateDelete(t *testing.T) {
function TestAdminOPAVersions_ReadUpdate (line 317) | func TestAdminOPAVersions_ReadUpdate(t *testing.T) {
FILE: admin_organization.go
type AdminOrganizations (line 19) | type AdminOrganizations interface
type adminOrganizations (line 40) | type adminOrganizations struct
method List (line 114) | func (s *adminOrganizations) List(ctx context.Context, options *AdminO...
method ListModuleConsumers (line 134) | func (s *adminOrganizations) ListModuleConsumers(ctx context.Context, ...
method Read (line 156) | func (s *adminOrganizations) Read(ctx context.Context, organization st...
method Update (line 177) | func (s *adminOrganizations) Update(ctx context.Context, organization ...
method UpdateModuleConsumers (line 198) | func (s *adminOrganizations) UpdateModuleConsumers(ctx context.Context...
method Delete (line 227) | func (s *adminOrganizations) Delete(ctx context.Context, organization ...
type AdminOrganization (line 45) | type AdminOrganization struct
type AdminOrganizationUpdateOptions (line 67) | type AdminOrganizationUpdateOptions struct
type AdminOrganizationList (line 81) | type AdminOrganizationList struct
type AdminOrgIncludeOpt (line 88) | type AdminOrgIncludeOpt
constant AdminOrgOwners (line 90) | AdminOrgOwners AdminOrgIncludeOpt = "owners"
type AdminOrganizationListOptions (line 93) | type AdminOrganizationListOptions struct
method valid (line 241) | func (o *AdminOrganizationListOptions) valid() error {
type AdminOrganizationListModuleConsumersOptions (line 105) | type AdminOrganizationListModuleConsumersOptions struct
type AdminOrganizationID (line 109) | type AdminOrganizationID struct
FILE: admin_organization_integration_test.go
function TestAdminOrganizations_List (line 15) | func TestAdminOrganizations_List(t *testing.T) {
function TestAdminOrganizations_Read (line 73) | func TestAdminOrganizations_Read(t *testing.T) {
function TestAdminOrganizations_Delete (line 115) | func TestAdminOrganizations_Delete(t *testing.T) {
function TestAdminOrganizations_ModuleConsumers (line 153) | func TestAdminOrganizations_ModuleConsumers(t *testing.T) {
function TestAdminOrganizations_Update (line 198) | func TestAdminOrganizations_Update(t *testing.T) {
function adminOrgItemsContainsName (line 304) | func adminOrgItemsContainsName(items []*AdminOrganization, name string) ...
FILE: admin_run.go
type AdminRuns (line 22) | type AdminRuns interface
type AdminRun (line 31) | type AdminRun struct
type AdminRunsList (line 44) | type AdminRunsList struct
type AdminRunIncludeOpt (line 51) | type AdminRunIncludeOpt
constant AdminRunWorkspace (line 54) | AdminRunWorkspace AdminRunIncludeOpt = "workspace"
constant AdminRunWorkspaceOrg (line 55) | AdminRunWorkspaceOrg AdminRunIncludeOpt = "workspace.organization"
constant AdminRunWorkspaceOrgOwners (line 56) | AdminRunWorkspaceOrgOwners AdminRunIncludeOpt = "workspace.organization....
type AdminRunsListOptions (line 61) | type AdminRunsListOptions struct
method valid (line 123) | func (o *AdminRunsListOptions) valid() error {
type adminRuns (line 74) | type adminRuns struct
method List (line 80) | func (s *adminRuns) List(ctx context.Context, options *AdminRunsListOp...
method ForceCancel (line 109) | func (s *adminRuns) ForceCancel(ctx context.Context, runID string, opt...
type AdminRunForceCancelOptions (line 101) | type AdminRunForceCancelOptions struct
function validateAdminRunDateRanges (line 139) | func validateAdminRunDateRanges(before, after string) error {
function validateAdminRunFilterParams (line 157) | func validateAdminRunFilterParams(runStatus string) error {
FILE: admin_run_integration_test.go
function TestAdminRuns_List_RunDependent (line 19) | func TestAdminRuns_List_RunDependent(t *testing.T) {
function TestAdminRuns_ForceCancel_RunDependent (line 149) | func TestAdminRuns_ForceCancel_RunDependent(t *testing.T) {
function TestAdminRuns_ListFilterByDates_RunDependent (line 232) | func TestAdminRuns_ListFilterByDates_RunDependent(t *testing.T) {
function TestAdminRuns_AdminRunsListOptions_valid (line 294) | func TestAdminRuns_AdminRunsListOptions_valid(t *testing.T) {
function TestAdminRun_ForceCancel_Marshal (line 336) | func TestAdminRun_ForceCancel_Marshal(t *testing.T) {
function TestAdminRun_Unmarshal (line 353) | func TestAdminRun_Unmarshal(t *testing.T) {
function adminRunItemsContainsID (line 387) | func adminRunItemsContainsID(items []*AdminRun, id string) bool {
FILE: admin_run_test.go
function Test_validateAdminRunFilterParams (line 13) | func Test_validateAdminRunFilterParams(t *testing.T) {
FILE: admin_sentinel_version.go
type AdminSentinelVersions (line 22) | type AdminSentinelVersions interface
type adminSentinelVersions (line 40) | type adminSentinelVersions struct
method List (line 107) | func (a *adminSentinelVersions) List(ctx context.Context, options *Adm...
method Read (line 123) | func (a *adminSentinelVersions) Read(ctx context.Context, id string) (...
method Create (line 144) | func (a *adminSentinelVersions) Create(ctx context.Context, options Ad...
method Update (line 163) | func (a *adminSentinelVersions) Update(ctx context.Context, id string,...
method Delete (line 184) | func (a *adminSentinelVersions) Delete(ctx context.Context, id string)...
type AdminSentinelVersion (line 45) | type AdminSentinelVersion struct
type AdminSentinelVersionsListOptions (line 62) | type AdminSentinelVersionsListOptions struct
type AdminSentinelVersionCreateOptions (line 73) | type AdminSentinelVersionCreateOptions struct
method valid (line 198) | func (o AdminSentinelVersionCreateOptions) valid() error {
method validArch (line 211) | func (o AdminSentinelVersionCreateOptions) validArch() bool {
type AdminSentinelVersionUpdateOptions (line 87) | type AdminSentinelVersionUpdateOptions struct
type AdminSentinelVersionsList (line 101) | type AdminSentinelVersionsList struct
FILE: admin_sentinel_version_integration_test.go
function TestAdminSentinelVersions_List (line 15) | func TestAdminSentinelVersions_List(t *testing.T) {
function TestAdminSentinelVersions_CreateDelete (line 100) | func TestAdminSentinelVersions_CreateDelete(t *testing.T) {
function TestAdminSentinelVersions_ReadUpdate (line 317) | func TestAdminSentinelVersions_ReadUpdate(t *testing.T) {
FILE: admin_setting.go
type SCIMResource (line 9) | type SCIMResource struct
type AdminSettings (line 19) | type AdminSettings struct
function newAdminSettings (line 30) | func newAdminSettings(client *Client) *AdminSettings {
FILE: admin_setting_cost_estimation.go
type CostEstimationSettings (line 15) | type CostEstimationSettings interface
type adminCostEstimationSettings (line 23) | type adminCostEstimationSettings struct
method Read (line 59) | func (a *adminCostEstimationSettings) Read(ctx context.Context) (*Admi...
method Update (line 75) | func (a *adminCostEstimationSettings) Update(ctx context.Context, opti...
type AdminCostEstimationSetting (line 28) | type AdminCostEstimationSetting struct
type AdminCostEstimationSettingOptions (line 47) | type AdminCostEstimationSettingOptions struct
FILE: admin_setting_cost_estimation_integration_test.go
function TestAdminSettings_CostEstimation_Read (line 14) | func TestAdminSettings_CostEstimation_Read(t *testing.T) {
function TestAdminSettings_CostEstimation_Update (line 27) | func TestAdminSettings_CostEstimation_Update(t *testing.T) {
FILE: admin_setting_customization.go
type CustomizationSettings (line 14) | type CustomizationSettings interface
type adminCustomizationSettings (line 22) | type adminCustomizationSettings struct
method Read (line 38) | func (a *adminCustomizationSettings) Read(ctx context.Context) (*Admin...
method Update (line 65) | func (a *adminCustomizationSettings) Update(ctx context.Context, optio...
type AdminCustomizationSetting (line 28) | type AdminCustomizationSetting struct
type AdminCustomizationSettingsUpdateOptions (line 56) | type AdminCustomizationSettingsUpdateOptions struct
FILE: admin_setting_customization_integration_test.go
function TestAdminSettings_Customization_Read (line 14) | func TestAdminSettings_Customization_Read(t *testing.T) {
function TestAdminSettings_Customization_Update (line 32) | func TestAdminSettings_Customization_Update(t *testing.T) {
FILE: admin_setting_general.go
type GeneralSettings (line 15) | type GeneralSettings interface
type adminGeneralSettings (line 23) | type adminGeneralSettings struct
method Read (line 63) | func (a *adminGeneralSettings) Read(ctx context.Context) (*AdminGenera...
method Update (line 79) | func (a *adminGeneralSettings) Update(ctx context.Context, options Adm...
type AdminGeneralSetting (line 28) | type AdminGeneralSetting struct
type AdminGeneralSettingsUpdateOptions (line 51) | type AdminGeneralSettingsUpdateOptions struct
FILE: admin_setting_general_integration_test.go
function TestAdminSettings_General_Read (line 14) | func TestAdminSettings_General_Read(t *testing.T) {
function TestAdminSettings_General_Update (line 43) | func TestAdminSettings_General_Update(t *testing.T) {
FILE: admin_setting_oidc.go
type OIDCSettings (line 15) | type OIDCSettings interface
type adminOIDCSettings (line 23) | type adminOIDCSettings struct
method RotateKey (line 28) | func (a *adminOIDCSettings) RotateKey(ctx context.Context) error {
method TrimKey (line 38) | func (a *adminOIDCSettings) TrimKey(ctx context.Context) error {
FILE: admin_setting_oidc_integration_test.go
type wellKnownJwks (line 19) | type wellKnownJwks struct
function TestAdminSettings_Oidc_RotateKey (line 25) | func TestAdminSettings_Oidc_RotateKey(t *testing.T) {
function TestAdminSettings_Oidc_TrimKey (line 56) | func TestAdminSettings_Oidc_TrimKey(t *testing.T) {
function getJwks (line 105) | func getJwks(client http.Client, baseURL *url.URL, token string) (*wellK...
FILE: admin_setting_saml.go
type SAMLSettings (line 15) | type SAMLSettings interface
type adminSAMLSettings (line 27) | type adminSAMLSettings struct
method Read (line 69) | func (a *adminSAMLSettings) Read(ctx context.Context) (*AdminSAMLSetti...
method Update (line 109) | func (a *adminSAMLSettings) Update(ctx context.Context, options AdminS...
method RevokeIdpCert (line 134) | func (a *adminSAMLSettings) RevokeIdpCert(ctx context.Context) (*Admin...
type SAMLProviderType (line 32) | type SAMLProviderType
constant SAMLProviderTypeOkta (line 36) | SAMLProviderTypeOkta SAMLProviderType = "okta"
constant SAMLProviderTypeEntra (line 37) | SAMLProviderTypeEntra SAMLProviderType = "entra"
constant SAMLProviderTypeGeneric (line 38) | SAMLProviderTypeGeneric SAMLProviderType = "saml"
constant SAMLProviderTypeUnknown (line 39) | SAMLProviderTypeUnknown SAMLProviderType = "unknown"
type AdminSAMLSetting (line 43) | type AdminSAMLSetting struct
type AdminSAMLSettingsUpdateOptions (line 87) | type AdminSAMLSettingsUpdateOptions struct
FILE: admin_setting_saml_integration_test.go
function TestAdminSettings_SAML_Read (line 14) | func TestAdminSettings_SAML_Read(t *testing.T) {
function TestAdminSettings_SAML_Update (line 46) | func TestAdminSettings_SAML_Update(t *testing.T) {
FILE: admin_setting_scim.go
type SCIMSettings (line 17) | type SCIMSettings interface
type adminSCIMSettings (line 29) | type adminSCIMSettings struct
method Read (line 50) | func (a *adminSCIMSettings) Read(ctx context.Context) (*AdminSCIMSetti...
method Update (line 66) | func (a *adminSCIMSettings) Update(ctx context.Context, options AdminS...
method Delete (line 81) | func (a *adminSCIMSettings) Delete(ctx context.Context) error {
type AdminSCIMSetting (line 34) | type AdminSCIMSetting struct
type AdminSCIMSettingUpdateOptions (line 43) | type AdminSCIMSettingUpdateOptions struct
FILE: admin_setting_scim_groups.go
type AdminSCIMGroups (line 16) | type AdminSCIMGroups interface
type adminSCIMGroups (line 22) | type adminSCIMGroups struct
method List (line 56) | func (a *adminSCIMGroups) List(ctx context.Context, options *AdminSCIM...
type AdminSCIMGroupList (line 27) | type AdminSCIMGroupList struct
type AdminSCIMGroup (line 33) | type AdminSCIMGroup struct
type AdminSCIMGroupListOptions (line 39) | type AdminSCIMGroupListOptions struct
method valid (line 44) | func (o *AdminSCIMGroupListOptions) valid() error {
FILE: admin_setting_scim_groups_integration_test.go
function TestAdminSCIMGroups_List (line 15) | func TestAdminSCIMGroups_List(t *testing.T) {
FILE: admin_setting_scim_integration_test.go
function TestAdminSettings_SCIM_Read (line 14) | func TestAdminSettings_SCIM_Read(t *testing.T) {
function TestAdminSettings_SCIM_Update (line 31) | func TestAdminSettings_SCIM_Update(t *testing.T) {
function TestAdminSettings_SCIM_Delete (line 120) | func TestAdminSettings_SCIM_Delete(t *testing.T) {
function cleanupSCIMSettings (line 162) | func cleanupSCIMSettings(ctx context.Context, t *testing.T, client *Clie...
FILE: admin_setting_scim_token.go
type AdminSCIMTokens (line 19) | type AdminSCIMTokens interface
type adminSCIMTokens (line 37) | type adminSCIMTokens struct
method List (line 68) | func (a *adminSCIMTokens) List(ctx context.Context) (*AdminSCIMTokenLi...
method Create (line 83) | func (a *adminSCIMTokens) Create(ctx context.Context, description stri...
method CreateWithOptions (line 90) | func (a *adminSCIMTokens) CreateWithOptions(ctx context.Context, optio...
method Read (line 107) | func (a *adminSCIMTokens) Read(ctx context.Context, scimTokenID string...
method Delete (line 125) | func (a *adminSCIMTokens) Delete(ctx context.Context, scimTokenID stri...
type AdminSCIMTokenList (line 42) | type AdminSCIMTokenList struct
type AdminSCIMToken (line 47) | type AdminSCIMToken struct
type AdminSCIMTokenCreateOptions (line 57) | type AdminSCIMTokenCreateOptions struct
FILE: admin_setting_scim_token_integration_test.go
function TestAdminSCIMTokens_Create (line 16) | func TestAdminSCIMTokens_Create(t *testing.T) {
function TestAdminSCIMTokens_CreateWithOptions (line 65) | func TestAdminSCIMTokens_CreateWithOptions(t *testing.T) {
function TestAdminSCIMTokens_List (line 184) | func TestAdminSCIMTokens_List(t *testing.T) {
function TestAdminSCIMTokens_Read (line 230) | func TestAdminSCIMTokens_Read(t *testing.T) {
function TestAdminSCIMTokens_Delete (line 290) | func TestAdminSCIMTokens_Delete(t *testing.T) {
FILE: admin_setting_smtp.go
type SMTPSettings (line 14) | type SMTPSettings interface
type adminSMTPSettings (line 22) | type adminSMTPSettings struct
method Read (line 48) | func (a *adminSMTPSettings) Read(ctx context.Context) (*AdminSMTPSetti...
method Update (line 78) | func (a *adminSMTPSettings) Update(ctx context.Context, options AdminS...
type SMTPAuthType (line 27) | type SMTPAuthType
constant SMTPAuthNone (line 31) | SMTPAuthNone SMTPAuthType = "none"
constant SMTPAuthPlain (line 32) | SMTPAuthPlain SMTPAuthType = "plain"
constant SMTPAuthLogin (line 33) | SMTPAuthLogin SMTPAuthType = "login"
type AdminSMTPSetting (line 37) | type AdminSMTPSetting struct
type AdminSMTPSettingsUpdateOptions (line 66) | type AdminSMTPSettingsUpdateOptions struct
method valid (line 97) | func (o AdminSMTPSettingsUpdateOptions) valid() error {
function validateAdminSettingSMTPAuth (line 107) | func validateAdminSettingSMTPAuth(authVal SMTPAuthType) error {
FILE: admin_setting_smtp_integration_test.go
function TestAdminSettings_SMTP_Read (line 14) | func TestAdminSettings_SMTP_Read(t *testing.T) {
function TestAdminSettings_SMTP_Update (line 33) | func TestAdminSettings_SMTP_Update(t *testing.T) {
FILE: admin_setting_twilio.go
type TwilioSettings (line 15) | type TwilioSettings interface
type adminTwilioSettings (line 26) | type adminTwilioSettings struct
method Read (line 39) | func (a *adminTwilioSettings) Read(ctx context.Context) (*AdminTwilioS...
method Update (line 71) | func (a *adminTwilioSettings) Update(ctx context.Context, options Admi...
method Verify (line 87) | func (a *adminTwilioSettings) Verify(ctx context.Context, options Admi...
type AdminTwilioSetting (line 31) | type AdminTwilioSetting struct
type AdminTwilioSettingsUpdateOptions (line 57) | type AdminTwilioSettingsUpdateOptions struct
type AdminTwilioSettingsVerifyOptions (line 66) | type AdminTwilioSettingsVerifyOptions struct
method valid (line 99) | func (o AdminTwilioSettingsVerifyOptions) valid() error {
FILE: admin_setting_twilio_integration_test.go
function TestAdminSettings_Twilio_Read (line 14) | func TestAdminSettings_Twilio_Read(t *testing.T) {
function TestAdminSettings_Twilio_Update (line 30) | func TestAdminSettings_Twilio_Update(t *testing.T) {
function TestAdminSettings_Twilio_Verify (line 45) | func TestAdminSettings_Twilio_Verify(t *testing.T) {
FILE: admin_terraform_version.go
constant linux (line 18) | linux = "linux"
constant amd64 (line 19) | amd64 = "amd64"
constant arm64 (line 20) | arm64 = "arm64"
type AdminTerraformVersions (line 28) | type AdminTerraformVersions interface
type adminTerraformVersions (line 46) | type adminTerraformVersions struct
method List (line 122) | func (a *adminTerraformVersions) List(ctx context.Context, options *Ad...
method Read (line 138) | func (a *adminTerraformVersions) Read(ctx context.Context, id string) ...
method Create (line 159) | func (a *adminTerraformVersions) Create(ctx context.Context, options A...
method Update (line 177) | func (a *adminTerraformVersions) Update(ctx context.Context, id string...
method Delete (line 198) | func (a *adminTerraformVersions) Delete(ctx context.Context, id string...
type AdminTerraformVersion (line 51) | type AdminTerraformVersion struct
type ToolVersionArchitecture (line 66) | type ToolVersionArchitecture struct
type AdminTerraformVersionsListOptions (line 75) | type AdminTerraformVersionsListOptions struct
type AdminTerraformVersionCreateOptions (line 87) | type AdminTerraformVersionCreateOptions struct
method valid (line 212) | func (o AdminTerraformVersionCreateOptions) valid() error {
method validArchs (line 225) | func (o AdminTerraformVersionCreateOptions) validArchs() bool {
type AdminTerraformVersionUpdateOptions (line 102) | type AdminTerraformVersionUpdateOptions struct
type AdminTerraformVersionsList (line 116) | type AdminTerraformVersionsList struct
function validArch (line 239) | func validArch(a *ToolVersionArchitecture) bool {
FILE: admin_terraform_version_integration_test.go
function TestAdminTerraformVersions_List (line 15) | func TestAdminTerraformVersions_List(t *testing.T) {
function TestAdminTerraformVersions_CreateDelete (line 100) | func TestAdminTerraformVersions_CreateDelete(t *testing.T) {
function TestAdminTerraformVersions_ReadUpdate (line 307) | func TestAdminTerraformVersions_ReadUpdate(t *testing.T) {
FILE: admin_user.go
type AdminUsers (line 20) | type AdminUsers interface
type adminUsers (line 45) | type adminUsers struct
method List (line 96) | func (a *adminUsers) List(ctx context.Context, options *AdminUserListO...
method Delete (line 117) | func (a *adminUsers) Delete(ctx context.Context, userID string) error {
method Suspend (line 132) | func (a *adminUsers) Suspend(ctx context.Context, userID string) (*Adm...
method Unsuspend (line 153) | func (a *adminUsers) Unsuspend(ctx context.Context, userID string) (*A...
method GrantAdmin (line 174) | func (a *adminUsers) GrantAdmin(ctx context.Context, userID string) (*...
method RevokeAdmin (line 195) | func (a *adminUsers) RevokeAdmin(ctx context.Context, userID string) (...
method Disable2FA (line 217) | func (a *adminUsers) Disable2FA(ctx context.Context, userID string) (*...
type AdminUser (line 50) | type AdminUser struct
type AdminUserList (line 65) | type AdminUserList struct
type AdminUserIncludeOpt (line 72) | type AdminUserIncludeOpt
constant AdminUserOrgs (line 74) | AdminUserOrgs AdminUserIncludeOpt = "organizations"
type AdminUserListOptions (line 78) | type AdminUserListOptions struct
method valid (line 237) | func (o *AdminUserListOptions) valid() error {
FILE: admin_user_integration_test.go
function TestAdminUsers_List (line 14) | func TestAdminUsers_List(t *testing.T) {
function TestAdminUsers_Delete (line 105) | func TestAdminUsers_Delete(t *testing.T) {
function TestAdminUsers_Disable2FA (line 146) | func TestAdminUsers_Disable2FA(t *testing.T) {
function includesEmail (line 167) | func includesEmail(email string, userList []*AdminUser) bool {
FILE: admin_workspace.go
type AdminWorkspaces (line 19) | type AdminWorkspaces interface
type adminWorkspaces (line 31) | type adminWorkspaces struct
method List (line 90) | func (s *adminWorkspaces) List(ctx context.Context, options *AdminWork...
method Read (line 111) | func (s *adminWorkspaces) Read(ctx context.Context, workspaceID string...
method Delete (line 132) | func (s *adminWorkspaces) Delete(ctx context.Context, workspaceID stri...
type AdminVCSRepo (line 36) | type AdminVCSRepo struct
type AdminWorkspace (line 41) | type AdminWorkspace struct
type AdminWorkspaceIncludeOpt (line 54) | type AdminWorkspaceIncludeOpt
constant AdminWorkspaceOrg (line 57) | AdminWorkspaceOrg AdminWorkspaceIncludeOpt = "organization"
constant AdminWorkspaceCurrentRun (line 58) | AdminWorkspaceCurrentRun AdminWorkspaceIncludeOpt = "current_run"
constant AdminWorkspaceOrgOwners (line 59) | AdminWorkspaceOrgOwners AdminWorkspaceIncludeOpt = "organization.owners"
type AdminWorkspaceListOptions (line 63) | type AdminWorkspaceListOptions struct
method valid (line 146) | func (o *AdminWorkspaceListOptions) valid() error {
type AdminWorkspaceList (line 84) | type AdminWorkspaceList struct
FILE: admin_workspace_integration_test.go
function TestAdminWorkspaces_ListWithFilter_RunDependent (line 24) | func TestAdminWorkspaces_ListWithFilter_RunDependent(t *testing.T) {
function TestAdminWorkspaces_ListWithSort_RunDependent (line 57) | func TestAdminWorkspaces_ListWithSort_RunDependent(t *testing.T) {
function TestAdminWorkspaces_List_RunDependent (line 101) | func TestAdminWorkspaces_List_RunDependent(t *testing.T) {
function TestAdminWorkspaces_Read (line 208) | func TestAdminWorkspaces_Read(t *testing.T) {
function TestAdminWorkspaces_Delete (line 246) | func TestAdminWorkspaces_Delete(t *testing.T) {
function adminWorkspaceItemsContainsID (line 287) | func adminWorkspaceItemsContainsID(items []*AdminWorkspace, id string) b...
function TestAdminWorkspace_Unmarshal (line 299) | func TestAdminWorkspace_Unmarshal(t *testing.T) {
FILE: agent.go
type Agents (line 19) | type Agents interface
type agents (line 28) | type agents struct
method Read (line 58) | func (s *agents) Read(ctx context.Context, agentID string) (*Agent, er...
method List (line 79) | func (s *agents) List(ctx context.Context, agentPoolID string, options...
type AgentList (line 33) | type AgentList struct
type Agent (line 39) | type Agent struct
type AgentListOptions (line 47) | type AgentListOptions struct
FILE: agent_integration_test.go
function TestAgentsRead (line 14) | func TestAgentsRead(t *testing.T) {
function TestAgentsList (line 49) | func TestAgentsList(t *testing.T) {
FILE: agent_pool.go
type AgentPools (line 20) | type AgentPools interface
type agentPools (line 50) | type agentPools struct
method List (line 135) | func (s *agentPools) List(ctx context.Context, organization string, op...
method Create (line 159) | func (s *agentPools) Create(ctx context.Context, organization string, ...
method Read (line 184) | func (s *agentPools) Read(ctx context.Context, agentpoolID string) (*A...
method ReadWithOptions (line 189) | func (s *agentPools) ReadWithOptions(ctx context.Context, agentpoolID ...
method Update (line 275) | func (s *agentPools) Update(ctx context.Context, agentPoolID string, o...
method UpdateAllowedWorkspaces (line 299) | func (s *agentPools) UpdateAllowedWorkspaces(ctx context.Context, agen...
method UpdateAllowedProjects (line 303) | func (s *agentPools) UpdateAllowedProjects(ctx context.Context, agentP...
method UpdateExcludedWorkspaces (line 307) | func (s *agentPools) UpdateExcludedWorkspaces(ctx context.Context, age...
method Delete (line 312) | func (s *agentPools) Delete(ctx context.Context, agentPoolID string) e...
method updateArrayAttribute (line 330) | func (s *agentPools) updateArrayAttribute(ctx context.Context, agentPo...
type AgentPoolList (line 55) | type AgentPoolList struct
type AgentPool (line 61) | type AgentPool struct
type AgentPoolIncludeOpt (line 79) | type AgentPoolIncludeOpt
constant AgentPoolWorkspaces (line 82) | AgentPoolWorkspaces AgentPoolIncludeOpt = "workspaces"
constant AgentPoolHYOKConfigurations (line 83) | AgentPoolHYOKConfigurations AgentPoolIncludeOpt = "hyok-configurations"
type AgentPoolReadOptions (line 86) | type AgentPoolReadOptions struct
method valid (line 367) | func (o *AgentPoolReadOptions) valid() error {
type AgentPoolListOptions (line 91) | type AgentPoolListOptions struct
method valid (line 371) | func (o *AgentPoolListOptions) valid() error {
type AgentPoolCreateOptions (line 111) | type AgentPoolCreateOptions struct
method valid (line 350) | func (o AgentPoolCreateOptions) valid() error {
type AgentPoolUpdateOptions (line 213) | type AgentPoolUpdateOptions struct
method valid (line 360) | func (o AgentPoolUpdateOptions) valid() error {
type AgentPoolAllowedWorkspacesUpdateOptions (line 237) | type AgentPoolAllowedWorkspacesUpdateOptions struct
type AgentPoolAllowedProjectsUpdateOptions (line 249) | type AgentPoolAllowedProjectsUpdateOptions struct
type AgentPoolExcludedWorkspacesUpdateOptions (line 261) | type AgentPoolExcludedWorkspacesUpdateOptions struct
FILE: agent_pool_integration_test.go
function TestAgentPoolsList (line 15) | func TestAgentPoolsList(t *testing.T) {
function TestAgentPoolsCreate (line 192) | func TestAgentPoolsCreate(t *testing.T) {
function TestAgentPoolsRead (line 328) | func TestAgentPoolsRead(t *testing.T) {
function TestAgentPoolsReadCreatedAt (line 389) | func TestAgentPoolsReadCreatedAt(t *testing.T) {
function TestAgentPoolsUpdate (line 407) | func TestAgentPoolsUpdate(t *testing.T) {
function TestAgentPoolsUpdateAllowedWorkspaces (line 552) | func TestAgentPoolsUpdateAllowedWorkspaces(t *testing.T) {
function TestAgentPoolsUpdateAllowedProjects (line 607) | func TestAgentPoolsUpdateAllowedProjects(t *testing.T) {
function TestAgentPoolsUpdateExcludedWorkspaces (line 662) | func TestAgentPoolsUpdateExcludedWorkspaces(t *testing.T) {
function TestAgentPoolsDelete (line 717) | func TestAgentPoolsDelete(t *testing.T) {
FILE: agent_token.go
type AgentTokens (line 21) | type AgentTokens interface
type agentTokens (line 36) | type agentTokens struct
method List (line 71) | func (s *agentTokens) List(ctx context.Context, agentPoolID string) (*...
method Create (line 92) | func (s *agentTokens) Create(ctx context.Context, agentPoolID string, ...
method Read (line 117) | func (s *agentTokens) Read(ctx context.Context, agentTokenID string) (...
method Delete (line 138) | func (s *agentTokens) Delete(ctx context.Context, agentTokenID string)...
type AgentToken (line 41) | type AgentToken struct
type AgentTokenList (line 53) | type AgentTokenList struct
type AgentTokenCreateOptions (line 59) | type AgentTokenCreateOptions struct
FILE: agent_token_integration_test.go
function TestAgentTokensList (line 14) | func TestAgentTokensList(t *testing.T) {
function TestAgentTokensCreate (line 54) | func TestAgentTokensCreate(t *testing.T) {
function TestAgentTokensRead (line 86) | func TestAgentTokensRead(t *testing.T) {
function TestAgentTokensReadCreatedBy (line 114) | func TestAgentTokensReadCreatedBy(t *testing.T) {
function TestAgentTokensDelete (line 132) | func TestAgentTokensDelete(t *testing.T) {
FILE: apply.go
type Applies (line 21) | type Applies interface
type applies (line 30) | type applies struct
method Read (line 73) | func (s *applies) Read(ctx context.Context, applyID string) (*Apply, e...
method Logs (line 94) | func (s *applies) Logs(ctx context.Context, applyID string) (io.Reader...
type ApplyStatus (line 35) | type ApplyStatus
constant ApplyCanceled (line 39) | ApplyCanceled ApplyStatus = "canceled"
constant ApplyCreated (line 40) | ApplyCreated ApplyStatus = "created"
constant ApplyErrored (line 41) | ApplyErrored ApplyStatus = "errored"
constant ApplyFinished (line 42) | ApplyFinished ApplyStatus = "finished"
constant ApplyMFAWaiting (line 43) | ApplyMFAWaiting ApplyStatus = "mfa_waiting"
constant ApplyPending (line 44) | ApplyPending ApplyStatus = "pending"
constant ApplyQueued (line 45) | ApplyQueued ApplyStatus = "queued"
constant ApplyRunning (line 46) | ApplyRunning ApplyStatus = "running"
constant ApplyUnreachable (line 47) | ApplyUnreachable ApplyStatus = "unreachable"
type Apply (line 51) | type Apply struct
type ApplyStatusTimestamps (line 63) | type ApplyStatusTimestamps struct
FILE: apply_integration_test.go
function TestAppliesRead_RunDependent (line 18) | func TestAppliesRead_RunDependent(t *testing.T) {
function TestAppliesLogs_RunDependent (line 49) | func TestAppliesLogs_RunDependent(t *testing.T) {
function TestApplies_Unmarshal (line 76) | func TestApplies_Unmarshal(t *testing.T) {
FILE: audit_trail.go
type AuditTrails (line 26) | type AuditTrails interface
type auditTrails (line 32) | type auditTrails struct
method List (line 92) | func (s *auditTrails) List(ctx context.Context, options *AuditTrailLis...
type AuditTrailRequest (line 37) | type AuditTrailRequest struct
type AuditTrailAuth (line 42) | type AuditTrailAuth struct
type AuditTrailResource (line 51) | type AuditTrailResource struct
type AuditTrailPagination (line 58) | type AuditTrailPagination struct
type AuditTrail (line 67) | type AuditTrail struct
type AuditTrailList (line 79) | type AuditTrailList struct
type AuditTrailListOptions (line 85) | type AuditTrailListOptions struct
FILE: audit_trail_integration_test.go
function TestAuditTrailsList (line 15) | func TestAuditTrailsList(t *testing.T) {
FILE: aws_oidc_configuration.go
constant OIDCConfigPathFormat (line 9) | OIDCConfigPathFormat = "oidc-configurations/%s"
type AWSOIDCConfigurations (line 14) | type AWSOIDCConfigurations interface
type awsOIDCConfigurations (line 24) | type awsOIDCConfigurations struct
method Create (line 75) | func (aoc *awsOIDCConfigurations) Create(ctx context.Context, organiza...
method Read (line 98) | func (aoc *awsOIDCConfigurations) Read(ctx context.Context, oidcID str...
method Update (line 113) | func (aoc *awsOIDCConfigurations) Update(ctx context.Context, oidcID s...
method Delete (line 136) | func (aoc *awsOIDCConfigurations) Delete(ctx context.Context, oidcID s...
type AWSOIDCConfiguration (line 30) | type AWSOIDCConfiguration struct
type AWSOIDCConfigurationCreateOptions (line 37) | type AWSOIDCConfigurationCreateOptions struct
method valid (line 59) | func (o *AWSOIDCConfigurationCreateOptions) valid() error {
type AWSOIDCConfigurationUpdateOptions (line 48) | type AWSOIDCConfigurationUpdateOptions struct
method valid (line 67) | func (o *AWSOIDCConfigurationUpdateOptions) valid() error {
FILE: aws_oidc_configuration_integration_test.go
function TestAWSOIDCConfigurationCreateDelete (line 14) | func TestAWSOIDCConfigurationCreateDelete(t *testing.T) {
function TestAWSOIDCConfigurationRead (line 46) | func TestAWSOIDCConfigurationRead(t *testing.T) {
function TestAWSOIDCConfigurationsUpdate (line 70) | func TestAWSOIDCConfigurationsUpdate(t *testing.T) {
FILE: azure_oidc_configuration.go
type AzureOIDCConfigurations (line 12) | type AzureOIDCConfigurations interface
type azureOIDCConfigurations (line 22) | type azureOIDCConfigurations struct
method Create (line 79) | func (aoc *azureOIDCConfigurations) Create(ctx context.Context, organi...
method Read (line 102) | func (aoc *azureOIDCConfigurations) Read(ctx context.Context, oidcID s...
method Update (line 117) | func (aoc *azureOIDCConfigurations) Update(ctx context.Context, oidcID...
method Delete (line 136) | func (aoc *azureOIDCConfigurations) Delete(ctx context.Context, oidcID...
type AzureOIDCConfiguration (line 28) | type AzureOIDCConfiguration struct
type AzureOIDCConfigurationCreateOptions (line 37) | type AzureOIDCConfigurationCreateOptions struct
method valid (line 63) | func (o *AzureOIDCConfigurationCreateOptions) valid() error {
type AzureOIDCConfigurationUpdateOptions (line 50) | type AzureOIDCConfigurationUpdateOptions struct
FILE: azure_oidc_configuration_integration_test.go
function TestAzureOIDCConfigurationCreateDelete (line 14) | func TestAzureOIDCConfigurationCreateDelete(t *testing.T) {
function TestAzureOIDCConfigurationRead (line 73) | func TestAzureOIDCConfigurationRead(t *testing.T) {
function TestAzureOIDCConfigurationUpdate (line 97) | func TestAzureOIDCConfigurationUpdate(t *testing.T) {
FILE: comment.go
type Comments (line 20) | type Comments interface
type comments (line 32) | type comments struct
method List (line 60) | func (s *comments) List(ctx context.Context, runID string) (*CommentLi...
method Create (line 81) | func (s *comments) Create(ctx context.Context, runID string, options C...
method Read (line 106) | func (s *comments) Read(ctx context.Context, commentID string) (*Comme...
type CommentList (line 37) | type CommentList struct
type Comment (line 43) | type Comment struct
type CommentCreateOptions (line 48) | type CommentCreateOptions struct
method valid (line 126) | func (o CommentCreateOptions) valid() error {
FILE: comment_integration_test.go
function TestCommentsList_RunDependent (line 14) | func TestCommentsList_RunDependent(t *testing.T) {
function commentItemsContainsBody (line 67) | func commentItemsContainsBody(items []*Comment, body string) bool {
FILE: configuration_version.go
type ConfigurationVersions (line 23) | type ConfigurationVersions interface
type configurationVersions (line 73) | type configurationVersions struct
method List (line 209) | func (s *configurationVersions) List(ctx context.Context, workspaceID ...
method Create (line 234) | func (s *configurationVersions) Create(ctx context.Context, workspaceI...
method CreateForRegistryModule (line 254) | func (s *configurationVersions) CreateForRegistryModule(ctx context.Co...
method Read (line 275) | func (s *configurationVersions) Read(ctx context.Context, cvID string)...
method ReadWithOptions (line 280) | func (s *configurationVersions) ReadWithOptions(ctx context.Context, c...
method Upload (line 306) | func (s *configurationVersions) Upload(ctx context.Context, uploadURL,...
method UploadTarGzip (line 321) | func (s *configurationVersions) UploadTarGzip(ctx context.Context, upl...
method Archive (line 327) | func (s *configurationVersions) Archive(ctx context.Context, cvID stri...
method Download (line 352) | func (s *configurationVersions) Download(ctx context.Context, cvID str...
method SoftDeleteBackingData (line 372) | func (s *configurationVersions) SoftDeleteBackingData(ctx context.Cont...
method RestoreBackingData (line 376) | func (s *configurationVersions) RestoreBackingData(ctx context.Context...
method PermanentlyDeleteBackingData (line 380) | func (s *configurationVersions) PermanentlyDeleteBackingData(ctx conte...
method manageBackingData (line 384) | func (s *configurationVersions) manageBackingData(ctx context.Context,...
type ConfigurationStatus (line 78) | type ConfigurationStatus
constant ConfigurationArchived (line 82) | ConfigurationArchived ConfigurationStatus = "archived"
constant ConfigurationErrored (line 83) | ConfigurationErrored ConfigurationStatus = "errored"
constant ConfigurationFetching (line 84) | ConfigurationFetching ConfigurationStatus = "fetching"
constant ConfigurationPending (line 85) | ConfigurationPending ConfigurationStatus = "pending"
constant ConfigurationUploaded (line 86) | ConfigurationUploaded ConfigurationStatus = "uploaded"
type ConfigurationSource (line 90) | type ConfigurationSource
constant ConfigurationSourceAPI (line 94) | ConfigurationSourceAPI ConfigurationSource = "tfe-api"
constant ConfigurationSourceBitbucket (line 95) | ConfigurationSourceBitbucket ConfigurationSource = "bitbucket"
constant ConfigurationSourceGithub (line 96) | ConfigurationSourceGithub ConfigurationSource = "github"
constant ConfigurationSourceGitlab (line 97) | ConfigurationSourceGitlab ConfigurationSource = "gitlab"
constant ConfigurationSourceAdo (line 98) | ConfigurationSourceAdo ConfigurationSource = "ado"
constant ConfigurationSourceTerraform (line 99) | ConfigurationSourceTerraform ConfigurationSource = "terraform"
type ConfigurationVersionList (line 103) | type ConfigurationVersionList struct
type ConfigurationVersion (line 111) | type ConfigurationVersion struct
type CVStatusTimestamps (line 129) | type CVStatusTimestamps struct
type ConfigVerIncludeOpt (line 139) | type ConfigVerIncludeOpt
constant ConfigVerIngressAttributes (line 142) | ConfigVerIngressAttributes ConfigVerIncludeOpt = "ingress_attributes"
constant ConfigVerRun (line 143) | ConfigVerRun ConfigVerIncludeOpt = "run"
type ConfigurationVersionReadOptions (line 147) | type ConfigurationVersionReadOptions struct
method valid (line 343) | func (o *ConfigurationVersionReadOptions) valid() error {
type ConfigurationVersionListOptions (line 155) | type ConfigurationVersionListOptions struct
method valid (line 347) | func (o *ConfigurationVersionListOptions) valid() error {
type ConfigurationVersionCreateOptions (line 164) | type ConfigurationVersionCreateOptions struct
type IngressAttributes (line 184) | type IngressAttributes struct
FILE: configuration_version_integration_test.go
function TestConfigurationVersionsList (line 21) | func TestConfigurationVersionsList(t *testing.T) {
function TestConfigurationVersionsCreate (line 78) | func TestConfigurationVersionsCreate(t *testing.T) {
function TestConfigurationVersionsCreateForRegistryModule (line 142) | func TestConfigurationVersionsCreateForRegistryModule(t *testing.T) {
function TestConfigurationVersionsRead (line 193) | func TestConfigurationVersionsRead(t *testing.T) {
function TestConfigurationVersionsReadWithOptions (line 226) | func TestConfigurationVersionsReadWithOptions(t *testing.T) {
function TestConfigurationVersionsUpload (line 276) | func TestConfigurationVersionsUpload(t *testing.T) {
function TestConfigurationVersionsUploadTarGzip (line 314) | func TestConfigurationVersionsUploadTarGzip(t *testing.T) {
function TestConfigurationVersionsArchive (line 350) | func TestConfigurationVersionsArchive(t *testing.T) {
function TestConfigurationVersionsDownload (line 405) | func TestConfigurationVersionsDownload(t *testing.T) {
function TestConfigurationVersions_Unmarshal (line 444) | func TestConfigurationVersions_Unmarshal(t *testing.T) {
function TestConfigurationVersions_ManageBackingData (line 490) | func TestConfigurationVersions_ManageBackingData(t *testing.T) {
FILE: const.go
constant AuthenticationTokensPath (line 8) | AuthenticationTokensPath = "authentication-tokens/%s"
constant AdminSCIMTokensPath (line 11) | AdminSCIMTokensPath = "admin/scim-tokens"
constant AdminSCIMGroupsPath (line 14) | AdminSCIMGroupsPath = "admin/scim-groups"
FILE: cost_estimate.go
type CostEstimates (line 22) | type CostEstimates interface
type costEstimates (line 31) | type costEstimates struct
method Read (line 73) | func (s *costEstimates) Read(ctx context.Context, costEstimateID strin...
method Logs (line 94) | func (s *costEstimates) Logs(ctx context.Context, costEstimateID strin...
type CostEstimateStatus (line 36) | type CostEstimateStatus
constant CostEstimateCanceled (line 40) | CostEstimateCanceled CostEstimateStatus = "canceled"
constant CostEstimateErrored (line 41) | CostEstimateErrored CostEstimateStatus = "errored"
constant CostEstimateFinished (line 42) | CostEstimateFinished CostEstimateStatus = "finished"
constant CostEstimatePending (line 43) | CostEstimatePending CostEstimateStatus = "pending"
constant CostEstimateQueued (line 44) | CostEstimateQueued CostEstimateStatus = "queued"
constant CostEstimateSkippedDueToTargeting (line 45) | CostEstimateSkippedDueToTargeting CostEstimateStatus = "skipped_due_to_t...
type CostEstimate (line 49) | type CostEstimate struct
type CostEstimateStatusTimestamps (line 63) | type CostEstimateStatusTimestamps struct
FILE: cost_estimate_integration_test.go
function TestCostEstimatesRead_RunDependent (line 17) | func TestCostEstimatesRead_RunDependent(t *testing.T) {
function TestCostEsimate_Unmarshal (line 61) | func TestCostEsimate_Unmarshal(t *testing.T) {
FILE: data_retention_policy.go
type DataRetentionPolicyChoice (line 11) | type DataRetentionPolicyChoice struct
method IsPopulated (line 18) | func (d DataRetentionPolicyChoice) IsPopulated() bool {
method ConvertToLegacyStruct (line 26) | func (d *DataRetentionPolicyChoice) ConvertToLegacyStruct() *DataReten...
type DataRetentionPolicy (line 47) | type DataRetentionPolicy struct
type DataRetentionPolicySetOptions (line 55) | type DataRetentionPolicySetOptions struct
type DataRetentionPolicyDeleteOlder (line 67) | type DataRetentionPolicyDeleteOlder struct
type DataRetentionPolicyDontDelete (line 75) | type DataRetentionPolicyDontDelete struct
type DataRetentionPolicyDeleteOlderSetOptions (line 80) | type DataRetentionPolicyDeleteOlderSetOptions struct
type DataRetentionPolicyDontDeleteSetOptions (line 92) | type DataRetentionPolicyDontDeleteSetOptions struct
FILE: entitlement_helper_test.go
function getOrgEntitlements (line 11) | func getOrgEntitlements(client *Client, organizationName string) (*Entit...
function hasGlobalRunTasks (line 23) | func hasGlobalRunTasks(client *Client, organizationName string) (bool, e...
function hasPrivateRunTasks (line 31) | func hasPrivateRunTasks(client *Client, organizationName string) (bool, ...
function hasAuditLogging (line 39) | func hasAuditLogging(client *Client, organizationName string) (bool, err...
FILE: example_test.go
function ExampleOrganizations (line 17) | func ExampleOrganizations() {
function ExampleWorkspaces (line 49) | func ExampleWorkspaces() {
function ExampleConfigurationVersions_UploadTarGzip (line 82) | func ExampleConfigurationVersions_UploadTarGzip() {
function ExampleRegistryModules_UploadTarGzip (line 122) | func ExampleRegistryModules_UploadTarGzip() {
function ExampleStateVersions_Upload (line 182) | func ExampleStateVersions_Upload() {
FILE: examples/backing_data/main.go
function main (line 15) | func main() {
function performAction (line 43) | func performAction(ctx context.Context, client *tfe.Client, action strin...
FILE: examples/configuration_versions/main.go
function main (line 15) | func main() {
FILE: examples/organizations/main.go
function main (line 13) | func main() {
FILE: examples/projects/main.go
function main (line 15) | func main() {
FILE: examples/registry_modules/main.go
function main (line 15) | func main() {
FILE: examples/run_errors/main.go
type Diagnostic (line 25) | type Diagnostic struct
type Pos (line 34) | type Pos struct
type DiagnosticRange (line 46) | type DiagnosticRange struct
type JSONLog (line 53) | type JSONLog struct
function logErrorsOnly (line 62) | func logErrorsOnly(reader io.Reader) {
function logRunErrors (line 84) | func logRunErrors(ctx context.Context, client *tfe.Client, run *tfe.Run) {
function readRun (line 105) | func readRun(ctx context.Context, client *tfe.Client, id string) *tfe.Run {
function main (line 115) | func main() {
FILE: examples/state_versions/main.go
function main (line 16) | func main() {
FILE: examples/users/main.go
function main (line 13) | func main() {
FILE: examples/workspaces/main.go
function main (line 14) | func main() {
FILE: gcp_oidc_configuration.go
type GCPOIDCConfigurations (line 12) | type GCPOIDCConfigurations interface
type gcpOIDCConfigurations (line 22) | type gcpOIDCConfigurations struct
method Create (line 79) | func (goc *gcpOIDCConfigurations) Create(ctx context.Context, organiza...
method Read (line 102) | func (goc *gcpOIDCConfigurations) Read(ctx context.Context, oidcID str...
method Update (line 117) | func (goc *gcpOIDCConfigurations) Update(ctx context.Context, oidcID s...
method Delete (line 136) | func (goc *gcpOIDCConfigurations) Delete(ctx context.Context, oidcID s...
type GCPOIDCConfiguration (line 28) | type GCPOIDCConfiguration struct
type GCPOIDCConfigurationCreateOptions (line 37) | type GCPOIDCConfigurationCreateOptions struct
method valid (line 63) | func (o *GCPOIDCConfigurationCreateOptions) valid() error {
type GCPOIDCConfigurationUpdateOptions (line 50) | type GCPOIDCConfigurationUpdateOptions struct
FILE: gcp_oidc_configuration_integration_test.go
function TestGCPOIDCConfigurationCreateDelete (line 14) | func TestGCPOIDCConfigurationCreateDelete(t *testing.T) {
function TestGCPOIDCConfigurationRead (line 73) | func TestGCPOIDCConfigurationRead(t *testing.T) {
function TestGCPOIDCConfigurationUpdate (line 97) | func TestGCPOIDCConfigurationUpdate(t *testing.T) {
FILE: github_app_installation.go
type GHAInstallations (line 19) | type GHAInstallations interface
type gHAInstallations (line 28) | type gHAInstallations struct
method List (line 54) | func (s *gHAInstallations) List(ctx context.Context, options *GHAInsta...
method Read (line 72) | func (s *gHAInstallations) Read(ctx context.Context, id string) (*GHAI...
type GHAInstallationList (line 33) | type GHAInstallationList struct
type GHAInstallation (line 39) | type GHAInstallation struct
type GHAInstallationListOptions (line 49) | type GHAInstallationListOptions struct
FILE: github_app_installation_integration_test.go
function TestGHAInstallationList (line 15) | func TestGHAInstallationList(t *testing.T) {
function TestGHAInstallationRead (line 30) | func TestGHAInstallationRead(t *testing.T) {
FILE: gpg_key.go
type GPGKeys (line 20) | type GPGKeys interface
type gpgKeys (line 38) | type gpgKeys struct
method ListPrivate (line 90) | func (s *gpgKeys) ListPrivate(ctx context.Context, options GPGKeyListO...
method Create (line 110) | func (s *gpgKeys) Create(ctx context.Context, registryName RegistryNam...
method Read (line 134) | func (s *gpgKeys) Read(ctx context.Context, keyID GPGKeyID) (*GPGKey, ...
method Update (line 158) | func (s *gpgKeys) Update(ctx context.Context, keyID GPGKeyID, options ...
method Delete (line 189) | func (s *gpgKeys) Delete(ctx context.Context, keyID GPGKeyID) error {
type GPGKeyList (line 43) | type GPGKeyList struct
type GPGKey (line 49) | type GPGKey struct
type GPGKeyID (line 62) | type GPGKeyID struct
method valid (line 207) | func (o GPGKeyID) valid() error {
type GPGKeyListOptions (line 69) | type GPGKeyListOptions struct
method valid (line 223) | func (o *GPGKeyListOptions) valid() error {
type GPGKeyCreateOptions (line 77) | type GPGKeyCreateOptions struct
method valid (line 237) | func (o GPGKeyCreateOptions) valid() error {
type GPGKeyUpdateOptions (line 84) | type GPGKeyUpdateOptions struct
method valid (line 249) | func (o GPGKeyUpdateOptions) valid() error {
FILE: gpg_key_integration_test.go
function TestGPGKeyList (line 14) | func TestGPGKeyList(t *testing.T) {
function TestGPGKeyCreate (line 97) | func TestGPGKeyCreate(t *testing.T) {
function TestGPGKeyRead (line 155) | func TestGPGKeyRead(t *testing.T) {
function TestGPGKeyUpdate (line 193) | func TestGPGKeyUpdate(t *testing.T) {
function TestGPGKeyDelete (line 255) | func TestGPGKeyDelete(t *testing.T) {
FILE: helper_test.go
constant badIdentifier (line 38) | badIdentifier = "! / nope"
constant agentVersion (line 39) | agentVersion = "1.3.0"
constant testInitialClientToken (line 40) | testInitialClientToken = "insert-your-token-here"
constant testTaskResultCallbackToken (line 41) | testTaskResultCallbackToken = "this-is-task-result-callback-token"
constant defaultTokenExpirationYears (line 42) | defaultTokenExpirationYears = 2
function testClient (line 46) | func testClient(t *testing.T) *Client {
type adminRoleType (line 57) | type adminRoleType
constant siteAdmin (line 60) | siteAdmin adminRoleType = "site-admin"
constant configurationAdmin (line 61) | configurationAdmin adminRoleType = "configuration"
constant provisionLicensesAdmin (line 62) | provisionLicensesAdmin adminRoleType = "provision-licenses"
constant subscriptionAdmin (line 63) | subscriptionAdmin adminRoleType = "subscription"
constant supportAdmin (line 64) | supportAdmin adminRoleType = "support"
constant securityMaintenanceAdmin (line 65) | securityMaintenanceAdmin adminRoleType = "security-maintenance"
constant versionMaintenanceAdmin (line 66) | versionMaintenanceAdmin adminRoleType = "version-maintenance"
function getTokenForAdminRole (line 69) | func getTokenForAdminRole(adminRole adminRoleType) string {
function testAdminClient (line 92) | func testAdminClient(t *testing.T, adminRole adminRoleType) *Client {
function testAuditTrailClient (line 109) | func testAuditTrailClient(t *testing.T, userClient *Client, org *Organiz...
type TestAccountDetails (line 129) | type TestAccountDetails struct
function fetchTestAccountDetails (line 135) | func fetchTestAccountDetails(t *testing.T, client *Client) *TestAccountD...
function downloadFile (line 155) | func downloadFile(filePath, fileURL string) error {
function unzip (line 175) | func unzip(src, dest string) error {
function downloadTFCAgent (line 243) | func downloadTFCAgent(t *testing.T) (string, error) {
function createAgent (line 267) | func createAgent(t *testing.T, client *Client, org *Organization) (*Agen...
function createAgentPool (line 347) | func createAgentPool(t *testing.T, client *Client, org *Organization) (*...
function createAgentPoolWithOptions (line 375) | func createAgentPoolWithOptions(t *testing.T, client *Client, org *Organ...
function createAgentToken (line 401) | func createAgentToken(t *testing.T, client *Client, ap *AgentPool) (*Age...
function createConfigurationVersion (line 429) | func createConfigurationVersion(t *testing.T, client *Client, w *Workspa...
function createUploadedConfigurationVersion (line 453) | func createUploadedConfigurationVersion(t *testing.T, client *Client, w ...
function createTestRunConfigurationVersion (line 468) | func createTestRunConfigurationVersion(t *testing.T, client *Client, rm ...
function createUploadedTestRunConfigurationVersion (line 496) | func createUploadedTestRunConfigurationVersion(t *testing.T, client *Cli...
function WaitUntilStatus (line 512) | func WaitUntilStatus(t *testing.T, client *Client, cv *ConfigurationVers...
function createGPGKey (line 531) | func createGPGKey(t *testing.T, client *Client, org *Organization, provi...
function createAWSOIDCConfiguration (line 575) | func createAWSOIDCConfiguration(t *testing.T, client *Client, org *Organ...
method createHYOKConfiguration (line 606) | func (a *AWSOIDCConfiguration) createHYOKConfiguration(t *testing.T, cli...
function createAzureOIDCConfiguration (line 637) | func createAzureOIDCConfiguration(t *testing.T, client *Client, org *Org...
method createHYOKConfiguration (line 670) | func (a *AzureOIDCConfiguration) createHYOKConfiguration(t *testing.T, c...
function createGCPOIDCConfiguration (line 700) | func createGCPOIDCConfiguration(t *testing.T, client *Client, org *Organ...
method createHYOKConfiguration (line 733) | func (g *GCPOIDCConfiguration) createHYOKConfiguration(t *testing.T, cli...
function createVaultOIDCConfiguration (line 764) | func createVaultOIDCConfiguration(t *testing.T, client *Client, org *Org...
method createHYOKConfiguration (line 799) | func (v *VaultOIDCConfiguration) createHYOKConfiguration(t *testing.T, c...
function waitForHYOKConfigurationStatus (line 829) | func waitForHYOKConfigurationStatus(t *testing.T, ctx context.Context, c...
function cleanupHYOKConfiguration (line 846) | func cleanupHYOKConfiguration(t *testing.T, ctx context.Context, client ...
function createNotificationConfiguration (line 870) | func createNotificationConfiguration(t *testing.T, client *Client, w *Wo...
function createTeamNotificationConfiguration (line 916) | func createTeamNotificationConfiguration(t *testing.T, client *Client, t...
function createPolicySetParameter (line 965) | func createPolicySetParameter(t *testing.T, client *Client, ps *PolicySe...
function createPolicySet (line 996) | func createPolicySet(t *testing.T, client *Client, org *Organization, po...
function createPolicySetWithOptions (line 1030) | func createPolicySetWithOptions(t *testing.T, client *Client, org *Organ...
function createPolicySetVersion (line 1066) | func createPolicySetVersion(t *testing.T, client *Client, ps *PolicySet)...
function createPolicy (line 1087) | func createPolicy(t *testing.T, client *Client, org *Organization) (*Pol...
function createPolicyWithOptions (line 1124) | func createPolicyWithOptions(t *testing.T, client *Client, org *Organiza...
function createUploadedPolicy (line 1171) | func createUploadedPolicy(t *testing.T, client *Client, pass bool, org *...
function createUploadedPolicyWithOptions (line 1200) | func createUploadedPolicyWithOptions(t *testing.T, client *Client, pass ...
function createOAuthClient (line 1236) | func createOAuthClient(t *testing.T, client *Client, org *Organization, ...
function createOAuthToken (line 1278) | func createOAuthToken(t *testing.T, client *Client, org *Organization) (...
function createOrganization (line 1286) | func createOrganization(t *testing.T, client *Client) (*Organization, fu...
function createOrganizationWithOptions (line 1295) | func createOrganizationWithOptions(t *testing.T, client *Client, options...
function createOrganizationWithDefaultAgentPool (line 1311) | func createOrganizationWithDefaultAgentPool(t *testing.T, client *Client...
function createOrganizationMembership (line 1335) | func createOrganizationMembership(t *testing.T, client *Client, org *Org...
function createOrganizationToken (line 1363) | func createOrganizationToken(t *testing.T, client *Client, org *Organiza...
function createOrganizationTokenWithOptions (line 1389) | func createOrganizationTokenWithOptions(t *testing.T, client *Client, or...
function createRunTrigger (line 1415) | func createRunTrigger(t *testing.T, client *Client, w, sourceable *Works...
function createPolicyCheckedRun (line 1456) | func createPolicyCheckedRun(t *testing.T, client *Client, w *Workspace) ...
function createPlannedRun (line 1460) | func createPlannedRun(t *testing.T, client *Client, w *Workspace) (*Run,...
function createCostEstimatedRun (line 1464) | func createCostEstimatedRun(t *testing.T, client *Client, w *Workspace) ...
function createRunApply (line 1468) | func createRunApply(t *testing.T, client *Client, w *Workspace) (*Run, f...
function createRunUnapplied (line 1489) | func createRunUnapplied(t *testing.T, client *Client, w *Workspace) (*Ru...
function createRunWaitForStatus (line 1516) | func createRunWaitForStatus(t *testing.T, client *Client, w *Workspace, ...
function createRunWaitForAnyStatuses (line 1520) | func createRunWaitForAnyStatuses(t *testing.T, client *Client, w *Worksp...
function createQueryRunWaitForAnyStatuses (line 1547) | func createQueryRunWaitForAnyStatuses(t *testing.T, client *Client, w *W...
function applyableStatuses (line 1568) | func applyableStatuses(r *Run) []RunStatus {
function pollRunStatus (line 1583) | func pollRunStatus(t *testing.T, client *Client, ctx context.Context, r ...
function pollQueryRunStatus (line 1616) | func pollQueryRunStatus(t *testing.T, client *Client, ctx context.Contex...
function pollStateVersionStatus (line 1649) | func pollStateVersionStatus(t *testing.T, client *Client, ctx context.Co...
function readRun (line 1685) | func readRun(t *testing.T, client *Client, ctx context.Context, r *Run) ...
function readQueryRun (line 1697) | func readQueryRun(t *testing.T, client *Client, ctx context.Context, r *...
function applyRun (line 1709) | func applyRun(t *testing.T, client *Client, ctx context.Context, r *Run) {
function readPlan (line 1719) | func readPlan(t *testing.T, client *Client, ctx context.Context, p *Plan...
function readPlanLogs (line 1731) | func readPlanLogs(t *testing.T, client *Client, ctx context.Context, p *...
function fatalDumpRunLog (line 1742) | func fatalDumpRunLog(t *testing.T, client *Client, ctx context.Context, ...
function createRun (line 1758) | func createRun(t *testing.T, client *Client, w *Workspace) (*Run, func()) {
function createTestRun (line 1786) | func createTestRun(t *testing.T, client *Client, rm *RegistryModule, var...
function createTestVariable (line 1814) | func createTestVariable(t *testing.T, client *Client, rm *RegistryModule...
function waitUntilTestRunStatus (line 1853) | func waitUntilTestRunStatus(t *testing.T, client *Client, rm RegistryMod...
function createPlanExport (line 1872) | func createPlanExport(t *testing.T, client *Client, r *Run) (*PlanExport...
function createBranchBasedRegistryModule (line 1925) | func createBranchBasedRegistryModule(t *testing.T, client *Client, org *...
function createBranchBasedRegistryModuleWithTests (line 1981) | func createBranchBasedRegistryModuleWithTests(t *testing.T, client *Clie...
function createRegistryModule (line 2040) | func createRegistryModule(t *testing.T, client *Client, org *Organizatio...
function createRegistryModuleWithVersion (line 2077) | func createRegistryModuleWithVersion(t *testing.T, client *Client, org *...
function createRunTask (line 2126) | func createRunTask(t *testing.T, client *Client, org *Organization) (*Ru...
function createRegistryProvider (line 2163) | func createRegistryProvider(t *testing.T, client *Client, org *Organizat...
function createRegistryProviderPlatform (line 2215) | func createRegistryProviderPlatform(t *testing.T, client *Client, provid...
function createRegistryProviderVersion (line 2284) | func createRegistryProviderVersion(t *testing.T, client *Client, provide...
function createSSHKey (line 2332) | func createSSHKey(t *testing.T, client *Client, org *Organization) (*SSH...
function createStateVersion (line 2361) | func createStateVersion(t *testing.T, client *Client, serial int64, w *W...
function createTeam (line 2418) | func createTeam(t *testing.T, client *Client, org *Organization) (*Team,...
function createTeamAccess (line 2453) | func createTeamAccess(t *testing.T, client *Client, tm *Team, w *Workspa...
function createTeamProjectAccess (line 2499) | func createTeamProjectAccess(t *testing.T, client *Client, tm *Team, p *...
function createTeamToken (line 2545) | func createTeamToken(t *testing.T, client *Client, tm *Team) (*TeamToken...
function createTeamTokenWithOptions (line 2571) | func createTeamTokenWithOptions(t *testing.T, client *Client, tm *Team, ...
function createVariable (line 2597) | func createVariable(t *testing.T, client *Client, w *Workspace) (*Variab...
function createVariableWithOptions (line 2607) | func createVariableWithOptions(t *testing.T, client *Client, w *Workspac...
function createWorkspace (line 2657) | func createWorkspace(t *testing.T, client *Client, org *Organization) (*...
function createWorkspaceWithOptions (line 2663) | func createWorkspaceWithOptions(t *testing.T, client *Client, org *Organ...
function createWorkspaceWithVCS (line 2693) | func createWorkspaceWithVCS(t *testing.T, client *Client, org *Organizat...
function createWorkspaceWithGithubApp (line 2743) | func createWorkspaceWithGithubApp(t *testing.T, client *Client, org *Org...
function createWorkspaceRunTask (line 2792) | func createWorkspaceRunTask(t *testing.T, client *Client, workspace *Wor...
function createVariableSet (line 2838) | func createVariableSet(t *testing.T, client *Client, org *Organization, ...
function applyVariableSetToWorkspace (line 2872) | func applyVariableSetToWorkspace(t *testing.T, client *Client, vsID, wsI...
function applyVariableSetToProject (line 2900) | func applyVariableSetToProject(t *testing.T, client *Client, vsID, prjID...
function createVariableSetVariable (line 2929) | func createVariableSetVariable(t *testing.T, client *Client, vs *Variabl...
function upgradeOrganizationSubscription (line 2981) | func upgradeOrganizationSubscription(t *testing.T, _ *Client, organizati...
function createProject (line 2985) | func createProject(t *testing.T, client *Client, org *Organization) (*Pr...
function createProjectWithOptions (line 2991) | func createProjectWithOptions(t *testing.T, client *Client, org *Organiz...
function createTarGzipArchive (line 3017) | func createTarGzipArchive(t *testing.T, files []string, outputPath strin...
function waitForSVOutputs (line 3073) | func waitForSVOutputs(t *testing.T, client *Client, svID string) {
function waitForRunLock (line 3093) | func waitForRunLock(t *testing.T, client *Client, workspaceID string) {
function retryTimes (line 3112) | func retryTimes(maxRetries, secondsBetween int, f retryableFn) (interfac...
function retryTimesIf (line 3135) | func retryTimesIf[T any](maxRetries, secondsBetween int, f retryableFn, ...
function retryPatiently (line 3164) | func retryPatiently(f retryableFn) (interface{}, error) {
function retry (line 3168) | func retry(f retryableFn) (interface{}, error) { //nolint
function retryPatientlyIf (line 3172) | func retryPatientlyIf[T any](f retryableFn, c func(T) bool) (T, error) {
function retryIf (line 3176) | func retryIf[T any](f retryableFn, c func(T) bool) (T, error) {
function genSha (line 3180) | func genSha(t *testing.T) string {
function genSafeRandomTerraformVersion (line 3197) | func genSafeRandomTerraformVersion() string {
function createAdminSentinelVersion (line 3209) | func createAdminSentinelVersion() string {
function createAdminOPAVersion (line 3216) | func createAdminOPAVersion() string {
function randomString (line 3221) | func randomString(t *testing.T) string {
function randomStringWithoutSpecialChar (line 3229) | func randomStringWithoutSpecialChar(t *testing.T) string {
function randomKeyValue (line 3238) | func randomKeyValue(t *testing.T) string {
function containsProject (line 3247) | func containsProject(pl []*Project, str string) bool {
function randomSemver (line 3256) | func randomSemver(t *testing.T) string {
function skipUnlessEnterprise (line 3262) | func skipUnlessEnterprise(t *testing.T) {
function skipIfEnterprise (line 3270) | func skipIfEnterprise(t *testing.T) {
function skipHYOKIntegrationTests (line 3277) | func skipHYOKIntegrationTests(t *testing.T) {
function skipUnlessBeta (line 3291) | func skipUnlessBeta(t *testing.T) {
function skipUnlessLinuxAMD64 (line 3299) | func skipUnlessLinuxAMD64(t *testing.T) {
function skipUnlessAfterDate (line 3309) | func skipUnlessAfterDate(t *testing.T, d time.Time) {
function linuxAmd64 (line 3318) | func linuxAmd64() bool {
function enterpriseEnabled (line 3323) | func enterpriseEnabled() bool {
function betaFeaturesEnabled (line 3328) | func betaFeaturesEnabled() bool {
function hyokIntegrationTestsEnabled (line 3333) | func hyokIntegrationTestsEnabled() bool {
function runDependentTestNameValidator (line 3337) | func runDependentTestNameValidator(t *testing.T) {
function testHyokOrganization (line 3353) | func testHyokOrganization(t *testing.T, client *Client) *Organization {
function isEmpty (line 3371) | func isEmpty(object interface{}) bool {
function requireExactlyOneNotEmpty (line 3400) | func requireExactlyOneNotEmpty(t *testing.T, v ...any) {
function runTaskCallbackMockServer (line 3417) | func runTaskCallbackMockServer(t *testing.T) *httptest.Server {
function enableSAML (line 3437) | func enableSAML(ctx context.Context, t *testing.T, client *Client, enabl...
function enableSCIM (line 3457) | func enableSCIM(ctx context.Context, t *testing.T, client *Client, enabl...
function setSAMLProviderType (line 3481) | func setSAMLProviderType(ctx context.Context, t *testing.T, client *Clie...
function createSCIMGroup (line 3494) | func createSCIMGroup(ctx context.Context, t *testing.T, client *Client, ...
function deleteSCIMGroup (line 3533) | func deleteSCIMGroup(ctx context.Context, t *testing.T, client *Client, ...
constant testGpgArmor (line 3554) | testGpgArmor string = `
FILE: hyok_configuration.go
type HYOKConfigurations (line 12) | type HYOKConfigurations interface
type hyokConfigurations (line 30) | type hyokConfigurations struct
method List (line 137) | func (h hyokConfigurations) List(ctx context.Context, organization str...
method Read (line 156) | func (h hyokConfigurations) Read(ctx context.Context, hyokID string, o...
method Create (line 219) | func (h hyokConfigurations) Create(ctx context.Context, organization s...
method Update (line 242) | func (h hyokConfigurations) Update(ctx context.Context, hyokID string,...
method Delete (line 261) | func (h hyokConfigurations) Delete(ctx context.Context, hyokID string)...
method Test (line 274) | func (h hyokConfigurations) Test(ctx context.Context, hyokID string) e...
method Revoke (line 287) | func (h hyokConfigurations) Revoke(ctx context.Context, hyokID string)...
type HYOKConfigurationStatus (line 36) | type HYOKConfigurationStatus
constant HYOKConfigurationUntested (line 39) | HYOKConfigurationUntested HYOKConfigurationStatus = "untested"
constant HYOKConfigurationTesting (line 40) | HYOKConfigurationTesting HYOKConfigurationStatus = "testing"
constant HYOKConfigurationTestFailed (line 41) | HYOKConfigurationTestFailed HYOKConfigurationStatus = "test_failed"
constant HYOKConfigurationAvailable (line 42) | HYOKConfigurationAvailable HYOKConfigurationStatus = "available"
constant HYOKConfigurationErrored (line 43) | HYOKConfigurationErrored HYOKConfigurationStatus = "errored"
constant HYOKConfigurationRevoking (line 44) | HYOKConfigurationRevoking HYOKConfigurationStatus = "revoking"
constant HYOKConfigurationRevoked (line 45) | HYOKConfigurationRevoked HYOKConfigurationStatus = "revoked"
type OIDCConfigurationTypeChoice (line 48) | type OIDCConfigurationTypeChoice struct
type KMSOptions (line 55) | type KMSOptions struct
type HYOKConfiguration (line 63) | type HYOKConfiguration struct
type HYOKConfigurationsList (line 81) | type HYOKConfigurationsList struct
type HYOKConfigurationsIncludeOpt (line 86) | type HYOKConfigurationsIncludeOpt
constant HYOKConfigurationsIncludeHYOKCustomerKeyVersions (line 89) | HYOKConfigurationsIncludeHYOKCustomerKeyVersions HYOKConfigurationsInclu...
constant HYOKConfigurationsIncludeOIDCConfiguration (line 90) | HYOKConfigurationsIncludeOIDCConfiguration HYOKConfigurationsInclu...
type HYOKConfigurationsListOptions (line 93) | type HYOKConfigurationsListOptions struct
type HYOKConfigurationsCreateOptions (line 99) | type HYOKConfigurationsCreateOptions struct
method valid (line 175) | func (h *HYOKConfigurationsCreateOptions) valid() error {
type HYOKConfigurationsReadOptions (line 116) | type HYOKConfigurationsReadOptions struct
type HYOKConfigurationsUpdateOptions (line 120) | type HYOKConfigurationsUpdateOptions struct
FILE: hyok_configuration_integration_test.go
function TestHYOKConfigurationCreateRevokeDelete (line 11) | func TestHYOKConfigurationCreateRevokeDelete(t *testing.T) {
function TestHyokConfigurationList (line 297) | func TestHyokConfigurationList(t *testing.T) {
function TestHyokConfigurationRead (line 344) | func TestHyokConfigurationRead(t *testing.T) {
function TestHYOKConfigurationUpdate (line 431) | func TestHYOKConfigurationUpdate(t *testing.T) {
FILE: hyok_customer_key_version.go
type HYOKCustomerKeyVersions (line 15) | type HYOKCustomerKeyVersions interface
type hyokCustomerKeyVersions (line 30) | type hyokCustomerKeyVersions struct
method List (line 72) | func (s *hyokCustomerKeyVersions) List(ctx context.Context, hyokConfig...
method Read (line 93) | func (s *hyokCustomerKeyVersions) Read(ctx context.Context, hyokCustom...
method Revoke (line 115) | func (s *hyokCustomerKeyVersions) Revoke(ctx context.Context, hyokCust...
method Delete (line 130) | func (s *hyokCustomerKeyVersions) Delete(ctx context.Context, hyokCust...
type HYOKCustomerKeyVersionList (line 35) | type HYOKCustomerKeyVersionList struct
type HYOKCustomerKeyVersion (line 41) | type HYOKCustomerKeyVersion struct
type HYOKKeyVersionStatus (line 55) | type HYOKKeyVersionStatus
constant KeyVersionStatusAvailable (line 59) | KeyVersionStatusAvailable HYOKKeyVersionStatus = "available"
constant KeyVersionStatusRevoking (line 60) | KeyVersionStatusRevoking HYOKKeyVersionStatus = "revoking"
constant KeyVersionStatusRevoked (line 61) | KeyVersionStatusRevoked HYOKKeyVersionStatus = "revoked"
constant KeyVersionStatusRevocationFailed (line 62) | KeyVersionStatusRevocationFailed HYOKKeyVersionStatus = "revocation_failed"
type HYOKCustomerKeyVersionListOptions (line 66) | type HYOKCustomerKeyVersionListOptions struct
FILE: hyok_customer_key_version_integration_test.go
function TestHYOKCustomerKeyVersionsList (line 16) | func TestHYOKCustomerKeyVersionsList(t *testing.T) {
function TestHYOKCustomerKeyVersionsRead (line 39) | func TestHYOKCustomerKeyVersionsRead(t *testing.T) {
FILE: hyok_encrypted_data_key.go
type HYOKEncryptedDataKeys (line 15) | type HYOKEncryptedDataKeys interface
type hyokEncryptedDataKeys (line 21) | type hyokEncryptedDataKeys struct
method Read (line 38) | func (h hyokEncryptedDataKeys) Read(ctx context.Context, hyokEncrypted...
type HYOKEncryptedDataKey (line 26) | type HYOKEncryptedDataKey struct
FILE: hyok_encrypted_data_key_integration_test.go
function TestHYOKEncryptedDataKeyRead (line 16) | func TestHYOKEncryptedDataKeyRead(t *testing.T) {
FILE: internal_run_task.go
type internalRunTask (line 7) | type internalRunTask struct
method ToRunTask (line 23) | func (irt internalRunTask) ToRunTask() *RunTask {
type internalRunTaskList (line 84) | type internalRunTaskList struct
method ToRunTaskList (line 91) | func (irt internalRunTaskList) ToRunTaskList() *RunTaskList {
FILE: internal_workspace_run_task.go
type internalWorkspaceRunTask (line 7) | type internalWorkspaceRunTask struct
method ToWorkspaceRunTask (line 19) | func (irt internalWorkspaceRunTask) ToWorkspaceRunTask() *WorkspaceRun...
type internalWorkspaceRunTaskList (line 37) | type internalWorkspaceRunTaskList struct
method ToWorkspaceRunTaskList (line 44) | func (irt internalWorkspaceRunTaskList) ToWorkspaceRunTaskList() *Work...
FILE: ip_ranges.go
type IPRanges (line 16) | type IPRanges interface
type ipRanges (line 25) | type ipRanges struct
method Read (line 42) | func (i *ipRanges) Read(ctx context.Context, modifiedSince string) (*I...
type IPRange (line 30) | type IPRange struct
FILE: ip_ranges_integration_test.go
function TestIPRangesRead (line 15) | func TestIPRangesRead(t *testing.T) {
FILE: logreader.go
type LogReader (line 18) | type LogReader struct
method Read (line 29) | func (r *LogReader) Read(l []byte) (int, error) {
method read (line 49) | func (r *LogReader) read(l []byte) (int, error) {
function backoff (line 140) | func backoff(minimum, maximum float64, iter int) time.Duration {
FILE: logreader_integration_test.go
function checkedWrite (line 16) | func checkedWrite(t *testing.T, w io.Writer, message []byte) {
function testLogReader (line 23) | func testLogReader(t *testing.T, h http.HandlerFunc) (*httptest.Server, ...
function TestLogReader_withMarkersSingle (line 51) | func TestLogReader_withMarkersSingle(t *testing.T) {
function TestLogReader_withMarkersDouble (line 90) | func TestLogReader_withMarkersDouble(t *testing.T) {
function TestLogReader_withMarkersMulti (line 131) | func TestLogReader_withMarkersMulti(t *testing.T) {
function TestLogReader_withoutMarkers (line 178) | func TestLogReader_withoutMarkers(t *testing.T) {
function TestLogReader_withoutEndOfTextMarker (line 221) | func TestLogReader_withoutEndOfTextMarker(t *testing.T) {
FILE: mocks/admin_opa_version_mocks.go
type MockAdminOPAVersions (line 21) | type MockAdminOPAVersions struct
method EXPECT (line 39) | func (m *MockAdminOPAVersions) EXPECT() *MockAdminOPAVersionsMockRecor...
method Create (line 44) | func (m *MockAdminOPAVersions) Create(ctx context.Context, options tfe...
method Delete (line 59) | func (m *MockAdminOPAVersions) Delete(ctx context.Context, id string) ...
method List (line 73) | func (m *MockAdminOPAVersions) List(ctx context.Context, options *tfe....
method Read (line 88) | func (m *MockAdminOPAVersions) Read(ctx context.Context, id string) (*...
method Update (line 103) | func (m *MockAdminOPAVersions) Update(ctx context.Context, id string, ...
type MockAdminOPAVersionsMockRecorder (line 27) | type MockAdminOPAVersionsMockRecorder struct
method Create (line 53) | func (mr *MockAdminOPAVersionsMockRecorder) Create(ctx, options any) *...
method Delete (line 67) | func (mr *MockAdminOPAVersionsMockRecorder) Delete(ctx, id any) *gomoc...
method List (line 82) | func (mr *MockAdminOPAVersionsMockRecorder) List(ctx, options any) *go...
method Read (line 97) | func (mr *MockAdminOPAVersionsMockRecorder) Read(ctx, id any) *gomock....
method Update (line 112) | func (mr *MockAdminOPAVersionsMockRecorder) Update(ctx, id, options an...
function NewMockAdminOPAVersions (line 32) | func NewMockAdminOPAVersions(ctrl *gomock.Controller) *MockAdminOPAVersi...
FILE: mocks/admin_organization_mocks.go
type MockAdminOrganizations (line 21) | type MockAdminOrganizations struct
method EXPECT (line 39) | func (m *MockAdminOrganizations) EXPECT() *MockAdminOrganizationsMockR...
method Delete (line 44) | func (m *MockAdminOrganizations) Delete(ctx context.Context, organizat...
method List (line 58) | func (m *MockAdminOrganizations) List(ctx context.Context, options *tf...
method ListModuleConsumers (line 73) | func (m *MockAdminOrganizations) ListModuleConsumers(ctx context.Conte...
method Read (line 88) | func (m *MockAdminOrganizations) Read(ctx context.Context, organizatio...
method Update (line 103) | func (m *MockAdminOrganizations) Update(ctx context.Context, organizat...
method UpdateModuleConsumers (line 118) | func (m *MockAdminOrganizations) UpdateModuleConsumers(ctx context.Con...
type MockAdminOrganizationsMockRecorder (line 27) | type MockAdminOrganizationsMockRecorder struct
method Delete (line 52) | func (mr *MockAdminOrganizationsMockRecorder) Delete(ctx, organization...
method List (line 67) | func (mr *MockAdminOrganizationsMockRecorder) List(ctx, options any) *...
method ListModuleConsumers (line 82) | func (mr *MockAdminOrganizationsMockRecorder) ListModuleConsumers(ctx,...
method Read (line 97) | func (mr *MockAdminOrganizationsMockRecorder) Read(ctx, organization a...
method Update (line 112) | func (mr *MockAdminOrganizationsMockRecorder) Update(ctx, organization...
method UpdateModuleConsumers (line 126) | func (mr *MockAdminOrganizationsMockRecorder) UpdateModuleConsumers(ct...
function NewMockAdminOrganizations (line 32) | func NewMockAdminOrganizations(ctrl *gomock.Controller) *MockAdminOrgani...
FILE: mocks/admin_run_mocks.go
type MockAdminRuns (line 21) | type MockAdminRuns struct
method EXPECT (line 39) | func (m *MockAdminRuns) EXPECT() *MockAdminRunsMockRecorder {
method ForceCancel (line 44) | func (m *MockAdminRuns) ForceCancel(ctx context.Context, runID string,...
method List (line 58) | func (m *MockAdminRuns) List(ctx context.Context, options *tfe.AdminRu...
type MockAdminRunsMockRecorder (line 27) | type MockAdminRunsMockRecorder struct
method ForceCancel (line 52) | func (mr *MockAdminRunsMockRecorder) ForceCancel(ctx, runID, options a...
method List (line 67) | func (mr *MockAdminRunsMockRecorder) List(ctx, options any) *gomock.Ca...
function NewMockAdminRuns (line 32) | func NewMockAdminRuns(ctrl *gomock.Controller) *MockAdminRuns {
FILE: mocks/admin_sentinel_version_mocks.go
type MockAdminSentinelVersions (line 21) | type MockAdminSentinelVersions struct
method EXPECT (line 39) | func (m *MockAdminSentinelVersions) EXPECT() *MockAdminSentinelVersion...
method Create (line 44) | func (m *MockAdminSentinelVersions) Create(ctx context.Context, option...
method Delete (line 59) | func (m *MockAdminSentinelVersions) Delete(ctx context.Context, id str...
method List (line 73) | func (m *MockAdminSentinelVersions) List(ctx context.Context, options ...
method Read (line 88) | func (m *MockAdminSentinelVersions) Read(ctx context.Context, id strin...
method Update (line 103) | func (m *MockAdminSentinelVersions) Update(ctx context.Context, id str...
type MockAdminSentinelVersionsMockRecorder (line 27) | type MockAdminSentinelVersionsMockRecorder struct
method Create (line 53) | func (mr *MockAdminSentinelVersionsMockRecorder) Create(ctx, options a...
method Delete (line 67) | func (mr *MockAdminSentinelVersionsMockRecorder) Delete(ctx, id any) *...
method List (line 82) | func (mr *MockAdminSentinelVersionsMockRecorder) List(ctx, options any...
method Read (line 97) | func (mr *MockAdminSentinelVersionsMockRecorder) Read(ctx, id any) *go...
method Update (line 112) | func (mr *MockAdminSentinelVersionsMockRecorder) Update(ctx, id, optio...
function NewMockAdminSentinelVersions (line 32) | func NewMockAdminSentinelVersions(ctrl *gomock.Controller) *MockAdminSen...
FILE: mocks/admin_setting_cost_estimation_mocks.go
type MockCostEstimationSettings (line 21) | type MockCostEstimationSettings struct
method EXPECT (line 39) | func (m *MockCostEstimationSettings) EXPECT() *MockCostEstimationSetti...
method Read (line 44) | func (m *MockCostEstimationSettings) Read(ctx context.Context) (*tfe.A...
method Update (line 59) | func (m *MockCostEstimationSettings) Update(ctx context.Context, optio...
type MockCostEstimationSettingsMockRecorder (line 27) | type MockCostEstimationSettingsMockRecorder struct
method Read (line 53) | func (mr *MockCostEstimationSettingsMockRecorder) Read(ctx any) *gomoc...
method Update (line 68) | func (mr *MockCostEstimationSettingsMockRecorder) Update(ctx, options ...
function NewMockCostEstimationSettings (line 32) | func NewMockCostEstimationSettings(ctrl *gomock.Controller) *MockCostEst...
FILE: mocks/admin_setting_customization_mocks.go
type MockCustomizationSettings (line 21) | type MockCustomizationSettings struct
method EXPECT (line 39) | func (m *MockCustomizationSettings) EXPECT() *MockCustomizationSetting...
method Read (line 44) | func (m *MockCustomizationSettings) Read(ctx context.Context) (*tfe.Ad...
method Update (line 59) | func (m *MockCustomizationSettings) Update(ctx context.Context, option...
type MockCustomizationSettingsMockRecorder (line 27) | type MockCustomizationSettingsMockRecorder struct
method Read (line 53) | func (mr *MockCustomizationSettingsMockRecorder) Read(ctx any) *gomock...
method Update (line 68) | func (mr *MockCustomizationSettingsMockRecorder) Update(ctx, options a...
function NewMockCustomizationSettings (line 32) | func NewMockCustomizationSettings(ctrl *gomock.Controller) *MockCustomiz...
FILE: mocks/admin_setting_general_mocks.go
type MockGeneralSettings (line 21) | type MockGeneralSettings struct
method EXPECT (line 39) | func (m *MockGeneralSettings) EXPECT() *MockGeneralSettingsMockRecorder {
method Read (line 44) | func (m *MockGeneralSettings) Read(ctx context.Context) (*tfe.AdminGen...
method Update (line 59) | func (m *MockGeneralSettings) Update(ctx context.Context, options tfe....
type MockGeneralSettingsMockRecorder (line 27) | type MockGeneralSettingsMockRecorder struct
method Read (line 53) | func (mr *MockGeneralSettingsMockRecorder) Read(ctx any) *gomock.Call {
method Update (line 68) | func (mr *MockGeneralSettingsMockRecorder) Update(ctx, options any) *g...
function NewMockGeneralSettings (line 32) | func NewMockGeneralSettings(ctrl *gomock.Controller) *MockGeneralSettings {
FILE: mocks/admin_setting_oidc_mocks.go
type MockOIDCSettings (line 20) | type MockOIDCSettings struct
method EXPECT (line 38) | func (m *MockOIDCSettings) EXPECT() *MockOIDCSettingsMockRecorder {
method RotateKey (line 43) | func (m *MockOIDCSettings) RotateKey(ctx context.Context) error {
method TrimKey (line 57) | func (m *MockOIDCSettings) TrimKey(ctx context.Context) error {
type MockOIDCSettingsMockRecorder (line 26) | type MockOIDCSettingsMockRecorder struct
method RotateKey (line 51) | func (mr *MockOIDCSettingsMockRecorder) RotateKey(ctx any) *gomock.Call {
method TrimKey (line 65) | func (mr *MockOIDCSettingsMockRecorder) TrimKey(ctx any) *gomock.Call {
function NewMockOIDCSettings (line 31) | func NewMockOIDCSettings(ctrl *gomock.Controller) *MockOIDCSettings {
FILE: mocks/admin_setting_saml_mocks.go
type MockSAMLSettings (line 21) | type MockSAMLSettings struct
method EXPECT (line 39) | func (m *MockSAMLSettings) EXPECT() *MockSAMLSettingsMockRecorder {
method Read (line 44) | func (m *MockSAMLSettings) Read(ctx context.Context) (*tfe.AdminSAMLSe...
method RevokeIdpCert (line 59) | func (m *MockSAMLSettings) RevokeIdpCert(ctx context.Context) (*tfe.Ad...
method Update (line 74) | func (m *MockSAMLSettings) Update(ctx context.Context, options tfe.Adm...
type MockSAMLSettingsMockRecorder (line 27) | type MockSAMLSettingsMockRecorder struct
method Read (line 53) | func (mr *MockSAMLSettingsMockRecorder) Read(ctx any) *gomock.Call {
method RevokeIdpCert (line 68) | func (mr *MockSAMLSettingsMockRecorder) RevokeIdpCert(ctx any) *gomock...
method Update (line 83) | func (mr *MockSAMLSettingsMockRecorder) Update(ctx, options any) *gomo...
function NewMockSAMLSettings (line 32) | func NewMockSAMLSettings(ctrl *gomock.Controller) *MockSAMLSettings {
FILE: mocks/admin_setting_scim_groups_mocks.go
type MockAdminSCIMGroups (line 21) | type MockAdminSCIMGroups struct
method EXPECT (line 39) | func (m *MockAdminSCIMGroups) EXPECT() *MockAdminSCIMGroupsMockRecorder {
method List (line 44) | func (m *MockAdminSCIMGroups) List(ctx context.Context, options *tfe.A...
type MockAdminSCIMGroupsMockRecorder (line 27) | type MockAdminSCIMGroupsMockRecorder struct
method List (line 53) | func (mr *MockAdminSCIMGroupsMockRecorder) List(ctx, options any) *gom...
function NewMockAdminSCIMGroups (line 32) | func NewMockAdminSCIMGroups(ctrl *gomock.Controller) *MockAdminSCIMGroups {
FILE: mocks/admin_setting_scim_mocks.go
type MockSCIMSettings (line 21) | type MockSCIMSettings struct
method EXPECT (line 39) | func (m *MockSCIMSettings) EXPECT() *MockSCIMSettingsMockRecorder {
method Delete (line 44) | func (m *MockSCIMSettings) Delete(ctx context.Context) error {
method Read (line 58) | func (m *MockSCIMSettings) Read(ctx context.Context) (*tfe.AdminSCIMSe...
method Update (line 73) | func (m *MockSCIMSettings) Update(ctx context.Context, options tfe.Adm...
type MockSCIMSettingsMockRecorder (line 27) | type MockSCIMSettingsMockRecorder struct
method Delete (line 52) | func (mr *MockSCIMSettingsMockRecorder) Delete(ctx any) *gomock.Call {
method Read (line 67) | func (mr *MockSCIMSettingsMockRecorder) Read(ctx any) *gomock.Call {
method Update (line 82) | func (mr *MockSCIMSettingsMockRecorder) Update(ctx, options any) *gomo...
function NewMockSCIMSettings (line 32) | func NewMockSCIMSettings(ctrl *gomock.Controller) *MockSCIMSettings {
FILE: mocks/admin_setting_scim_token_mocks.go
type MockAdminSCIMTokens (line 21) | type MockAdminSCIMTokens struct
method EXPECT (line 39) | func (m *MockAdminSCIMTokens) EXPECT() *MockAdminSCIMTokensMockRecorder {
method Create (line 44) | func (m *MockAdminSCIMTokens) Create(ctx context.Context, description ...
method CreateWithOptions (line 59) | func (m *MockAdminSCIMTokens) CreateWithOptions(ctx context.Context, o...
method Delete (line 74) | func (m *MockAdminSCIMTokens) Delete(ctx context.Context, scimTokenID ...
method List (line 88) | func (m *MockAdminSCIMTokens) List(ctx context.Context) (*tfe.AdminSCI...
method Read (line 103) | func (m *MockAdminSCIMTokens) Read(ctx context.Context, scimTokenID st...
type MockAdminSCIMTokensMockRecorder (line 27) | type MockAdminSCIMTokensMockRecorder struct
method Create (line 53) | func (mr *MockAdminSCIMTokensMockRecorder) Create(ctx, description any...
method CreateWithOptions (line 68) | func (mr *MockAdminSCIMTokensMockRecorder) CreateWithOptions(ctx, opti...
method Delete (line 82) | func (mr *MockAdminSCIMTokensMockRecorder) Delete(ctx, scimTokenID any...
method List (line 97) | func (mr *MockAdminSCIMTokensMockRecorder) List(ctx any) *gomock.Call {
method Read (line 112) | func (mr *MockAdminSCIMTokensMockRecorder) Read(ctx, scimTokenID any) ...
function NewMockAdminSCIMTokens (line 32) | func NewMockAdminSCIMTokens(ctrl *gomock.Controller) *MockAdminSCIMTokens {
FILE: mocks/admin_setting_smtp_mocks.go
type MockSMTPSettings (line 21) | type MockSMTPSettings struct
method EXPECT (line 39) | func (m *MockSMTPSettings) EXPECT() *MockSMTPSettingsMockRecorder {
method Read (line 44) | func (m *MockSMTPSettings) Read(ctx context.Context) (*tfe.AdminSMTPSe...
method Update (line 59) | func (m *MockSMTPSettings) Update(ctx context.Context, options tfe.Adm...
type MockSMTPSettingsMockRecorder (line 27) | type MockSMTPSettingsMockRecorder struct
method Read (line 53) | func (mr *MockSMTPSettingsMockRecorder) Read(ctx any) *gomock.Call {
method Update (line 68) | func (mr *MockSMTPSettingsMockRecorder) Update(ctx, options any) *gomo...
function NewMockSMTPSettings (line 32) | func NewMockSMTPSettings(ctrl *gomock.Controller) *MockSMTPSettings {
FILE: mocks/admin_setting_twilio_mocks.go
type MockTwilioSettings (line 21) | type MockTwilioSettings struct
method EXPECT (line 39) | func (m *MockTwilioSettings) EXPECT() *MockTwilioSettingsMockRecorder {
method Read (line 44) | func (m *MockTwilioSettings) Read(ctx context.Context) (*tfe.AdminTwil...
method Update (line 59) | func (m *MockTwilioSettings) Update(ctx context.Context, options tfe.A...
method Verify (line 74) | func (m *MockTwilioSettings) Verify(ctx context.Context, options tfe.A...
type MockTwilioSettingsMockRecorder (line 27) | type MockTwilioSettingsMockRecorder struct
method Read (line 53) | func (mr *MockTwilioSettingsMockRecorder) Read(ctx any) *gomock.Call {
method Update (line 68) | func (mr *MockTwilioSettingsMockRecorder) Update(ctx, options any) *go...
method Verify (line 82) | func (mr *MockTwilioSettingsMockRecorder) Verify(ctx, options any) *go...
function NewMockTwilioSettings (line 32) | func NewMockTwilioSettings(ctrl *gomock.Controller) *MockTwilioSettings {
FILE: mocks/admin_terraform_version_mocks.go
type MockAdminTerraformVersions (line 21) | type MockAdminTerraformVersions struct
method EXPECT (line 39) | func (m *MockAdminTerraformVersions) EXPECT() *MockAdminTerraformVersi...
method Create (line 44) | func (m *MockAdminTerraformVersions) Create(ctx context.Context, optio...
method Delete (line 59) | func (m *MockAdminTerraformVersions) Delete(ctx context.Context, id st...
method List (line 73) | func (m *MockAdminTerraformVersions) List(ctx context.Context, options...
method Read (line 88) | func (m *MockAdminTerraformVersions) Read(ctx context.Context, id stri...
method Update (line 103) | func (m *MockAdminTerraformVersions) Update(ctx context.Context, id st...
type MockAdminTerraformVersionsMockRecorder (line 27) | type MockAdminTerraformVersionsMockRecorder struct
method Create (line 53) | func (mr *MockAdminTerraformVersionsMockRecorder) Create(ctx, options ...
method Delete (line 67) | func (mr *MockAdminTerraformVersionsMockRecorder) Delete(ctx, id any) ...
method List (line 82) | func (mr *MockAdminTerraformVersionsMockRecorder) List(ctx, options an...
method Read (line 97) | func (mr *MockAdminTerraformVersionsMockRecorder) Read(ctx, id any) *g...
method Update (line 112) | func (mr *MockAdminTerraformVersionsMockRecorder) Update(ctx, id, opti...
function NewMockAdminTerraformVersions (line 32) | func NewMockAdminTerraformVersions(ctrl *gomock.Controller) *MockAdminTe...
FILE: mocks/admin_user_mocks.go
type MockAdminUsers (line 21) | type MockAdminUsers struct
method EXPECT (line 39) | func (m *MockAdminUsers) EXPECT() *MockAdminUsersMockRecorder {
method Delete (line 44) | func (m *MockAdminUsers) Delete(ctx context.Context, userID string) er...
method Disable2FA (line 58) | func (m *MockAdminUsers) Disable2FA(ctx context.Context, userID string...
method GrantAdmin (line 73) | func (m *MockAdminUsers) GrantAdmin(ctx context.Context, userID string...
method List (line 88) | func (m *MockAdminUsers) List(ctx context.Context, options *tfe.AdminU...
method RevokeAdmin (line 103) | func (m *MockAdminUsers) RevokeAdmin(ctx context.Context, userID strin...
method Suspend (line 118) | func (m *MockAdminUsers) Suspend(ctx context.Context, userID string) (...
method Unsuspend (line 133) | func (m *MockAdminUsers) Unsuspend(ctx context.Context, userID string)...
type MockAdminUsersMockRecorder (line 27) | type MockAdminUsersMockRecorder struct
method Delete (line 52) | func (mr *MockAdminUsersMockRecorder) Delete(ctx, userID any) *gomock....
method Disable2FA (line 67) | func (mr *MockAdminUsersMockRecorder) Disable2FA(ctx, userID any) *gom...
method GrantAdmin (line 82) | func (mr *MockAdminUsersMockRecorder) GrantAdmin(ctx, userID any) *gom...
method List (line 97) | func (mr *MockAdminUsersMockRecorder) List(ctx, options any) *gomock.C...
method RevokeAdmin (line 112) | func (mr *MockAdminUsersMockRecorder) RevokeAdmin(ctx, userID any) *go...
method Suspend (line 127) | func (mr *MockAdminUsersMockRecorder) Suspend(ctx, userID any) *gomock...
method Unsuspend (line 142) | func (mr *MockAdminUsersMockRecorder) Unsuspend(ctx, userID any) *gomo...
function NewMockAdminUsers (line 32) | func NewMockAdminUsers(ctrl *gomock.Controller) *MockAdminUsers {
FILE: mocks/admin_workspace_mocks.go
type MockAdminWorkspaces (line 21) | type MockAdminWorkspaces struct
method EXPECT (line 39) | func (m *MockAdminWorkspaces) EXPECT() *MockAdminWorkspacesMockRecorder {
method Delete (line 44) | func (m *MockAdminWorkspaces) Delete(ctx context.Context, workspaceID ...
method List (line 58) | func (m *MockAdminWorkspaces) List(ctx context.Context, options *tfe.A...
method Read (line 73) | func (m *MockAdminWorkspaces) Read(ctx context.Context, workspaceID st...
type MockAdminWorkspacesMockRecorder (line 27) | type MockAdminWorkspacesMockRecorder struct
method Delete (line 52) | func (mr *MockAdminWorkspacesMockRecorder) Delete(ctx, workspaceID any...
method List (line 67) | func (mr *MockAdminWorkspacesMockRecorder) List(ctx, options any) *gom...
method Read (line 82) | func (mr *MockAdminWorkspacesMockRecorder) Read(ctx, workspaceID any) ...
function NewMockAdminWorkspaces (line 32) | func NewMockAdminWorkspaces(ctrl *gomock.Controller) *MockAdminWorkspaces {
FILE: mocks/agent_pool_mocks.go
type MockAgentPools (line 21) | type MockAgentPools struct
method EXPECT (line 39) | func (m *MockAgentPools) EXPECT() *MockAgentPoolsMockRecorder {
method Create (line 44) | func (m *MockAgentPools) Create(ctx context.Context, organization stri...
method Delete (line 59) | func (m *MockAgentPools) Delete(ctx context.Context, agentPoolID strin...
method List (line 73) | func (m *MockAgentPools) List(ctx context.Context, organization string...
method Read (line 88) | func (m *MockAgentPools) Read(ctx context.Context, agentPoolID string)...
method ReadWithOptions (line 103) | func (m *MockAgentPools) ReadWithOptions(ctx context.Context, agentPoo...
method Update (line 118) | func (m *MockAgentPools) Update(ctx context.Context, agentPool string,...
method UpdateAllowedProjects (line 133) | func (m *MockAgentPools) UpdateAllowedProjects(ctx context.Context, ag...
method UpdateAllowedWorkspaces (line 148) | func (m *MockAgentPools) UpdateAllowedWorkspaces(ctx context.Context, ...
method UpdateExcludedWorkspaces (line 163) | func (m *MockAgentPools) UpdateExcludedWorkspaces(ctx context.Context,...
type MockAgentPoolsMockRecorder (line 27) | type MockAgentPoolsMockRecorder struct
method Create (line 53) | func (mr *MockAgentPoolsMockRecorder) Create(ctx, organization, option...
method Delete (line 67) | func (mr *MockAgentPoolsMockRecorder) Delete(ctx, agentPoolID any) *go...
method List (line 82) | func (mr *MockAgentPoolsMockRecorder) List(ctx, organization, options ...
method Read (line 97) | func (mr *MockAgentPoolsMockRecorder) Read(ctx, agentPoolID any) *gomo...
method ReadWithOptions (line 112) | func (mr *MockAgentPoolsMockRecorder) ReadWithOptions(ctx, agentPoolID...
method Update (line 127) | func (mr *MockAgentPoolsMockRecorder) Update(ctx, agentPool, options a...
method UpdateAllowedProjects (line 142) | func (mr *MockAgentPoolsMockRecorder) UpdateAllowedProjects(ctx, agent...
method UpdateAllowedWorkspaces (line 157) | func (mr *MockAgentPoolsMockRecorder) UpdateAllowedWorkspaces(ctx, age...
method UpdateExcludedWorkspaces (line 172) | func (mr *MockAgentPoolsMockRecorder) UpdateExcludedWorkspaces(ctx, ag...
function NewMockAgentPools (line 32) | func NewMockAgentPools(ctrl *gomock.Controller) *MockAgentPools {
FILE: mocks/agent_token_mocks.go
type MockAgentTokens (line 21) | type MockAgentTokens struct
method EXPECT (line 39) | func (m *MockAgentTokens) EXPECT() *MockAgentTokensMockRecorder {
method Create (line 44) | func (m *MockAgentTokens) Create(ctx context.Context, agentPoolID stri...
method Delete (line 59) | func (m *MockAgentTokens) Delete(ctx context.Context, agentTokenID str...
method List (line 73) | func (m *MockAgentTokens) List(ctx context.Context, agentPoolID string...
method Read (line 88) | func (m *MockAgentTokens) Read(ctx context.Context, agentTokenID strin...
type MockAgentTokensMockRecorder (line 27) | type MockAgentTokensMockRecorder struct
method Create (line 53) | func (mr *MockAgentTokensMockRecorder) Create(ctx, agentPoolID, option...
method Delete (line 67) | func (mr *MockAgentTokensMockRecorder) Delete(ctx, agentTokenID any) *...
method List (line 82) | func (mr *MockAgentTokensMockRecorder) List(ctx, agentPoolID any) *gom...
method Read (line 97) | func (mr *MockAgentTokensMockRecorder) Read(ctx, agentTokenID any) *go...
function NewMockAgentTokens (line 32) | func NewMockAgentTokens(ctrl *gomock.Controller) *MockAgentTokens {
FILE: mocks/agents.go
type MockAgents (line 21) | type MockAgents struct
method EXPECT (line 39) | func (m *MockAgents) EXPECT() *MockAgentsMockRecorder {
method List (line 44) | func (m *MockAgents) List(ctx context.Context, agentPoolID string, opt...
method Read (line 59) | func (m *MockAgents) Read(ctx context.Context, agentID string) (*tfe.A...
type MockAgentsMockRecorder (line 27) | type MockAgentsMockRecorder struct
method List (line 53) | func (mr *MockAgentsMockRecorder) List(ctx, agentPoolID, options any) ...
method Read (line 68) | func (mr *MockAgentsMockRecorder) Read(ctx, agentID any) *gomock.Call {
function NewMockAgents (line 32) | func NewMockAgents(ctrl *gomock.Controller) *MockAgents {
FILE: mocks/apply_mocks.go
type MockApplies (line 22) | type MockApplies struct
method EXPECT (line 40) | func (m *MockApplies) EXPECT() *MockAppliesMockRecorder {
method Logs (line 45) | func (m *MockApplies) Logs(ctx context.Context, applyID string) (io.Re...
method Read (line 60) | func (m *MockApplies) Read(ctx context.Context, applyID string) (*tfe....
type MockAppliesMockRecorder (line 28) | type MockAppliesMockRecorder struct
method Logs (line 54) | func (mr *MockAppliesMockRecorder) Logs(ctx, applyID any) *gomock.Call {
method Read (line 69) | func (mr *MockAppliesMockRecorder) Read(ctx, applyID any) *gomock.Call {
function NewMockApplies (line 33) | func NewMockApplies(ctrl *gomock.Controller) *MockApplies {
FILE: mocks/audit_trail_mocks.go
type MockAuditTrails (line 21) | type MockAuditTrails struct
method EXPECT (line 39) | func (m *MockAuditTrails) EXPECT() *MockAuditTrailsMockRecorder {
method List (line 44) | func (m *MockAuditTrails) List(ctx context.Context, options *tfe.Audit...
type MockAuditTrailsMockRecorder (line 27) | type MockAuditTrailsMockRecorder struct
method List (line 53) | func (mr *MockAuditTrailsMockRecorder) List(ctx, options any) *gomock....
function NewMockAuditTrails (line 32) | func NewMockAuditTrails(ctrl *gomock.Controller) *MockAuditTrails {
FILE: mocks/comment_mocks.go
type MockComments (line 21) | type MockComments struct
method EXPECT (line 39) | func (m *MockComments) EXPECT() *MockCommentsMockRecorder {
method Create (line 44) | func (m *MockComments) Create(ctx context.Context, runID string, optio...
method List (line 59) | func (m *MockComments) List(ctx context.Context, runID string) (*tfe.C...
method Read (line 74) | func (m *MockComments) Read(ctx context.Context, commentID string) (*t...
type MockCommentsMockRecorder (line 27) | type MockCommentsMockRecorder struct
method Create (line 53) | func (mr *MockCommentsMockRecorder) Create(ctx, runID, options any) *g...
method List (line 68) | func (mr *MockCommentsMockRecorder) List(ctx, runID any) *gomock.Call {
method Read (line 83) | func (mr *MockCommentsMockRecorder) Read(ctx, commentID any) *gomock.C...
function NewMockComments (line 32) | func NewMockComments(ctrl *gomock.Controller) *MockComments {
FILE: mocks/configuration_version_mocks.go
type MockConfigurationVersions (line 22) | type MockConfigurationVersions struct
method EXPECT (line 40) | func (m *MockConfigurationVersions) EXPECT() *MockConfigurationVersion...
method Archive (line 45) | func (m *MockConfigurationVersions) Archive(ctx context.Context, cvID ...
method Create (line 59) | func (m *MockConfigurationVersions) Create(ctx context.Context, worksp...
method CreateForRegistryModule (line 74) | func (m *MockConfigurationVersions) CreateForRegistryModule(ctx contex...
method Download (line 89) | func (m *MockConfigurationVersions) Download(ctx context.Context, cvID...
method List (line 104) | func (m *MockConfigurationVersions) List(ctx context.Context, workspac...
method PermanentlyDeleteBackingData (line 119) | func (m *MockConfigurationVersions) PermanentlyDeleteBackingData(ctx c...
method Read (line 133) | func (m *MockConfigurationVersions) Read(ctx context.Context, cvID str...
method ReadWithOptions (line 148) | func (m *MockConfigurationVersions) ReadWithOptions(ctx context.Contex...
method RestoreBackingData (line 163) | func (m *MockConfigurationVersions) RestoreBackingData(ctx context.Con...
method SoftDeleteBackingData (line 177) | func (m *MockConfigurationVersions) SoftDeleteBackingData(ctx context....
method Upload (line 191) | func (m *MockConfigurationVersions) Upload(ctx context.Context, url, p...
method UploadTarGzip (line 205) | func (m *MockConfigurationVersions) UploadTarGzip(ctx context.Context,...
type MockConfigurationVersionsMockRecorder (line 28) | type MockConfigurationVersionsMockRecorder struct
method Archive (line 53) | func (mr *MockConfigurationVersionsMockRecorder) Archive(ctx, cvID any...
method Create (line 68) | func (mr *MockConfigurationVersionsMockRecorder) Create(ctx, workspace...
method CreateForRegistryModule (line 83) | func (mr *MockConfigurationVersionsMockRecorder) CreateForRegistryModu...
method Download (line 98) | func (mr *MockConfigurationVersionsMockRecorder) Download(ctx, cvID an...
method List (line 113) | func (mr *MockConfigurationVersionsMockRecorder) List(ctx, workspaceID...
method PermanentlyDeleteBackingData (line 127) | func (mr *MockConfigurationVersionsMockRecorder) PermanentlyDeleteBack...
method Read (line 142) | func (mr *MockConfigurationVersionsMockRecorder) Read(ctx, cvID any) *...
method ReadWithOptions (line 157) | func (mr *MockConfigurationVersionsMockRecorder) ReadWithOptions(ctx, ...
method RestoreBackingData (line 171) | func (mr *MockConfigurationVersionsMockRecorder) RestoreBackingData(ct...
method SoftDeleteBackingData (line 185) | func (mr *MockConfigurationVersionsMockRecorder) SoftDeleteBackingData...
method Upload (line 199) | func (mr *MockConfigurationVersionsMockRecorder) Upload(ctx, url, path...
method UploadTarGzip (line 213) | func (mr *MockConfigurationVersionsMockRecorder) UploadTarGzip(ctx, ur...
function NewMockConfigurationVersions (line 33) | func NewMockConfigurationVersions(ctrl *gomock.Controller) *MockConfigur...
FILE: mocks/cost_estimate_mocks.go
type MockCostEstimates (line 22) | type MockCostEstimates struct
method EXPECT (line 40) | func (m *MockCostEstimates) EXPECT() *MockCostEstimatesMockRecorder {
method Logs (line 45) | func (m *MockCostEstimates) Logs(ctx context.Context, costEstimateID s...
method Read (line 60) | func (m *MockCostEstimates) Read(ctx context.Context, costEstimateID s...
type MockCostEstimatesMockRecorder (line 28) | type MockCostEstimatesMockRecorder struct
method Logs (line 54) | func (mr *MockCostEstimatesMockRecorder) Logs(ctx, costEstimateID any)...
method Read (line 69) | func (mr *MockCostEstimatesMockRecorder) Read(ctx, costEstimateID any)...
function NewMockCostEstimates (line 33) | func NewMockCostEstimates(ctrl *gomock.Controller) *MockCostEstimates {
FILE: mocks/github_app_installation_mocks.go
type MockGHAInstallations (line 21) | type MockGHAInstallations struct
method EXPECT (line 39) | func (m *MockGHAInstallations) EXPECT() *MockGHAInstallationsMockRecor...
method List (line 44) | func (m *MockGHAInstallations) List(ctx context.Context, options *tfe....
method Read (line 59) | func (m *MockGHAInstallations) Read(ctx context.Context, GHAInstallati...
type MockGHAInstallationsMockRecorder (line 27) | type MockGHAInstallationsMockRecorder struct
method List (line 53) | func (mr *MockGHAInstallationsMockRecorder) List(ctx, options any) *go...
method Read (line 68) | func (mr *MockGHAInstallationsMockRecorder) Read(ctx, GHAInstallationI...
function NewMockGHAInstallations (line 32) | func NewMockGHAInstallations(ctrl *gomock.Controller) *MockGHAInstallati...
FILE: mocks/gpg_key_mocks.go
type MockGPGKeys (line 21) | type MockGPGKeys struct
method EXPECT (line 39) | func (m *MockGPGKeys) EXPECT() *MockGPGKeysMockRecorder {
method Create (line 44) | func (m *MockGPGKeys) Create(ctx context.Context, registryName tfe.Reg...
method Delete (line 59) | func (m *MockGPGKeys) Delete(ctx context.Context, keyID tfe.GPGKeyID) ...
method ListPrivate (line 73) | func (m *MockGPGKeys) ListPrivate(ctx context.Context, options tfe.GPG...
method Read (line 88) | func (m *MockGPGKeys) Read(ctx context.Context, keyID tfe.GPGKeyID) (*...
method Update (line 103) | func (m *MockGPGKeys) Update(ctx context.Context, keyID tfe.GPGKeyID, ...
type MockGPGKeysMockRecorder (line 27) | type MockGPGKeysMockRecorder struct
method Create (line 53) | func (mr *MockGPGKeysMockRecorder) Create(ctx, registryName, options a...
method Delete (line 67) | func (mr *MockGPGKeysMockRecorder) Delete(ctx, keyID any) *gomock.Call {
method ListPrivate (line 82) | func (mr *MockGPGKeysMockRecorder) ListPrivate(ctx, options any) *gomo...
method Read (line 97) | func (mr *MockGPGKeysMockRecorder) Read(ctx, keyID any) *gomock.Call {
method Update (line 112) | func (mr *MockGPGKeysMockRecorder) Update(ctx, keyID, options any) *go...
function NewMockGPGKeys (line 32) | func NewMockGPGKeys(ctrl *gomock.Controller) *MockGPGKeys {
FILE: mocks/ip_ranges_mocks.go
type MockIPRanges (line 21) | type MockIPRanges struct
method EXPECT (line 39) | func (m *MockIPRanges) EXPECT() *MockIPRangesMockRecorder {
method Read (line 44) | func (m *MockIPRanges) Read(ctx context.Context, modifiedSince string)...
type MockIPRangesMockRecorder (line 27) | type MockIPRangesMockRecorder struct
method Read (line 53) | func (mr *MockIPRangesMockRecorder) Read(ctx, modifiedSince any) *gomo...
function NewMockIPRanges (line 32) | func NewMockIPRanges(ctrl *gomock.Controller) *MockIPRanges {
FILE: mocks/notification_configuration_mocks.go
type MockNotificationConfigurations (line 21) | type MockNotificationConfigurations struct
method EXPECT (line 39) | func (m *MockNotificationConfigurations) EXPECT() *MockNotificationCon...
method Create (line 44) | func (m *MockNotificationConfigurations) Create(ctx context.Context, s...
method Delete (line 59) | func (m *MockNotificationConfigurations) Delete(ctx context.Context, n...
method List (line 73) | func (m *MockNotificationConfigurations) List(ctx context.Context, sub...
method Read (line 88) | func (m *MockNotificationConfigurations) Read(ctx context.Context, not...
method Update (line 103) | func (m *MockNotificationConfigurations) Update(ctx context.Context, n...
method Verify (line 118) | func (m *MockNotificationConfigurations) Verify(ctx context.Context, n...
type MockNotificationConfigurationsMockRecorder (line 27) | type MockNotificationConfigurationsMockRecorder struct
method Create (line 53) | func (mr *MockNotificationConfigurationsMockRecorder) Create(ctx, subs...
method Delete (line 67) | func (mr *MockNotificationConfigurationsMockRecorder) Delete(ctx, noti...
method List (line 82) | func (mr *MockNotificationConfigurationsMockRecorder) List(ctx, subscr...
method Read (line 97) | func (mr *MockNotificationConfigurationsMockRecorder) Read(ctx, notifi...
method Update (line 112) | func (mr *MockNotificationConfigurationsMockRecorder) Update(ctx, noti...
method Verify (line 127) | func (mr *MockNotificationConfigurationsMockRecorder) Verify(ctx, noti...
function NewMockNotificationConfigurations (line 32) | func NewMockNotificationConfigurations(ctrl *gomock.Controller) *MockNot...
FILE: mocks/oauth_client_mocks.go
type MockOAuthClients (line 21) | type MockOAuthClients struct
method EXPECT (line 39) | func (m *MockOAuthClients) EXPECT() *MockOAuthClientsMockRecorder {
method AddProjects (line 44) | func (m *MockOAuthClients) AddProjects(ctx context.Context, oAuthClien...
method Create (line 58) | func (m *MockOAuthClients) Create(ctx context.Context, organization st...
method Delete (line 73) | func (m *MockOAuthClients) Delete(ctx context.Context, oAuthClientID s...
method List (line 87) | func (m *MockOAuthClients) List(ctx context.Context, organization stri...
method Read (line 102) | func (m *MockOAuthClients) Read(ctx context.Context, oAuthClientID str...
method ReadWithOptions (line 117) | func (m *MockOAuthClients) ReadWithOptions(ctx context.Context, oAuthC...
method RemoveProjects (line 132) | func (m *MockOAuthClients) RemoveProjects(ctx context.Context, oAuthCl...
method Update (line 146) | func (m *MockOAuthClients) Update(ctx context.Context, oAuthClientID s...
type MockOAuthClientsMockRecorder (line 27) | type MockOAuthClientsMockRecorder struct
method AddProjects (line 52) | func (mr *MockOAuthClientsMockRecorder) AddProjects(ctx, oAuthClientID...
method Create (line 67) | func (mr *MockOAuthClientsMockRecorder) Create(ctx, organization, opti...
method Delete (line 81) | func (mr *MockOAuthClientsMockRecorder) Delete(ctx, oAuthClientID any)...
method List (line 96) | func (mr *MockOAuthClientsMockRecorder) List(ctx, organization, option...
method Read (line 111) | func (mr *MockOAuthClientsMockRecorder) Read(ctx, oAuthClientID any) *...
method ReadWithOptions (line 126) | func (mr *MockOAuthClientsMockRecorder) ReadWithOptions(ctx, oAuthClie...
method RemoveProjects (line 140) | func (mr *MockOAuthClientsMockRecorder) RemoveProjects(ctx, oAuthClien...
method Update (line 155) | func (mr *MockOAuthClientsMockRecorder) Update(ctx, oAuthClientID, opt...
function NewMockOAuthClients (line 32) | func NewMockOAuthClients(ctrl *gomock.Controller) *MockOAuthClients {
FILE: mocks/oauth_token_mocks.go
type MockOAuthTokens (line 21) | type MockOAuthTokens struct
method EXPECT (line 39) | func (m *MockOAuthTokens) EXPECT() *MockOAuthTokensMockRecorder {
method Delete (line 44) | func (m *MockOAuthTokens) Delete(ctx context.Context, oAuthTokenID str...
method List (line 58) | func (m *MockOAuthTokens) List(ctx context.Context, organization strin...
method Read (line 73) | func (m *MockOAuthTokens) Read(ctx context.Context, oAuthTokenID strin...
method Update (line 88) | func (m *MockOAuthTokens) Update(ctx context.Context, oAuthTokenID str...
type MockOAuthTokensMockRecorder (line 27) | type MockOAuthTokensMockRecorder struct
method Delete (line 52) | func (mr *MockOAuthTokensMockRecorder) Delete(ctx, oAuthTokenID any) *...
method List (line 67) | func (mr *MockOAuthTokensMockRecorder) List(ctx, organization, options...
method Read (line 82) | func (mr *MockOAuthTokensMockRecorder) Read(ctx, oAuthTokenID any) *go...
method Update (line 97) | func (mr *MockOAuthTokensMockRecorder) Update(ctx, oAuthTokenID, optio...
function NewMockOAuthTokens (line 32) | func NewMockOAuthTokens(ctrl *gomock.Controller) *MockOAuthTokens {
FILE: mocks/organization_membership_mocks.go
type MockOrganizationMemberships (line 21) | type MockOrganizationMemberships struct
method EXPECT (line 39) | func (m *MockOrganizationMemberships) EXPECT() *MockOrganizationMember...
method Create (line 44) | func (m *MockOrganizationMemberships) Create(ctx context.Context, orga...
method Delete (line 59) | func (m *MockOrganizationMemberships) Delete(ctx context.Context, orga...
method List (line 73) | func (m *MockOrganizationMemberships) List(ctx context.Context, organi...
method Read (line 88) | func (m *MockOrganizationMemberships) Read(ctx context.Context, organi...
method ReadWithOptions (line 103) | func (m *MockOrganizationMemberships) ReadWithOptions(ctx context.Cont...
type MockOrganizationMembershipsMockRecorder (line 27) | type MockOrganizationMembershipsMockRecorder struct
method Create (line 53) | func (mr *MockOrganizationMembershipsMockRecorder) Create(ctx, organiz...
method Delete (line 67) | func (mr *MockOrganizationMembershipsMockRecorder) Delete(ctx, organiz...
method List (line 82) | func (mr *MockOrganizationMembershipsMockRecorder) List(ctx, organizat...
method Read (line 97) | func (mr *MockOrganizationMembershipsMockRecorder) Read(ctx, organizat...
method ReadWithOptions (line 112) | func (mr *MockOrganizationMembershipsMockRecorder) ReadWithOptions(ctx...
function NewMockOrganizationMemberships (line 32) | func NewMockOrganizationMemberships(ctrl *gomock.Controller) *MockOrgani...
FILE: mocks/organization_mocks.go
type MockOrganizations (line 21) | type MockOrganizations struct
method EXPECT (line 39) | func (m *MockOrganizations) EXPECT() *MockOrganizationsMockRecorder {
method Create (line 44) | func (m *MockOrganizations) Create(ctx context.Context, options tfe.Or...
method Delete (line 59) | func (m *MockOrganizations) Delete(ctx context.Context, organization s...
method DeleteDataRetentionPolicy (line 73) | func (m *MockOrganizations) DeleteDataRetentionPolicy(ctx context.Cont...
method List (line 87) | func (m *MockOrganizations) List(ctx context.Context, options *tfe.Org...
method Read (line 102) | func (m *MockOrganizations) Read(ctx context.Context, organization str...
method ReadCapacity (line 117) | func (m *MockOrganizations) ReadCapacity(ctx context.Context, organiza...
method ReadDataRetentionPolicy (line 132) | func (m *MockOrganizations) ReadDataRetentionPolicy(ctx context.Contex...
method ReadDataRetentionPolicyChoice (line 147) | func (m *MockOrganizations) ReadDataRetentionPolicyChoice(ctx context....
method ReadEntitlements (line 162) | func (m *MockOrganizations) ReadEntitlements(ctx context.Context, orga...
method ReadRunQueue (line 177) | func (m *MockOrganizations) ReadRunQueue(ctx context.Context, organiza...
method ReadWithOptions (line 192) | func (m *MockOrganizations) ReadWithOptions(ctx context.Context, organ...
method SetDataRetentionPolicy (line 207) | func (m *MockOrganizations) SetDataRetentionPolicy(ctx context.Context...
method SetDataRetentionPolicyDeleteOlder (line 222) | func (m *MockOrganizations) SetDataRetentionPolicyDeleteOlder(ctx cont...
method SetDataRetentionPolicyDontDelete (line 237) | func (m *MockOrganizations) SetDataRetentionPolicyDontDelete(ctx conte...
method Update (line 252) | func (m *MockOrganizations) Update(ctx context.Context, organization s...
type MockOrganizationsMockRecorder (line 27) | type MockOrganizationsMockRecorder struct
method Create (line 53) | func (mr *MockOrganizationsMockRecorder) Create(ctx, options any) *gom...
method Delete (line 67) | func (mr *MockOrganizationsMockRecorder) Delete(ctx, organization any)...
method DeleteDataRetentionPolicy (line 81) | func (mr *MockOrganizationsMockRecorder) DeleteDataRetentionPolicy(ctx...
method List (line 96) | func (mr *MockOrganizationsMockRecorder) List(ctx, options any) *gomoc...
method Read (line 111) | func (mr *MockOrganizationsMockRecorder) Read(ctx, organization any) *...
method ReadCapacity (line 126) | func (mr *MockOrganizationsMockRecorder) ReadCapacity(ctx, organizatio...
method ReadDataRetentionPolicy (line 141) | func (mr *MockOrganizationsMockRecorder) ReadDataRetentionPolicy(ctx, ...
method ReadDataRetentionPolicyChoice (line 156) | func (mr *MockOrganizationsMockRecorder) ReadDataRetentionPolicyChoice...
method ReadEntitlements (line 171) | func (mr *MockOrganizationsMockRecorder) ReadEntitlements(ctx, organiz...
method ReadRunQueue (line 186) | func (mr *MockOrganizationsMockRecorder) ReadRunQueue(ctx, organizatio...
method ReadWithOptions (line 201) | func (mr *MockOrganizationsMockRecorder) ReadWithOptions(ctx, organiza...
method SetDataRetentionPolicy (line 216) | func (mr *MockOrganizationsMockRecorder) SetDataRetentionPolicy(ctx, o...
method SetDataRetentionPolicyDeleteOlder (line 231) | func (mr *MockOrganizationsMockRecorder) SetDataRetentionPolicyDeleteO...
method SetDataRetentionPolicyDontDelete (line 246) | func (mr *MockOrganizationsMockRecorder) SetDataRetentionPolicyDontDel...
method Update (line 261) | func (mr *MockOrganizationsMockRecorder) Update(ctx, organization, opt...
function NewMockOrganizations (line 32) | func NewMockOrganizations(ctrl *gomock.Controller) *MockOrganizations {
FILE: mocks/organization_token_mocks.go
type MockOrganizationTokens (line 21) | type MockOrganizationTokens struct
method EXPECT (line 39) | func (m *MockOrganizationTokens) EXPECT() *MockOrganizationTokensMockR...
method Create (line 44) | func (m *MockOrganizationTokens) Create(ctx context.Context, organizat...
method CreateWithOptions (line 59) | func (m *MockOrganizationTokens) CreateWithOptions(ctx context.Context...
method Delete (line 74) | func (m *MockOrganizationTokens) Delete(ctx context.Context, organizat...
method DeleteWithOptions (line 88) | func (m *MockOrganizationTokens) DeleteWithOptions(ctx context.Context...
method Read (line 102) | func (m *MockOrganizationTokens) Read(ctx context.Context, organizatio...
method ReadWithOptions (line 117) | func (m *MockOrganizationTokens) ReadWithOptions(ctx context.Context, ...
type MockOrganizationTokensMockRecorder (line 27) | type MockOrganizationTokensMockRecorder struct
method Create (line 53) | func (mr *MockOrganizationTokensMockRecorder) Create(ctx, organization...
method CreateWithOptions (line 68) | func (mr *MockOrganizationTokensMockRecorder) CreateWithOptions(ctx, o...
method Delete (line 82) | func (mr *MockOrganizationTokensMockRecorder) Delete(ctx, organization...
method DeleteWithOptions (line 96) | func (mr *MockOrganizationTokensMockRecorder) DeleteWithOptions(ctx, o...
method Read (line 111) | func (mr *MockOrganizationTokensMockRecorder) Read(ctx, organization a...
method ReadWithOptions (line 126) | func (mr *MockOrganizationTokensMockRecorder) ReadWithOptions(ctx, org...
function NewMockOrganizationTokens (line 32) | func NewMockOrganizationTokens(ctrl *gomock.Controller) *MockOrganizatio...
FILE: mocks/plan_export_mocks.go
type MockPlanExports (line 21) | type MockPlanExports struct
method EXPECT (line 39) | func (m *MockPlanExports) EXPECT() *MockPlanExportsMockRecorder {
method Create (line 44) | func (m *MockPlanExports) Create(ctx context.Context, options tfe.Plan...
method Delete (line 59) | func (m *MockPlanExports) Delete(ctx context.Context, planExportID str...
method Download (line 73) | func (m *MockPlanExports) Download(ctx context.Context, planExportID s...
method Read (line 88) | func (m *MockPlanExports) Read(ctx context.Context, planExportID strin...
type MockPlanExportsMockRecorder (line 27) | type MockPlanExportsMockRecorder struct
method Create (line 53) | func (mr *MockPlanExportsMockRecorder) Create(ctx, options any) *gomoc...
method Delete (line 67) | func (mr *MockPlanExportsMockRecorder) Delete(ctx, planExportID any) *...
method Download (line 82) | func (mr *MockPlanExportsMockRecorder) Download(ctx, planExportID any)...
method Read (line 97) | func (mr *MockPlanExportsMockRecorder) Read(ctx, planExportID any) *go...
function NewMockPlanExports (line 32) | func NewMockPlanExports(ctrl *gomock.Controller) *MockPlanExports {
FILE: mocks/plan_mocks.go
type MockPlans (line 22) | type MockPlans struct
method EXPECT (line 40) | func (m *MockPlans) EXPECT() *MockPlansMockRecorder {
method Logs (line 45) | func (m *MockPlans) Logs(ctx context.Context, planID string) (io.Reade...
method Read (line 60) | func (m *MockPlans) Read(ctx context.Context, planID string) (*tfe.Pla...
method ReadJSONOutput (line 75) | func (m *MockPlans) ReadJSONOutput(ctx context.Context, planID string)...
type MockPlansMockRecorder (line 28) | type MockPlansMockRecorder struct
method Logs (line 54) | func (mr *MockPlansMockRecorder) Logs(ctx, planID any) *gomock.Call {
method Read (line 69) | func (mr *MockPlansMockRecorder) Read(ctx, planID any) *gomock.Call {
method ReadJSONOutput (line 84) | func (mr *MockPlansMockRecorder) ReadJSONOutput(ctx, planID any) *gomo...
function NewMockPlans (line 33) | func NewMockPlans(ctrl *gomock.Controller) *MockPlans {
FILE: mocks/policy_check_mocks.go
type MockPolicyChecks (line 22) | type MockPolicyChecks struct
method EXPECT (line 40) | func (m *MockPolicyChecks) EXPECT() *MockPolicyChecksMockRecorder {
method List (line 45) | func (m *MockPolicyChecks) List(ctx context.Context, runID string, opt...
method Logs (line 60) | func (m *MockPolicyChecks) Logs(ctx context.Context, policyCheckID str...
method Override (line 75) | func (m *MockPolicyChecks) Override(ctx context.Context, policyCheckID...
method Read (line 90) | func (m *MockPolicyChecks) Read(ctx context.Context, policyCheckID str...
type MockPolicyChecksMockRecorder (line 28) | type MockPolicyChecksMockRecorder struct
method List (line 54) | func (mr *MockPolicyChecksMockRecorder) List(ctx, runID, options any) ...
method Logs (line 69) | func (mr *MockPolicyChecksMockRecorder) Logs(ctx, policyCheckID any) *...
method Override (line 84) | func (mr *MockPolicyChecksMockRecorder) Override(ctx, policyCheckID an...
method Read (line 99) | func (mr *MockPolicyChecksMockRecorder) Read(ctx, policyCheckID any) *...
function NewMockPolicyChecks (line 33) | func NewMockPolicyChecks(ctrl *gomock.Controller) *MockPolicyChecks {
FILE: mocks/policy_evaluation.go
type MockPolicyEvaluations (line 21) | type MockPolicyEvaluations struct
method EXPECT (line 39) | func (m *MockPolicyEvaluations) EXPECT() *MockPolicyEvaluationsMockRec...
method List (line 44) | func (m *MockPolicyEvaluations) List(ctx context.Context, taskStageID ...
type MockPolicyEvaluationsMockRecorder (line 27) | type MockPolicyEvaluationsMockRecorder struct
method List (line 53) | func (mr *MockPolicyEvaluationsMockRecorder) List(ctx, taskStageID, op...
function NewMockPolicyEvaluations (line 32) | func NewMockPolicyEvaluations(ctrl *gomock.Controller) *MockPolicyEvalua...
type MockPolicySetOutcomes (line 59) | type MockPolicySetOutcomes struct
method EXPECT (line 77) | func (m *MockPolicySetOutcomes) EXPECT() *MockPolicySetOutcomesMockRec...
method List (line 82) | func (m *MockPolicySetOutcomes) List(ctx context.Context, policyEvalua...
method Read (line 97) | func (m *MockPolicySetOutcomes) Read(ctx context.Context, policySetOut...
type MockPolicySetOutcomesMockRecorder (line 65) | type MockPolicySetOutcomesMockRecorder struct
method List (line 91) | func (mr *MockPolicySetOutcomesMockRecorder) List(ctx, policyEvaluatio...
method Read (line 106) | func (mr *MockPolicySetOutcomesMockRecorder) Read(ctx, policySetOutcom...
function NewMockPolicySetOutcomes (line 70) | func NewMockPolicySetOutcomes(ctrl *gomock.Controller) *MockPolicySetOut...
FILE: mocks/policy_mocks.go
type MockPolicies (line 21) | type MockPolicies struct
method EXPECT (line 39) | func (m *MockPolicies) EXPECT() *MockPoliciesMockRecorder {
method Create (line 44) | func (m *MockPolicies) Create(ctx context.Context, organization string...
method Delete (line 59) | func (m *MockPolicies) Delete(ctx context.Context, policyID string) er...
method Download (line 73) | func (m *MockPolicies) Download(ctx context.Context, policyID string) ...
method List (line 88) | func (m *MockPolicies) List(ctx context.Context, organization string, ...
method Read (line 103) | func (m *MockPolicies) Read(ctx context.Context, policyID string) (*tf...
method Update (line 118) | func (m *MockPolicies) Update(ctx context.Context, policyID string, op...
method Upload (line 133) | func (m *MockPolicies) Upload(ctx context.Context, policyID string, co...
type MockPoliciesMockRecorder (line 27) | type MockPoliciesMockRecorder struct
method Create (line 53) | func (mr *MockPoliciesMockRecorder) Create(ctx, organization, options ...
method Delete (line 67) | func (mr *MockPoliciesMockRecorder) Delete(ctx, policyID any) *gomock....
method Download (line 82) | func (mr *MockPoliciesMockRecorder) Download(ctx, policyID any) *gomoc...
method List (line 97) | func (mr *MockPoliciesMockRecorder) List(ctx, organization, options an...
method Read (line 112) | func (mr *MockPoliciesMockRecorder) Read(ctx, policyID any) *gomock.Ca...
method Update (line 127) | func (mr *MockPoliciesMockRecorder) Update(ctx, policyID, options any)...
method Upload (line 141) | func (mr *MockPoliciesMockRecorder) Upload(ctx, policyID, content any)...
function NewMockPolicies (line 32) | func NewMockPolicies(ctrl *gomock.Controller) *MockPolicies {
FILE: mocks/policy_set_mocks.go
type MockPolicySets (line 21) | type MockPolicySets struct
method EXPECT (line 39) | func (m *MockPolicySets) EXPECT() *MockPolicySetsMockRecorder {
method AddPolicies (line 44) | func (m *MockPolicySets) AddPolicies(ctx context.Context, policySetID ...
method AddProjectExclusions (line 58) | func (m *MockPolicySets) AddProjectExclusions(ctx context.Context, pol...
method AddProjects (line 72) | func (m *MockPolicySets) AddProjects(ctx context.Context, policySetID ...
method AddWorkspaceExclusions (line 86) | func (m *MockPolicySets) AddWorkspaceExclusions(ctx context.Context, p...
method AddWorkspaces (line 100) | func (m *MockPolicySets) AddWorkspaces(ctx context.Context, policySetI...
method Create (line 114) | func (m *MockPolicySets) Create(ctx context.Context, organization stri...
method Delete (line 129) | func (m *MockPolicySets) Delete(ctx context.Context, policyID string) ...
method List (line 143) | func (m *MockPolicySets) List(ctx context.Context, organization string...
method Read (line 158) | func (m *MockPolicySets) Read(ctx context.Context, policySetID string)...
method ReadWithOptions (line 173) | func (m *MockPolicySets) ReadWithOptions(ctx context.Context, policySe...
method RemovePolicies (line 188) | func (m *MockPolicySets) RemovePolicies(ctx context.Context, policySet...
method RemoveProjectExclusions (line 202) | func (m *MockPolicySets) RemoveProjectExclusions(ctx context.Context, ...
method RemoveProjects (line 216) | func (m *MockPolicySets) RemoveProjects(ctx context.Context, policySet...
method RemoveWorkspaceExclusions (line 230) | func (m *MockPolicySets) RemoveWorkspaceExclusions(ctx context.Context...
method RemoveWorkspaces (line 244) | func (m *MockPolicySets) RemoveWorkspaces(ctx context.Context, policyS...
method Update (line 258) | func (m *MockPolicySets) Update(ctx context.Context, policySetID strin...
type MockPolicySetsMockRecorder (line 27) | type MockPolicySetsMockRecorder struct
method AddPolicies (line 52) | func (mr *MockPolicySetsMockRecorder) AddPolicies(ctx, policySetID, op...
method AddProjectExclusions (line 66) | func (mr *MockPolicySetsMockRecorder) AddProjectExclusions(ctx, policy...
method AddProjects (line 80) | func (mr *MockPolicySetsMockRecorder) AddProjects(ctx, policySetID, op...
method AddWorkspaceExclusions (line 94) | func (mr *MockPolicySetsMockRecorder) AddWorkspaceExclusions(ctx, poli...
method AddWorkspaces (line 108) | func (mr *MockPolicySetsMockRecorder) AddWorkspaces(ctx, policySetID, ...
method Create (line 123) | func (mr *MockPolicySetsMockRecorder) Create(ctx, organization, option...
method Delete (line 137) | func (mr *MockPolicySetsMockRecorder) Delete(ctx, policyID any) *gomoc...
method List (line 152) | func (mr *MockPolicySetsMockRecorder) List(ctx, organization, options ...
method Read (line 167) | func (mr *MockPolicySetsMockRecorder) Read(ctx, policySetID any) *gomo...
method ReadWithOptions (line 182) | func (mr *MockPolicySetsMockRecorder) ReadWithOptions(ctx, policySetID...
method RemovePolicies (line 196) | func (mr *MockPolicySetsMockRecorder) RemovePolicies(ctx, policySetID,...
method RemoveProjectExclusions (line 210) | func (mr *MockPolicySetsMockRecorder) RemoveProjectExclusions(ctx, pol...
method RemoveProjects (line 224) | func (mr *MockPolicySetsMockRecorder) RemoveProjects(ctx, policySetID,...
method RemoveWorkspaceExclusions (line 238) | func (mr *MockPolicySetsMockRecorder) RemoveWorkspaceExclusions(ctx, p...
method RemoveWorkspaces (line 252) | func (mr *MockPolicySetsMockRecorder) RemoveWorkspaces(ctx, policySetI...
method Update (line 267) | func (mr *MockPolicySetsMockRecorder) Update(ctx, policySetID, options...
function NewMockPolicySets (line 32) | func NewMockPolicySets(ctrl *gomock.Controller) *MockPolicySets {
FILE: mocks/policy_set_parameter_mocks.go
type MockPolicySetParameters (line 21) | type MockPolicySetParameters struct
method EXPECT (line 39) | func (m *MockPolicySetParameters) EXPECT() *MockPolicySetParametersMoc...
method Create (line 44) | func (m *MockPolicySetParameters) Create(ctx context.Context, policySe...
method Delete (line 59) | func (m *MockPolicySetParameters) Delete(ctx context.Context, policySe...
method List (line 73) | func (m *MockPolicySetParameters) List(ctx context.Context, policySetI...
method Read (line 88) | func (m *MockPolicySetParameters) Read(ctx context.Context, policySetI...
method Update (line 103) | func (m *MockPolicySetParameters) Update(ctx context.Context, policySe...
type MockPolicySetParametersMockRecorder (line 27) | type MockPolicySetParametersMockRecorder struct
method Create (line 53) | func (mr *MockPolicySetParametersMockRecorder) Create(ctx, policySetID...
method Delete (line 67) | func (mr *MockPolicySetParametersMockRecorder) Delete(ctx, policySetID...
method List (line 82) | func (mr *MockPolicySetParametersMockRecorder) List(ctx, policySetID, ...
method Read (line 97) | func (mr *MockPolicySetParametersMockRecorder) Read(ctx, policySetID, ...
method Update (line 112) | func (mr *MockPolicySetParametersMockRecorder) Update(ctx, policySetID...
function NewMockPolicySetParameters (line 32) | func NewMockPolicySetParameters(ctrl *gomock.Controller) *MockPolicySetP...
FILE: mocks/policy_set_version_mocks.go
type MockPolicySetVersions (line 21) | type MockPolicySetVersions struct
method EXPECT (line 39) | func (m *MockPolicySetVersions) EXPECT() *MockPolicySetVersionsMockRec...
method Create (line 44) | func (m *MockPolicySetVersions) Create(ctx context.Context, policySetI...
method Read (line 59) | func (m *MockPolicySetVersions) Read(ctx context.Context, policySetVer...
method Upload (line 74) | func (m *MockPolicySetVersions) Upload(ctx context.Context, psv tfe.Po...
type MockPolicySetVersionsMockRecorder (line 27) | type MockPolicySetVersionsMockRecorder struct
method Create (line 53) | func (mr *MockPolicySetVersionsMockRecorder) Create(ctx, policySetID a...
method Read (line 68) | func (mr *MockPolicySetVersionsMockRecorder) Read(ctx, policySetVersio...
method Upload (line 82) | func (mr *MockPolicySetVersionsMockRecorder) Upload(ctx, psv, path any...
function NewMockPolicySetVersions (line 32) | func NewMockPolicySetVersions(ctrl *gomock.Controller) *MockPolicySetVer...
FILE: mocks/project_mocks.go
type MockProjects (line 21) | type MockProjects struct
method EXPECT (line 39) | func (m *MockProjects) EXPECT() *MockProjectsMockRecorder {
method AddTagBindings (line 44) | func (m *MockProjects) AddTagBindings(ctx context.Context, projectID s...
method Create (line 59) | func (m *MockProjects) Create(ctx context.Context, organization string...
method Delete (line 74) | func (m *MockProjects) Delete(ctx context.Context, projectID string) e...
method DeleteAllTagBindings (line 88) | func (m *MockProjects) DeleteAllTagBindings(ctx context.Context, proje...
method List (line 102) | func (m *MockProjects) List(ctx context.Context, organization string, ...
method ListEffectiveTagBindings (line 117) | func (m *MockProjects) ListEffectiveTagBindings(ctx context.Context, w...
method ListTagBindings (line 132) | func (m *MockProjects) ListTagBindings(ctx context.Context, projectID ...
method Read (line 147) | func (m *MockProjects) Read(ctx context.Context, projectID string) (*t...
method ReadWithOptions (line 162) | func (m *MockProjects) ReadWithOptions(ctx context.Context, projectID ...
method Update (line 177) | func (m *MockProjects) Update(ctx context.Context, projectID string, o...
type MockProjectsMockRecorder (line 27) | type MockProjectsMockRecorder struct
method AddTagBindings (line 53) | func (mr *MockProjectsMockRecorder) AddTagBindings(ctx, projectID, opt...
method Create (line 68) | func (mr *MockProjectsMockRecorder) Create(ctx, organization, options ...
method Delete (line 82) | func (mr *MockProjectsMockRecorder) Delete(ctx, projectID any) *gomock...
method DeleteAllTagBindings (line 96) | func (mr *MockProjectsMockRecorder) DeleteAllTagBindings(ctx, projectI...
method List (line 111) | func (mr *MockProjectsMockRecorder) List(ctx, organization, options an...
method ListEffectiveTagBindings (line 126) | func (mr *MockProjectsMockRecorder) ListEffectiveTagBindings(ctx, work...
method ListTagBindings (line 141) | func (mr *MockProjectsMockRecorder) ListTagBindings(ctx, projectID any...
method Read (line 156) | func (mr *MockProjectsMockRecorder) Read(ctx, projectID any) *gomock.C...
method ReadWithOptions (line 171) | func (mr *MockProjectsMockRecorder) ReadWithOptions(ctx, projectID, op...
method Update (line 186) | func (mr *MockProjectsMockRecorder) Update(ctx, projectID, options any...
function NewMockProjects (line 32) | func NewMockProjects(ctrl *gomock.Controller) *MockProjects {
FILE: mocks/query_runs_mocks.go
type MockQueryRuns (line 22) | type MockQueryRuns struct
method EXPECT (line 40) | func (m *MockQueryRuns) EXPECT() *MockQueryRunsMockRecorder {
method Cancel (line 45) | func (m *MockQueryRuns) Cancel(ctx context.Context, runID string) error {
method Create (line 59) | func (m *MockQueryRuns) Create(ctx context.Context, options tfe.QueryR...
method ForceCancel (line 74) | func (m *MockQueryRuns) ForceCancel(ctx context.Context, runID string)...
method List (line 88) | func (m *MockQueryRuns) List(ctx context.Context, workspaceID string, ...
method Logs (line 103) | func (m *MockQueryRuns) Logs(ctx context.Context, queryRunID string) (...
method Read (line 118) | func (m *MockQueryRuns) Read(ctx context.Context, queryRunID string) (...
method ReadWithOptions (line 133) | func (m *MockQueryRuns) ReadWithOptions(ctx context.Context, queryRunI...
type MockQueryRunsMockRecorder (line 28) | type MockQueryRunsMockRecorder struct
method Cancel (line 53) | func (mr *MockQueryRunsMockRecorder) Cancel(ctx, runID any) *gomock.Ca...
method Create (line 68) | func (mr *MockQueryRunsMockRecorder) Create(ctx, options any) *gomock....
method ForceCancel (line 82) | func (mr *MockQueryRunsMockRecorder) ForceCancel(ctx, runID any) *gomo...
method List (line 97) | func (mr *MockQueryRunsMockRecorder) List(ctx, workspaceID, options an...
method Logs (line 112) | func (mr *MockQueryRunsMockRecorder) Logs(ctx, queryRunID any) *gomock...
method Read (line 127) | func (mr *MockQueryRunsMockRecorder) Read(ctx, queryRunID any) *gomock...
method ReadWithOptions (line 142) | func (mr *MockQueryRunsMockRecorder) ReadWithOptions(ctx, queryRunID, ...
function NewMockQueryRuns (line 33) | func NewMockQueryRuns(ctrl *gomock.Controller) *MockQueryRuns {
FILE: mocks/registry_module_mocks.go
type MockRegistryModules (line 22) | type MockRegistryModules struct
method EXPECT (line 40) | func (m *MockRegistryModules) EXPECT() *MockRegistryModulesMockRecorder {
method Create (line 45) | func (m *MockRegistryModules) Create(ctx context.Context, organization...
method CreateVersion (line 60) | func (m *MockRegistryModules) CreateVersion(ctx context.Context, modul...
method CreateWithVCSConnection (line 75) | func (m *MockRegistryModules) CreateWithVCSConnection(ctx context.Cont...
method Delete (line 90) | func (m *MockRegistryModules) Delete(ctx context.Context, organization...
method DeleteByName (line 104) | func (m *MockRegistryModules) DeleteByName(ctx context.Context, module...
method DeleteProvider (line 118) | func (m *MockRegistryModules) DeleteProvider(ctx context.Context, modu...
method DeleteVersion (line 132) | func (m *MockRegistryModules) DeleteVersion(ctx context.Context, modul...
method List (line 146) | func (m *MockRegistryModules) List(ctx context.Context, organization s...
method ListCommits (line 161) | func (m *MockRegistryModules) ListCommits(ctx context.Context, moduleI...
method Read (line 176) | func (m *MockRegistryModules) Read(ctx context.Context, moduleID tfe.R...
method ReadTerraformRegistryModule (line 191) | func (m *MockRegistryModules) ReadTerraformRegistryModule(ctx context....
method ReadVersion (line 206) | func (m *MockRegistryModules) ReadVersion(ctx context.Context, moduleI...
method Update (line 221) | func (m *MockRegistryModules) Update(ctx context.Context, moduleID tfe...
method Upload (line 236) | func (m *MockRegistryModules) Upload(ctx context.Context, rmv tfe.Regi...
method UploadTarGzip (line 250) | func (m *MockRegistryModules) UploadTarGzip(ctx context.Context, url s...
type MockRegistryModulesMockRecorder (line 28) | type MockRegistryModulesMockRecorder struct
method Create (line 54) | func (mr *MockRegistryModulesMockRecorder) Create(ctx, organization, o...
method CreateVersion (line 69) | func (mr *MockRegistryModulesMockRecorder) CreateVersion(ctx, moduleID...
method CreateWithVCSConnection (line 84) | func (mr *MockRegistryModulesMockRecorder) CreateWithVCSConnection(ctx...
method Delete (line 98) | func (mr *MockRegistryModulesMockRecorder) Delete(ctx, organization, n...
method DeleteByName (line 112) | func (mr *MockRegistryModulesMockRecorder) DeleteByName(ctx, module an...
method DeleteProvider (line 126) | func (mr *MockRegistryModulesMockRecorder) DeleteProvider(ctx, moduleI...
method DeleteVersion (line 140) | func (mr *MockRegistryModulesMockRecorder) DeleteVersion(ctx, moduleID...
method List (line 155) | func (mr *MockRegistryModulesMockRecorder) List(ctx, organization, opt...
method ListCommits (line 170) | func (mr *MockRegistryModulesMockRecorder) ListCommits(ctx, moduleID a...
method Read (line 185) | func (mr *MockRegistryModulesMockRecorder) Read(ctx, moduleID any) *go...
method ReadTerraformRegistryModule (line 200) | func (mr *MockRegistryModulesMockRecorder) ReadTerraformRegistryModule...
method ReadVersion (line 215) | func (mr *MockRegistryModulesMockRecorder) ReadVersion(ctx, moduleID, ...
method Update (line 230) | func (mr *MockRegistryModulesMockRecorder) Update(ctx, moduleID, optio...
method Upload (line 244) | func (mr *MockRegistryModulesMockRecorder) Upload(ctx, rmv, path any) ...
method UploadTarGzip (line 258) | func (mr *MockRegistryModulesMockRecorder) UploadTarGzip(ctx, url, r a...
function NewMockRegistryModules (line 33) | func NewMockRegistryModules(ctrl *gomock.Controller) *MockRegistryModules {
FILE: mocks/registry_no_code_module_mocks.go
type MockRegistryNoCodeModules (line 21) | type MockRegistryNoCodeModules struct
method EXPECT (line 39) | func (m *MockRegistryNoCodeModules) EXPECT() *MockRegistryNoCodeModule...
method Create (line 44) | func (m *MockRegistryNoCodeModules) Create(ctx context.Context, organi...
method CreateWorkspace (line 59) | func (m *MockRegistryNoCodeModules) CreateWorkspace(ctx context.Contex...
method Delete (line 74) | func (m *MockRegistryNoCodeModules) Delete(ctx context.Context, ID str...
method Read (line 88) | func (m *MockRegistryNoCodeModules) Read(ctx context.Context, noCodeMo...
method ReadVariables (line 103) | func (m *MockRegistryNoCodeModules) ReadVariables(ctx context.Context,...
method Update (line 118) | func (m *MockRegistryNoCodeModules) Update(ctx context.Context, noCode...
method UpgradeWorkspace (line 133) | func (m *MockRegistryNoCodeModules) UpgradeWorkspace(ctx context.Conte...
type MockRegistryNoCodeModulesMockRecorder (line 27) | type MockRegistryNoCodeModulesMockRecorder struct
method Create (line 53) | func (mr *MockRegistryNoCodeModulesMockRecorder) Create(ctx, organizat...
method CreateWorkspace (line 68) | func (mr *MockRegistryNoCodeModulesMockRecorder) CreateWorkspace(ctx, ...
method Delete (line 82) | func (mr *MockRegistryNoCodeModulesMockRecorder) Delete(ctx, ID any) *...
method Read (line 97) | func (mr *MockRegistryNoCodeModulesMockRecorder) Read(ctx, noCodeModul...
method ReadVariables (line 112) | func (mr *MockRegistryNoCodeModulesMockRecorder) ReadVariables(ctx, no...
method Update (line 127) | func (mr *MockRegistryNoCodeModulesMockRecorder) Update(ctx, noCodeMod...
method UpgradeWorkspace (line 142) | func (mr *MockRegistryNoCodeModulesMockRecorder) UpgradeWorkspace(ctx,...
function NewMockRegistryNoCodeModules (line 32) | func NewMockRegistryNoCodeModules(ctrl *gomock.Controller) *MockRegistry...
FILE: mocks/registry_provider_mocks.go
type MockRegistryProviders (line 21) | type MockRegistryProviders struct
method EXPECT (line 39) | func (m *MockRegistryProviders) EXPECT() *MockRegistryProvidersMockRec...
method Create (line 44) | func (m *MockRegistryProviders) Create(ctx context.Context, organizati...
method Delete (line 59) | func (m *MockRegistryProviders) Delete(ctx context.Context, providerID...
method List (line 73) | func (m *MockRegistryProviders) List(ctx context.Context, organization...
method Read (line 88) | func (m *MockRegistryProviders) Read(ctx context.Context, providerID t...
type MockRegistryProvidersMockRecorder (line 27) | type MockRegistryProvidersMockRecorder struct
method Create (line 53) | func (mr *MockRegistryProvidersMockRecorder) Create(ctx, organization,...
method Delete (line 67) | func (mr *MockRegistryProvidersMockRecorder) Delete(ctx, providerID an...
method List (line 82) | func (mr *MockRegistryProvidersMockRecorder) List(ctx, organization, o...
method Read (line 97) | func (mr *MockRegistryProvidersMockRecorder) Read(ctx, providerID, opt...
function NewMockRegistryProviders (line 32) | func NewMockRegistryProviders(ctrl *gomock.Controller) *MockRegistryProv...
FILE: mocks/registry_provider_platform_mocks.go
type MockRegistryProviderPlatforms (line 21) | type MockRegistryProviderPlatforms struct
method EXPECT (line 39) | func (m *MockRegistryProviderPlatforms) EXPECT() *MockRegistryProvider...
method Create (line 44) | func (m *MockRegistryProviderPlatforms) Create(ctx context.Context, ve...
method Delete (line 59) | func (m *MockRegistryProviderPlatforms) Delete(ctx context.Context, pl...
method List (line 73) | func (m *MockRegistryProviderPlatforms) List(ctx context.Context, vers...
method Read (line 88) | func (m *MockRegistryProviderPlatforms) Read(ctx context.Context, plat...
type MockRegistryProviderPlatformsMockRecorder (line 27) | type MockRegistryProviderPlatformsMockRecorder struct
method Create (line 53) | func (mr *MockRegistryProviderPlatformsMockRecorder) Create(ctx, versi...
method Delete (line 67) | func (mr *MockRegistryProviderPlatformsMockRecorder) Delete(ctx, platf...
method List (line 82) | func (mr *MockRegistryProviderPlatformsMockRecorder) List(ctx, version...
method Read (line 97) | func (mr *MockRegistryProviderPlatformsMockRecorder) Read(ctx, platfor...
function NewMockRegistryProviderPlatforms (line 32) | func NewMockRegistryProviderPlatforms(ctrl *gomock.Controller) *MockRegi...
FILE: mocks/registry_provider_version_mocks.go
type MockRegistryProviderVersions (line 21) | type MockRegistryProviderVersions struct
method EXPECT (line 39) | func (m *MockRegistryProviderVersions) EXPECT() *MockRegistryProviderV...
method Create (line 44) | func (m *MockRegistryProviderVersions) Create(ctx context.Context, pro...
method Delete (line 59) | func (m *MockRegistryProviderVersions) Delete(ctx context.Context, ver...
method List (line 73) | func (m *MockRegistryProviderVersions) List(ctx context.Context, provi...
method Read (line 88) | func (m *MockRegistryProviderVersions) Read(ctx context.Context, versi...
type MockRegistryProviderVersionsMockRecorder (line 27) | type MockRegistryProviderVersionsMockRecorder struct
method Create (line 53) | func (mr *MockRegistryProviderVersionsMockRecorder) Create(ctx, provid...
method Delete (line 67) | func (mr *MockRegistryProviderVersionsMockRecorder) Delete(ctx, versio...
method List (line 82) | func (mr *MockRegistryProviderVersionsMockRecorder) List(ctx, provider...
method Read (line 97) | func (mr *MockRegistryProviderVersionsMockRecorder) Read(ctx, versionI...
function NewMockRegistryProviderVersions (line 32) | func NewMockRegistryProviderVersions(ctrl *gomock.Controller) *MockRegis...
FILE: mocks/run_events_mocks.go
type MockRunEvents (line 21) | type MockRunEvents struct
method EXPECT (line 39) | func (m *MockRunEvents) EXPECT() *MockRunEventsMockRecorder {
method List (line 44) | func (m *MockRunEvents) List(ctx context.Context, runID string, option...
method Read (line 59) | func (m *MockRunEvents) Read(ctx context.Context, runEventID string) (...
method ReadWithOptions (line 74) | func (m *MockRunEvents) ReadWithOptions(ctx context.Context, runEventI...
type MockRunEventsMockRecorder (line 27) | type MockRunEventsMockRecorder struct
method List (line 53) | func (mr *MockRunEventsMockRecorder) List(ctx, runID, options any) *go...
method Read (line 68) | func (mr *MockRunEventsMockRecorder) Read(ctx, runEventID any) *gomock...
method ReadWithOptions (line 83) | func (mr *MockRunEventsMockRecorder) ReadWithOptions(ctx, runEventID, ...
function NewMockRunEvents (line 32) | func NewMockRunEvents(ctrl *gomock.Controller) *MockRunEvents {
FILE: mocks/run_mocks.go
type MockRuns (line 21) | type MockRuns struct
method EXPECT (line 39) | func (m *MockRuns) EXPECT() *MockRunsMockRecorder {
method Apply (line 44) | func (m *MockRuns) Apply(ctx context.Context, runID string, options tf...
method Cancel (line 58) | func (m *MockRuns) Cancel(ctx context.Context, runID string, options t...
method Create (line 72) | func (m *MockRuns) Create(ctx context.Context, options tfe.RunCreateOp...
method Discard (line 87) | func (m *MockRuns) Discard(ctx context.Context, runID string, options ...
method ForceCancel (line 101) | func (m *MockRuns) ForceCancel(ctx context.Context, runID string, opti...
method ForceExecute (line 115) | func (m *MockRuns) ForceExecute(ctx context.Context, runID string) err...
method List (line 129) | func (m *MockRuns) List(ctx context.Context, workspaceID string, optio...
method ListForOrganization (line 144) | func (m *MockRuns) ListForOrganization(ctx context.Context, organizati...
method Read (line 159) | func (m *MockRuns) Read(ctx context.Context, runID string) (*tfe.Run, ...
method ReadWithOptions (line 174) | func (m *MockRuns) ReadWithOptions(ctx context.Context, runID string, ...
type MockRunsMockRecorder (line 27) | type MockRunsMockRecorder struct
method Apply (line 52) | func (mr *MockRunsMockRecorder) Apply(ctx, runID, options any) *gomock...
method Cancel (line 66) | func (mr *MockRunsMockRecorder) Cancel(ctx, runID, options any) *gomoc...
method Create (line 81) | func (mr *MockRunsMockRecorder) Create(ctx, options any) *gomock.Call {
method Discard (line 95) | func (mr *MockRunsMockRecorder) Discard(ctx, runID, options any) *gomo...
method ForceCancel (line 109) | func (mr *MockRunsMockRecorder) ForceCancel(ctx, runID, options any) *...
method ForceExecute (line 123) | func (mr *MockRunsMockRecorder) ForceExecute(ctx, runID any) *gomock.C...
method List (line 138) | func (mr *MockRunsMockRecorder) List(ctx, workspaceID, options any) *g...
method ListForOrganization (line 153) | func (mr *MockRunsMockRecorder) ListForOrganization(ctx, organization,...
method Read (line 168) | func (mr *MockRunsMockRecorder) Read(ctx, runID any) *gomock.Call {
method ReadWithOptions (line 183) | func (mr *MockRunsMockRecorder) ReadWithOptions(ctx, runID, options an...
function NewMockRuns (line 32) | func NewMockRuns(ctrl *gomock.Controller) *MockRuns {
FILE: mocks/run_tasks_mocks.go
type MockRunTasks (line 21) | type MockRunTasks struct
method EXPECT (line 39) | func (m *MockRunTasks) EXPECT() *MockRunTasksMockRecorder {
method AttachToWorkspace (line 44) | func (m *MockRunTasks) AttachToWorkspace(ctx context.Context, workspac...
method Create (line 59) | func (m *MockRunTasks) Create(ctx context.Context, organization string...
method Delete (line 74) | func (m *MockRunTasks) Delete(ctx context.Context, runTaskID string) e...
method List (line 88) | func (m *MockRunTasks) List(ctx context.Context, organization string, ...
method Read (line 103) | func (m *MockRunTasks) Read(ctx context.Context, runTaskID string) (*t...
method ReadWithOptions (line 118) | func (m *MockRunTasks) ReadWithOptions(ctx context.Context, runTaskID ...
method Update (line 133) | func (m *MockRunTasks) Update(ctx context.Context, runTaskID string, o...
type MockRunTasksMockRecorder (line 27) | type MockRunTasksMockRecorder struct
method AttachToWorkspace (line 53) | func (mr *MockRunTasksMockRecorder) AttachToWorkspace(ctx, workspaceID...
method Create (line 68) | func (mr *MockRunTasksMockRecorder) Create(ctx, organization, options ...
method Delete (line 82) | func (mr *MockRunTasksMockRecorder) Delete(ctx, runTaskID any) *gomock...
method List (line 97) | func (mr *MockRunTasksMockRecorder) List(ctx, organization, options an...
method Read (line 112) | func (mr *MockRunTasksMockRecorder) Read(ctx, runTaskID any) *gomock.C...
method ReadWithOptions (line 127) | func (mr *MockRunTasksMockRecorder) ReadWithOptions(ctx, runTaskID, op...
method Update (line 142) | func (mr *MockRunTasksMockRecorder) Update(ctx, runTaskID, options any...
function NewMockRunTasks (line 32) | func NewMockRunTasks(ctrl *gomock.Controller) *MockRunTasks {
FILE: mocks/run_trigger_mocks.go
type MockRunTriggers (line 21) | type MockRunTriggers struct
method EXPECT (line 39) | func (m *MockRunTriggers) EXPECT() *MockRunTriggersMockRecorder {
method Create (line 44) | func (m *MockRunTriggers) Create(ctx context.Context, workspaceID stri...
method Delete (line 59) | func (m *MockRunTriggers) Delete(ctx context.Context, RunTriggerID str...
method List (line 73) | func (m *MockRunTriggers) List(ctx context.Context, workspaceID string...
method Read (line 88) | func (m *MockRunTriggers) Read(ctx context.Context, RunTriggerID strin...
method ReadWithOptions (line 103) | func (m *MockRunTriggers) ReadWithOptions(ctx context.Context, runID s...
type MockRunTriggersMockRecorder (line 27) | type MockRunTriggersMockRecorder struct
method Create (line 53) | func (mr *MockRunTriggersMockRecorder) Create(ctx, workspaceID, option...
method Delete (line 67) | func (mr *MockRunTriggersMockRecorder) Delete(ctx, RunTriggerID any) *...
method List (line 82) | func (mr *MockRunTriggersMockRecorder) List(ctx, workspaceID, options ...
method Read (line 97) | func (mr *MockRunTriggersMockRecorder) Read(ctx, RunTriggerID any) *go...
method ReadWithOptions (line 112) | func (mr *MockRunTriggersMockRecorder) ReadWithOptions(ctx, runID, opt...
function NewMockRunTriggers (line 32) | func NewMockRunTriggers(ctrl *gomock.Controller) *MockRunTriggers {
FILE: mocks/ssh_key_mocks.go
type MockSSHKeys (line 21) | type MockSSHKeys struct
method EXPECT (line 39) | func (m *MockSSHKeys) EXPECT() *MockSSHKeysMockRecorder {
method Create (line 44) | func (m *MockSSHKeys) Create(ctx context.Context, organization string,...
method Delete (line 59) | func (m *MockSSHKeys) Delete(ctx context.Context, sshKeyID string) err...
method List (line 73) | func (m *MockSSHKeys) List(ctx context.Context, organization string, o...
method Read (line 88) | func (m *MockSSHKeys) Read(ctx context.Context, sshKeyID string) (*tfe...
method Update (line 103) | func (m *MockSSHKeys) Update(ctx context.Context, sshKeyID string, opt...
type MockSSHKeysMockRecorder (line 27) | type MockSSHKeysMockRecorder struct
method Create (line 53) | func (mr *MockSSHKeysMockRecorder) Create(ctx, organization, options a...
method Delete (line 67) | func (mr *MockSSHKeysMockRecorder) Delete(ctx, sshKeyID any) *gomock.C...
method List (line 82) | func (mr *MockSSHKeysMockRecorder) List(ctx, organization, options any...
method Read (line 97) | func (mr *MockSSHKeysMockRecorder) Read(ctx, sshKeyID any) *gomock.Call {
method Update (line 112) | func (mr *MockSSHKeysMockRecorder) Update(ctx, sshKeyID, options any) ...
function NewMockSSHKeys (line 32) | func NewMockSSHKeys(ctrl *gomock.Controller) *MockSSHKeys {
FILE: mocks/state_version_mocks.go
type MockStateVersions (line 21) | type MockStateVersions struct
method EXPECT (line 39) | func (m *MockStateVersions) EXPECT() *MockStateVersionsMockRecorder {
method Create (line 44) | func (m *MockStateVersions) Create(ctx context.Context, workspaceID st...
method Download (line 59) | func (m *MockStateVersions) Download(ctx context.Context, url string) ...
method List (line 74) | func (m *MockStateVersions) List(ctx context.Context, options *tfe.Sta...
method ListOutputs (line 89) | func (m *MockStateVersions) ListOutputs(ctx context.Context, svID stri...
method PermanentlyDeleteBackingData (line 104) | func (m *MockStateVersions) PermanentlyDeleteBackingData(ctx context.C...
method Read (line 118) | func (m *MockStateVersions) Read(ctx context.Context, svID string) (*t...
method ReadCurrent (line 133) | func (m *MockStateVersions) ReadCurrent(ctx context.Context, workspace...
method ReadCurrentWithOptions (line 148) | func (m *MockStateVersions) ReadCurrentWithOptions(ctx context.Context...
method ReadWithOptions (line 163) | func (m *MockStateVersions) ReadWithOptions(ctx context.Context, svID ...
method RestoreBackingData (line 178) | func (m *MockStateVersions) RestoreBackingData(ctx context.Context, sv...
method SoftDeleteBackingData (line 192) | func (m *MockStateVersions) SoftDeleteBackingData(ctx context.Context,...
method Upload (line 206) | func (m *MockStateVersions) Upload(ctx context.Context, workspaceID st...
method UploadSanitizedState (line 221) | func (m *MockStateVersions) UploadSanitizedState(ctx context.Context, ...
type MockStateVersionsMockRecorder (line 27) | type MockStateVersionsMockRecorder struct
method Create (line 53) | func (mr *MockStateVersionsMockRecorder) Create(ctx, workspaceID, opti...
method Download (line 68) | func (mr *MockStateVersionsMockRecorder) Download(ctx, url any) *gomoc...
method List (line 83) | func (mr *MockStateVersionsMockRecorder) List(ctx, options any) *gomoc...
method ListOutputs (line 98) | func (mr *MockStateVersionsMockRecorder) ListOutputs(ctx, svID, option...
method PermanentlyDeleteBackingData (line 112) | func (mr *MockStateVersionsMockRecorder) PermanentlyDeleteBackingData(...
method Read (line 127) | func (mr *MockStateVersionsMockRecorder) Read(ctx, svID any) *gomock.C...
method ReadCurrent (line 142) | func (mr *MockStateVersionsMockRecorder) ReadCurrent(ctx, workspaceID ...
method ReadCurrentWithOptions (line 157) | func (mr *MockStateVersionsMockRecorder) ReadCurrentWithOptions(ctx, w...
method ReadWithOptions (line 172) | func (mr *MockStateVersionsMockRecorder) ReadWithOptions(ctx, svID, op...
method RestoreBackingData (line 186) | func (mr *MockStateVersionsMockRecorder) RestoreBackingData(ctx, svID ...
method SoftDeleteBackingData (line 200) | func (mr *MockStateVersionsMockRecorder) SoftDeleteBackingData(ctx, sv...
method Upload (line 215) | func (mr *MockStateVersionsMockRecorder) Upload(ctx, workspaceID, opti...
method UploadSanitizedState (line 229) | func (mr *MockStateVersionsMockRecorder) UploadSanitizedState(ctx, san...
function NewMockStateVersions (line 32) | func NewMockStateVersions(ctrl *gomock.Controller) *MockStateVersions {
FILE: mocks/state_version_output_mocks.go
type MockStateVersionOutputs (line 21) | type MockStateVersionOutputs struct
method EXPECT (line 39) | func (m *MockStateVersionOutputs) EXPECT() *MockStateVersionOutputsMoc...
method Read (line 44) | func (m *MockStateVersionOutputs) Read(ctx context.Context, outputID s...
method ReadCurrent (line 59) | func (m *MockStateVersionOutputs) ReadCurrent(ctx context.Context, wor...
type MockStateVersionOutputsMockRecorder (line 27) | type MockStateVersionOutputsMockRecorder struct
method Read (line 53) | func (mr *MockStateVersionOutputsMockRecorder) Read(ctx, outputID any)...
method ReadCurrent (line 68) | func (mr *MockStateVersionOutputsMockRecorder) ReadCurrent(ctx, worksp...
function NewMockStateVersionOutputs (line 32) | func NewMockStateVersionOutputs(ctrl *gomock.Controller) *MockStateVersi...
FILE: mocks/task_result_mocks.go
type MockTaskResults (line 21) | type MockTaskResults struct
method EXPECT (line 39) | func (m *MockTaskResults) EXPECT() *MockTaskResultsMockRecorder {
method Read (line 44) | func (m *MockTaskResults) Read(ctx context.Context, taskResultID strin...
type MockTaskResultsMockRecorder (line 27) | type MockTaskResultsMockRecorder struct
method Read (line 53) | func (mr *MockTaskResultsMockRecorder) Read(ctx, taskResultID any) *go...
function NewMockTaskResults (line 32) | func NewMockTaskResults(ctrl *gomock.Controller) *MockTaskResults {
FILE: mocks/task_stages_mocks.go
type MockTaskStages (line 21) | type MockTaskStages struct
method EXPECT (line 39) | func (m *MockTaskStages) EXPECT() *MockTaskStagesMockRecorder {
method List (line 44) | func (m *MockTaskStages) List(ctx context.Context, runID string, optio...
method Override (line 59) | func (m *MockTaskStages) Override(ctx context.Context, taskStageID str...
method Read (line 74) | func (m *MockTaskStages) Read(ctx context.Context, taskStageID string,...
type MockTaskStagesMockRecorder (line 27) | type MockTaskStagesMockRecorder struct
method List (line 53) | func (mr *MockTaskStagesMockRecorder) List(ctx, runID, options any) *g...
method Override (line 68) | func (mr *MockTaskStagesMockRecorder) Override(ctx, taskStageID, optio...
method Read (line 83) | func (mr *MockTaskStagesMockRecorder) Read(ctx, taskStageID, options a...
function NewMockTaskStages (line 32) | func NewMockTaskStages(ctrl *gomock.Controller) *MockTaskStages {
FILE: mocks/team_access_mocks.go
type MockTeamAccesses (line 21) | type MockTeamAccesses struct
method EXPECT (line 39) | func (m *MockTeamAccesses) EXPECT() *MockTeamAccessesMockRecorder {
method Add (line 44) | func (m *MockTeamAccesses) Add(ctx context.Context, options tfe.TeamAc...
method List (line 59) | func (m *MockTeamAccesses) List(ctx context.Context, options *tfe.Team...
method Read (line 74) | func (m *MockTeamAccesses) Read(ctx context.Context, teamAccessID stri...
method Remove (line 89) | func (m *MockTeamAccesses) Remove(ctx context.Context, teamAccessID st...
method Update (line 103) | func (m *MockTeamAccesses) Update(ctx context.Context, teamAccessID st...
type MockTeamAccessesMockRecorder (line 27) | type MockTeamAccessesMockRecorder struct
method Add (line 53) | func (mr *MockTeamAccessesMockRecorder) Add(ctx, options any) *gomock....
method List (line 68) | func (mr *MockTeamAccessesMockRecorder) List(ctx, options any) *gomock...
method Read (line 83) | func (mr *MockTeamAccessesMockRecorder) Read(ctx, teamAccessID any) *g...
method Remove (line 97) | func (mr *MockTeamAccessesMockRecorder) Remove(ctx, teamAccessID any) ...
method Update (line 112) | func (mr *MockTeamAccessesMockRecorder) Update(ctx, teamAccessID, opti...
function NewMockTeamAccesses (line 32) | func NewMockTeamAccesses(ctrl *gomock.Controller) *MockTeamAccesses {
FILE: mocks/team_member_mocks.go
type MockTeamMembers (line 21) | type MockTeamMembers struct
method EXPECT (line 39) | func (m *MockTeamMembers) EXPECT() *MockTeamMembersMockRecorder {
method Add (line 44) | func (m *MockTeamMembers) Add(ctx context.Context, teamID string, opti...
method List (line 58) | func (m *MockTeamMembers) List(ctx context.Context, teamID string) ([]...
method ListOrganizationMemberships (line 73) | func (m *MockTeamMembers) ListOrganizationMemberships(ctx context.Cont...
method ListUsers (line 88) | func (m *MockTeamMembers) ListUsers(ctx context.Context, teamID string...
method Remove (line 103) | func (m *MockTeamMembers) Remove(ctx context.Context, teamID string, o...
type MockTeamMembersMockRecorder (line 27) | type MockTeamMembersMockRecorder struct
method Add (line 52) | func (mr *MockTeamMembersMockRecorder) Add(ctx, teamID, options any) *...
method List (line 67) | func (mr *MockTeamMembersMockRecorder) List(ctx, teamID any) *gomock.C...
method ListOrganizationMemberships (line 82) | func (mr *MockTeamMembersMockRecorder) ListOrganizationMemberships(ctx...
method ListUsers (line 97) | func (mr *MockTeamMembersMockRecorder) ListUsers(ctx, teamID any) *gom...
method Remove (line 111) | func (mr *MockTeamMembersMockRecorder) Remove(ctx, teamID, options any...
function NewMockTeamMembers (line 32) | func NewMockTeamMembers(ctrl *gomock.Controller) *MockTeamMembers {
FILE: mocks/team_mocks.go
type MockTeams (line 21) | type MockTeams struct
method EXPECT (line 39) | func (m *MockTeams) EXPECT() *MockTeamsMockRecorder {
method Create (line 44) | func (m *MockTeams) Create(ctx context.Context, organization string, o...
method Delete (line 59) | func (m *MockTeams) Delete(ctx context.Context, teamID string) error {
method List (line 73) | func (m *MockTeams) List(ctx context.Context, organization string, opt...
method Read (line 88) | func (m *MockTeams) Read(ctx context.Context, teamID string) (*tfe.Tea...
method Update (line 103) | func (m *MockTeams) Update(ctx context.Context, teamID string, options...
type MockTeamsMockRecorder (line 27) | type MockTeamsMockRecorder struct
method Create (line 53) | func (mr *MockTeamsMockRecorder) Create(ctx, organization, options any...
method Delete (line 67) | func (mr *MockTeamsMockRecorder) Delete(ctx, teamID any) *gomock.Call {
method List (line 82) | func (mr *MockTeamsMockRecorder) List(ctx, organization, options any) ...
method Read (line 97) | func (mr *MockTeamsMockRecorder) Read(ctx, teamID any) *gomock.Call {
method Update (line 112) | func (mr *MockTeamsMockRecorder) Update(ctx, teamID, options any) *gom...
function NewMockTeams (line 32) | func NewMockTeams(ctrl *gomock.Controller) *MockTeams {
FILE: mocks/team_project_access_mocks.go
type MockTeamProjectAccesses (line 21) | type MockTeamProjectAccesses struct
method EXPECT (line 39) | func (m *MockTeamProjectAccesses) EXPECT() *MockTeamProjectAccessesMoc...
method Add (line 44) | func (m *MockTeamProjectAccesses) Add(ctx context.Context, options tfe...
method List (line 59) | func (m *MockTeamProjectAccesses) List(ctx context.Context, options tf...
method Read (line 74) | func (m *MockTeamProjectAccesses) Read(ctx context.Context, teamProjec...
method Remove (line 89) | func (m *MockTeamProjectAccesses) Remove(ctx context.Context, teamProj...
method Update (line 103) | func (m *MockTeamProjectAccesses) Update(ctx context.Context, teamProj...
type MockTeamProjectAccessesMockRecorder (line 27) | type MockTeamProjectAccessesMockRecorder struct
method Add (line 53) | func (mr *MockTeamProjectAccessesMockRecorder) Add(ctx, options any) *...
method List (line 68) | func (mr *MockTeamProjectAccessesMockRecorder) List(ctx, options any) ...
method Read (line 83) | func (mr *MockTeamProjectAccessesMockRecorder) Read(ctx, teamProjectAc...
method Remove (line 97) | func (mr *MockTeamProjectAccessesMockRecorder) Remove(ctx, teamProject...
method Update (line 112) | func (mr *MockTeamProjectAccessesMockRecorder) Update(ctx, teamProject...
function NewMockTeamProjectAccesses (line 32) | func NewMockTeamProjectAccesses(ctrl *gomock.Controller) *MockTeamProjec...
FILE: mocks/team_token_mocks.go
type MockTeamTokens (line 21) | type MockTeamTokens struct
method EXPECT (line 39) | func (m *MockTeamTokens) EXPECT() *MockTeamTokensMockRecorder {
method Create (line 44) | func (m *MockTeamTokens) Create(ctx context.Context, teamID string) (*...
method CreateWithOptions (line 59) | func (m *MockTeamTokens) CreateWithOptions(ctx context.Context, teamID...
method Delete (line 74) | func (m *MockTeamTokens) Delete(ctx context.Context, teamID string) er...
method DeleteByID (line 88) | func (m *MockTeamTokens) DeleteByID(ctx context.Context, tokenID strin...
method List (line 102) | func (m *MockTeamTokens) List(ctx context.Context, organizationID stri...
method Read (line 117) | func (m *MockTeamTokens) Read(ctx context.Context, teamID string) (*tf...
method ReadByID (line 132) | func (m *MockTeamTokens) ReadByID(ctx context.Context, teamID string) ...
type MockTeamTokensMockRecorder (line 27) | type MockTeamTokensMockRecorder struct
method Create (line 53) | func (mr *MockTeamTokensMockRecorder) Create(ctx, teamID any) *gomock....
method CreateWithOptions (line 68) | func (mr *MockTeamTokensMockRecorder) CreateWithOptions(ctx, teamID, o...
method Delete (line 82) | func (mr *MockTeamTokensMockRecorder) Delete(ctx, teamID any) *gomock....
method DeleteByID (line 96) | func (mr *MockTeamTokensMockRecorder) DeleteByID(ctx, tokenID any) *go...
method List (line 111) | func (mr *MockTeamTokensMockRecorder) List(ctx, organizationID, option...
method Read (line 126) | func (mr *MockTeamTokensMockRecorder) Read(ctx, teamID any) *gomock.Ca...
method ReadByID (line 141) | func (mr *MockTeamTokensMockRecorder) ReadByID(ctx, teamID any) *gomoc...
function NewMockTeamTokens (line 32) | func NewMockTeamTokens(ctrl *gomock.Controller) *MockTeamTokens {
FILE: mocks/test_run_mocks.go
type MockTestRuns (line 22) | type MockTestRuns struct
method EXPECT (line 40) | func (m *MockTestRuns) EXPECT() *MockTestRunsMockRecorder {
method Cancel (line 45) | func (m *MockTestRuns) Cancel(ctx context.Context, moduleID tfe.Regist...
method Create (line 59) | func (m *MockTestRuns) Create(ctx context.Context, options tfe.TestRun...
method ForceCancel (line 74) | func (m *MockTestRuns) ForceCancel(ctx context.Context, moduleID tfe.R...
method List (line 88) | func (m *MockTestRuns) List(ctx context.Context, moduleID tfe.Registry...
method Logs (line 103) | func (m *MockTestRuns) Logs(ctx context.Context, moduleID tfe.Registry...
method Read (line 118) | func (m *MockTestRuns) Read(ctx context.Context, moduleID tfe.Registry...
type MockTestRunsMockRecorder (line 28) | type MockTestRunsMockRecorder struct
method Cancel (line 53) | func (mr *MockTestRunsMockRecorder) Cancel(ctx, moduleID, testRunID an...
method Create (line 68) | func (mr *MockTestRunsMockRecorder) Create(ctx, options any) *gomock.C...
method ForceCancel (line 82) | func (mr *MockTestRunsMockRecorder) ForceCancel(ctx, moduleID, testRun...
method List (line 97) | func (mr *MockTestRunsMockRecorder) List(ctx, moduleID, options any) *...
method Logs (line 112) | func (mr *MockTestRunsMockRecorder) Logs(ctx, moduleID, testRunID any)...
method Read (line 127) | func (mr *MockTestRunsMockRecorder) Read(ctx, moduleID, testRunID any)...
function NewMockTestRuns (line 33) | func NewMockTestRuns(ctrl *gomock.Controller) *MockTestRuns {
FILE: mocks/test_variables_mocks.go
type MockTestVariables (line 21) | type MockTestVariables struct
method EXPECT (line 39) | func (m *MockTestVariables) EXPECT() *MockTestVariablesMockRecorder {
method Create (line 44) | func (m *MockTestVariables) Create(ctx context.Context, moduleID tfe.R...
method Delete (line 59) | func (m *MockTestVariables) Delete(ctx context.Context, moduleID tfe.R...
method List (line 73) | func (m *MockTestVariables) List(ctx context.Context, moduleID tfe.Reg...
method Read (line 88) | func (m *MockTestVariables) Read(ctx context.Context, moduleID tfe.Reg...
method Update (line 103) | func (m *MockTestVariables) Update(ctx context.Context, moduleID tfe.R...
type MockTestVariablesMockRecorder (line 27) | type MockTestVariablesMockRecorder struct
method Create (line 53) | func (mr *MockTestVariablesMockRecorder) Create(ctx, moduleID, options...
method Delete (line 67) | func (mr *MockTestVariablesMockRecorder) Delete(ctx, moduleID, variabl...
method List (line 82) | func (mr *MockTestVariablesMockRecorder) List(ctx, moduleID, options a...
method Read (line 97) | func (mr *MockTestVariablesMockRecorder) Read(ctx, moduleID, variableI...
method Update (line 112) | func (mr *MockTestVariablesMockRecorder) Update(ctx, moduleID, variabl...
function NewMockTestVariables (line 32) | func NewMockTestVariables(ctrl *gomock.Controller) *MockTestVariables {
FILE: mocks/user_mocks.go
type MockUsers (line 21) | type MockUsers struct
method EXPECT (line 39) | func (m *MockUsers) EXPECT() *MockUsersMockRecorder {
method ReadCurrent (line 44) | func (m *MockUsers) ReadCurrent(ctx context.Context) (*tfe.User, error) {
method UpdateCurrent (line 59) | func (m *MockUsers) UpdateCurrent(ctx context.Context, options tfe.Use...
type MockUsersMockRecorder (line 27) | type MockUsersMockRecorder struct
method ReadCurrent (line 53) | func (mr *MockUsersMockRecorder) ReadCurrent(ctx any) *gomock.Call {
method UpdateCurrent (line 68) | func (mr *MockUsersMockRecorder) UpdateCurrent(ctx, options any) *gomo...
function NewMockUsers (line 32) | func NewMockUsers(ctrl *gomock.Controller) *MockUsers {
FILE: mocks/user_token_mocks.go
type MockUserTokens (line 21) | type MockUserTokens struct
method EXPECT (line 39) | func (m *MockUserTokens) EXPECT() *MockUserTokensMockRecorder {
method Create (line 44) | func (m *MockUserTokens) Create(ctx context.Context, userID string, op...
method Delete (line 59) | func (m *MockUserTokens) Delete(ctx context.Context, tokenID string) e...
method List (line 73) | func (m *MockUserTokens) List(ctx context.Context, userID string) (*tf...
method Read (line 88) | func (m *MockUserTokens) Read(ctx context.Context, tokenID string) (*t...
type MockUserTokensMockRecorder (line 27) | type MockUserTokensMockRecorder struct
method Create (line 53) | func (mr *MockUserTokensMockRecorder) Create(ctx, userID, options any)...
method Delete (line 67) | func (mr *MockUserTokensMockRecorder) Delete(ctx, tokenID any) *gomock...
method List (line 82) | func (mr *MockUserTokensMockRecorder) List(ctx, userID any) *gomock.Ca...
method Read (line 97) | func (mr *MockUserTokensMockRecorder) Read(ctx, tokenID any) *gomock.C...
function NewMockUserTokens (line 32) | func NewMockUserTokens(ctrl *gomock.Controller) *MockUserTokens {
FILE: mocks/variable_mocks.go
type MockVariables (line 21) | type MockVariables struct
method EXPECT (line 39) | func (m *MockVariables) EXPECT() *MockVariablesMockRecorder {
method Create (line 44) | func (m *MockVariables) Create(ctx context.Context, workspaceID string...
method Delete (line 59) | func (m *MockVariables) Delete(ctx context.Context, workspaceID, varia...
method List (line 73) | func (m *MockVariables) List(ctx context.Context, workspaceID string, ...
method ListAll (line 88) | func (m *MockVariables) ListAll(ctx context.Context, workspaceID strin...
method Read (line 103) | func (m *MockVariables) Read(ctx context.Context, workspaceID, variabl...
method Update (line 118) | func (m *MockVariables) Update(ctx context.Context, workspaceID, varia...
type MockVariablesMockRecorder (line 27) | type MockVariablesMockRecorder struct
method Create (line 53) | func (mr *MockVariablesMockRecorder) Create(ctx, workspaceID, options ...
method Delete (line 67) | func (mr *MockVariablesMockRecorder) Delete(ctx, workspaceID, variable...
method List (line 82) | func (mr *MockVariablesMockRecorder) List(ctx, workspaceID, options an...
method ListAll (line 97) | func (mr *MockVariablesMockRecorder) ListAll(ctx, workspaceID, options...
method Read (line 112) | func (mr *MockVariablesMockRecorder) Read(ctx, workspaceID, variableID...
method Update (line 127) | func (mr *MockVariablesMockRecorder) Update(ctx, workspaceID, variable...
function NewMockVariables (line 32) | func NewMockVariables(ctrl *gomock.Controller) *MockVariables {
FILE: mocks/variable_set_mocks.go
type MockVariableSets (line 21) | type MockVariableSets struct
method EXPECT (line 39) | func (m *MockVariableSets) EXPECT() *MockVariableSetsMockRecorder {
method ApplyToProjects (line 44) | func (m *MockVariableSets) ApplyToProjects(ctx context.Context, variab...
method ApplyToStacks (line 58) | func (m *MockVariableSets) ApplyToStacks(ctx context.Context, variable...
method ApplyToWorkspaces (line 72) | func (m *MockVariableSets) ApplyToWorkspaces(ctx context.Context, vari...
method Create (line 86) | func (m *MockVariableSets) Create(ctx context.Context, organization st...
method Delete (line 101) | func (m *MockVariableSets) Delete(ctx context.Context, variableSetID s...
method List (line 115) | func (m *MockVariableSets) List(ctx context.Context, organization stri...
method ListForProject (line 130) | func (m *MockVariableSets) ListForProject(ctx context.Context, project...
method ListForWorkspace (line 145) | func (m *MockVariableSets) ListForWorkspace(ctx context.Context, works...
method Read (line 160) | func (m *MockVariableSets) Read(ctx context.Context, variableSetID str...
method RemoveFromProjects (line 175) | func (m *MockVariableSets) RemoveFromProjects(ctx context.Context, var...
method RemoveFromStacks (line 189) | func (m *MockVariableSets) RemoveFromStacks(ctx context.Context, varia...
method RemoveFromWorkspaces (line 203) | func (m *MockVariableSets) RemoveFromWorkspaces(ctx context.Context, v...
method Update (line 217) | func (m *MockVariableSets) Update(ctx context.Context, variableSetID s...
method UpdateStacks (line 232) | func (m *MockVariableSets) UpdateStacks(ctx context.Context, variableS...
method UpdateWorkspaces (line 247) | func (m *MockVariableSets) UpdateWorkspaces(ctx context.Context, varia...
type MockVariableSetsMockRecorder (line 27) | type MockVariableSetsMockRecorder struct
method ApplyToProjects (line 52) | func (mr *MockVariableSetsMockRecorder) ApplyToProjects(ctx, variableS...
method ApplyToStacks (line 66) | func (mr *MockVariableSetsMockRecorder) ApplyToStacks(ctx, variableSet...
method ApplyToWorkspaces (line 80) | func (mr *MockVariableSetsMockRecorder) ApplyToWorkspaces(ctx, variabl...
method Create (line 95) | func (mr *MockVariableSetsMockRecorder) Create(ctx, organization, opti...
method Delete (line 109) | func (mr *MockVariableSetsMockRecorder) Delete(ctx, variableSetID any)...
method List (line 124) | func (mr *MockVariableSetsMockRecorder) List(ctx, organization, option...
method ListForProject (line 139) | func (mr *MockVariableSetsMockRecorder) ListForProject(ctx, projectID,...
method ListForWorkspace (line 154) | func (mr *MockVariableSetsMockRecorder) ListForWorkspace(ctx, workspac...
method Read (line 169) | func (mr *MockVariableSetsMockRecorder) Read(ctx, variableSetID, optio...
method RemoveFromProjects (line 183) | func (mr *MockVariableSetsMockRecorder) RemoveFromProjects(ctx, variab...
method RemoveFromStacks (line 197) | func (mr *MockVariableSetsMockRecorder) RemoveFromStacks(ctx, variable...
method RemoveFromWorkspaces (line 211) | func (mr *MockVariableSetsMockRecorder) RemoveFromWorkspaces(ctx, vari...
method Update (line 226) | func (mr *MockVariableSetsMockRecorder) Update(ctx, variableSetID, opt...
method UpdateStacks (line 241) | func (mr *MockVariableSetsMockRecorder) UpdateStacks(ctx, variableSetI...
method UpdateWorkspaces (line 256) | func (mr *MockVariableSetsMockRecorder) UpdateWorkspaces(ctx, variable...
function NewMockVariableSets (line 32) | func NewMockVariableSets(ctrl *gomock.Controller) *MockVariableSets {
FILE: mocks/variable_set_variable_mocks.go
type MockVariableSetVariables (line 21) | type MockVariableSetVariables struct
method EXPECT (line 39) | func (m *MockVariableSetVariables) EXPECT() *MockVariableSetVariablesM...
method Create (line 44) | func (m *MockVariableSetVariables) Create(ctx context.Context, variabl...
method Delete (line 59) | func (m *MockVariableSetVariables) Delete(ctx context.Context, variabl...
method List (line 73) | func (m *MockVariableSetVariables) List(ctx context.Context, variableS...
method Read (line 88) | func (m *MockVariableSetVariables) Read(ctx context.Context, variableS...
method Update (line 103) | func (m *MockVariableSetVariables) Update(ctx context.Context, variabl...
type MockVariableSetVariablesMockRecorder (line 27) | type MockVariableSetVariablesMockRecorder struct
method Create (line 53) | func (mr *MockVariableSetVariablesMockRecorder) Create(ctx, variableSe...
method Delete (line 67) | func (mr *MockVariableSetVariablesMockRecorder) Delete(ctx, variableSe...
method List (line 82) | func (mr *MockVariableSetVariablesMockRecorder) List(ctx, variableSetI...
method Read (line 97) | func (mr *MockVariableSetVariablesMockRecorder) Read(ctx, variableSetI...
method Update (line 112) | func (mr *MockVariableSetVariablesMockRecorder) Update(ctx, variableSe...
function NewMockVariableSetVariables (line 32) | func NewMockVariableSetVariables(ctrl *gomock.Controller) *MockVariableS...
FILE: mocks/workspace_mocks.go
type MockWorkspaces (line 22) | type MockWorkspaces struct
method EXPECT (line 40) | func (m *MockWorkspaces) EXPECT() *MockWorkspacesMockRecorder {
method AddRemoteStateConsumers (line 45) | func (m *MockWorkspaces) AddRemoteStateConsumers(ctx context.Context, ...
method AddTagBindings (line 59) | func (m *MockWorkspaces) AddTagBindings(ctx context.Context, workspace...
method AddTags (line 74) | func (m *MockWorkspaces) AddTags(ctx context.Context, workspaceID stri...
method AssignSSHKey (line 88) | func (m *MockWorkspaces) AssignSSHKey(ctx context.Context, workspaceID...
method Create (line 103) | func (m *MockWorkspaces) Create(ctx context.Context, organization stri...
method Delete (line 118) | func (m *MockWorkspaces) Delete(ctx context.Context, organization, wor...
method DeleteAllTagBindings (line 132) | func (m *MockWorkspaces) DeleteAllTagBindings(ctx context.Context, wor...
method DeleteByID (line 146) | func (m *MockWorkspaces) DeleteByID(ctx context.Context, workspaceID s...
method DeleteDataRetentionPolicy (line 160) | func (m *MockWorkspaces) DeleteDataRetentionPolicy(ctx context.Context...
method ForceUnlock (line 174) | func (m *MockWorkspaces) ForceUnlock(ctx context.Context, workspaceID ...
method List (line 189) | func (m *MockWorkspaces) List(ctx context.Context, organization string...
method ListEffectiveTagBindings (line 204) | func (m *MockWorkspaces) ListEffectiveTagBindings(ctx context.Context,...
method ListRemoteStateConsumers (line 219) | func (m *MockWorkspaces) ListRemoteStateConsumers(ctx context.Context,...
method ListTagBindings (line 234) | func (m *MockWorkspaces) ListTagBindings(ctx context.Context, workspac...
method ListTags (line 249) | func (m *MockWorkspaces) ListTags(ctx context.Context, workspaceID str...
method Lock (line 264) | func (m *MockWorkspaces) Lock(ctx context.Context, workspaceID string,...
method Read (line 279) | func (m *MockWorkspaces) Read(ctx context.Context, organization, works...
method ReadByID (line 294) | func (m *MockWorkspaces) ReadByID(ctx context.Context, workspaceID str...
method ReadByIDWithOptions (line 309) | func (m *MockWorkspaces) ReadByIDWithOptions(ctx context.Context, work...
method ReadDataRetentionPolicy (line 324) | func (m *MockWorkspaces) ReadDataRetentionPolicy(ctx context.Context, ...
method ReadDataRetentionPolicyChoice (line 339) | func (m *MockWorkspaces) ReadDataRetentionPolicyChoice(ctx context.Con...
method ReadWithOptions (line 354) | func (m *MockWorkspaces) ReadWithOptions(ctx context.Context, organiza...
method Readme (line 369) | func (m *MockWorkspaces) Readme(ctx context.Context, workspaceID strin...
method RemoveRemoteStateConsumers (line 384) | func (m *MockWorkspaces) RemoveRemoteStateConsumers(ctx context.Contex...
method RemoveTags (line 398) | func (m *MockWorkspaces) RemoveTags(ctx context.Context, workspaceID s...
method RemoveVCSConnection (line 412) | func (m *MockWorkspaces) RemoveVCSConnection(ctx context.Context, orga...
method RemoveVCSConnectionByID (line 427) | func (m *MockWorkspaces) RemoveVCSConnectionByID(ctx context.Context, ...
method SafeDelete (line 442) | func (m *MockWorkspaces) SafeDelete(ctx context.Context, organization,...
method SafeDeleteByID (line 456) | func (m *MockWorkspaces) SafeDeleteByID(ctx context.Context, workspace...
method SetDataRetentionPolicy (line 470) | func (m *MockWorkspaces) SetDataRetentionPolicy(ctx context.Context, w...
method SetDataRetentionPolicyDeleteOlder (line 485) | func (m *MockWorkspaces) SetDataRetentionPolicyDeleteOlder(ctx context...
method SetDataRetentionPolicyDontDelete (line 500) | func (m *MockWorkspaces) SetDataRetentionPolicyDontDelete(ctx context....
method UnassignSSHKey (line 515) | func (m *MockWorkspaces) UnassignSSHKey(ctx context.Context, workspace...
method Unlock (line 530) | func (m *MockWorkspaces) Unlock(ctx context.Context, workspaceID strin...
method Update (line 545) | func (m *MockWorkspaces) Update(ctx context.Context, organization, wor...
method UpdateByID (line 560) | func (m *MockWorkspaces) UpdateByID(ctx context.Context, workspaceID s...
method UpdateRemoteStateConsumers (line 575) | func (m *MockWorkspaces) UpdateRemoteStateConsumers(ctx context.Contex...
type MockWorkspacesMockRecorder (line 28) | type MockWorkspacesMockRecorder struct
method AddRemoteStateConsumers (line 53) | func (mr *MockWorkspacesMockRecorder) AddRemoteStateConsumers(ctx, wor...
method AddTagBindings (line 68) | func (mr *MockWorkspacesMockRecorder) AddTagBindings(ctx, workspaceID,...
method AddTags (line 82) | func (mr *MockWorkspacesMockRecorder) AddTags(ctx, workspaceID, option...
method AssignSSHKey (line 97) | func (mr *MockWorkspacesMockRecorder) AssignSSHKey(ctx, workspaceID, o...
method Create (line 112) | func (mr *MockWorkspacesMockRecorder) Create(ctx, organization, option...
method Delete (line 126) | func (mr *MockWorkspacesMockRecorder) Delete(ctx, organization, worksp...
method DeleteAllTagBindings (line 140) | func (mr *MockWorkspacesMockRecorder) DeleteAllTagBindings(ctx, worksp...
method DeleteByID (line 154) | func (mr *MockWorkspacesMockRecorder) DeleteByID(ctx, workspaceID any)...
method DeleteDataRetentionPolicy (line 168) | func (mr *MockWorkspacesMockRecorder) DeleteDataRetentionPolicy(ctx, w...
method ForceUnlock (line 183) | func (mr *MockWorkspacesMockRecorder) ForceUnlock(ctx, workspaceID any...
method List (line 198) | func (mr *MockWorkspacesMockRecorder) List(ctx, organization, options ...
method ListEffectiveTagBindings (line 213) | func (mr *MockWorkspacesMockRecorder) ListEffectiveTagBindings(ctx, wo...
method ListRemoteStateConsumers (line 228) | func (mr *MockWorkspacesMockRecorder) ListRemoteStateConsumers(ctx, wo...
method ListTagBindings (line 243) | func (mr *MockWorkspacesMockRecorder) ListTagBindings(ctx, workspaceID...
method ListTags (line 258) | func (mr *MockWorkspacesMockRecorder) ListTags(ctx, workspaceID, optio...
method Lock (line 273) | func (mr *MockWorkspacesMockRecorder) Lock(ctx, workspaceID, options a...
method Read (line 288) | func (mr *MockWorkspacesMockRecorder) Read(ctx, organization, workspac...
method ReadByID (line 303) | func (mr *MockWorkspacesMockRecorder) ReadByID(ctx, workspaceID any) *...
method ReadByIDWithOptions (line 318) | func (mr *MockWorkspacesMockRecorder) ReadByIDWithOptions(ctx, workspa...
method ReadDataRetentionPolicy (line 333) | func (mr *MockWorkspacesMockRecorder) ReadDataRetentionPolicy(ctx, wor...
method ReadDataRetentionPolicyChoice (line 348) | func (mr *MockWorkspacesMockRecorder) ReadDataRetentionPolicyChoice(ct...
method ReadWithOptions (line 363) | func (mr *MockWorkspacesMockRecorder) ReadWithOptions(ctx, organizatio...
method Readme (line 378) | func (mr *MockWorkspacesMockRecorder) Readme(ctx, workspaceID any) *go...
method RemoveRemoteStateConsumers (line 392) | func (mr *MockWorkspacesMockRecorder) RemoveRemoteStateConsumers(ctx, ...
method RemoveTags (line 406) | func (mr *MockWorkspacesMockRecorder) RemoveTags(ctx, workspaceID, opt...
method RemoveVCSConnection (line 421) | func (mr *MockWorkspacesMockRecorder) RemoveVCSConnection(ctx, organiz...
method RemoveVCSConnectionByID (line 436) | func (mr *MockWorkspacesMockRecorder) RemoveVCSConnectionByID(ctx, wor...
method SafeDelete (line 450) | func (mr *MockWorkspacesMockRecorder) SafeDelete(ctx, organization, wo...
method SafeDeleteByID (line 464) | func (mr *MockWorkspacesMockRecorder) SafeDeleteByID(ctx, workspaceID ...
method SetDataRetentionPolicy (line 479) | func (mr *MockWorkspacesMockRecorder) SetDataRetentionPolicy(ctx, work...
method SetDataRetentionPolicyDeleteOlder (line 494) | func (mr *MockWorkspacesMockRecorder) SetDataRetentionPolicyDeleteOlde...
method SetDataRetentionPolicyDontDelete (line 509) | func (mr *MockWorkspacesMockRecorder) SetDataRetentionPolicyDontDelete...
method UnassignSSHKey (line 524) | func (mr *MockWorkspacesMockRecorder) UnassignSSHKey(ctx, workspaceID ...
method Unlock (line 539) | func (mr *MockWorkspacesMockRecorder) Unlock(ctx, workspaceID any) *go...
method Update (line 554) | func (mr *MockWorkspacesMockRecorder) Update(ctx, organization, worksp...
method UpdateByID (line 569) | func (mr *MockWorkspacesMockRecorder) UpdateByID(ctx, workspaceID, opt...
method UpdateRemoteStateConsumers (line 583) | func (mr *MockWorkspacesMockRecorder) UpdateRemoteStateConsumers(ctx, ...
function NewMockWorkspaces (line 33) | func NewMockWorkspaces(ctrl *gomock.Controller) *MockWorkspaces {
FILE: mocks/workspace_resources.go
type MockWorkspaceResources (line 21) | type MockWorkspaceResources struct
method EXPECT (line 39) | func (m *MockWorkspaceResources) EXPECT() *MockWorkspaceResourcesMockR...
method List (line 44) | func (m *MockWorkspaceResources) List(ctx context.Context, workspaceID...
type MockWorkspaceResourcesMockRecorder (line 27) | type MockWorkspaceResourcesMockRecorder struct
method List (line 53) | func (mr *MockWorkspaceResourcesMockRecorder) List(ctx, workspaceID, o...
function NewMockWorkspaceResources (line 32) | func NewMockWorkspaceResources(ctrl *gomock.Controller) *MockWorkspaceRe...
FILE: mocks/workspace_run_tasks_mocks.go
type MockWorkspaceRunTasks (line 21) | type MockWorkspaceRunTasks struct
method EXPECT (line 39) | func (m *MockWorkspaceRunTasks) EXPECT() *MockWorkspaceRunTasksMockRec...
method Create (line 44) | func (m *MockWorkspaceRunTasks) Create(ctx context.Context, workspaceI...
method Delete (line 59) | func (m *MockWorkspaceRunTasks) Delete(ctx context.Context, workspaceI...
method List (line 73) | func (m *MockWorkspaceRunTasks) List(ctx context.Context, workspaceID ...
method Read (line 88) | func (m *MockWorkspaceRunTasks) Read(ctx context.Context, workspaceID,...
method Update (line 103) | func (m *MockWorkspaceRunTasks) Update(ctx context.Context, workspaceI...
type MockWorkspaceRunTasksMockRecorder (line 27) | type MockWorkspaceRunTasksMockRecorder struct
method Create (line 53) | func (mr *MockWorkspaceRunTasksMockRecorder) Create(ctx, workspaceID, ...
method Delete (line 67) | func (mr *MockWorkspaceRunTasksMockRecorder) Delete(ctx, workspaceID, ...
method List (line 82) | func (mr *MockWorkspaceRunTasksMockRecorder) List(ctx, workspaceID, op...
method Read (line 97) | func (mr *MockWorkspaceRunTasksMockRecorder) Read(ctx, workspaceID, wo...
method Update (line 112) | func (mr *MockWorkspaceRunTasksMockRecorder) Update(ctx, workspaceID, ...
function NewMockWorkspaceRunTasks (line 32) | func NewMockWorkspaceRunTasks(ctrl *gomock.Controller) *MockWorkspaceRun...
FILE: notification_configuration.go
type NotificationConfigurations (line 21) | type NotificationConfigurations interface
type notificationConfigurations (line 42) | type notificationConfigurations struct
method List (line 205) | func (s *notificationConfigurations) List(ctx context.Context, subscri...
method Create (line 250) | func (s *notificationConfigurations) Create(ctx context.Context, subsc...
method Read (line 283) | func (s *notificationConfigurations) Read(ctx context.Context, notific...
method Update (line 306) | func (s *notificationConfigurations) Update(ctx context.Context, notif...
method Delete (line 333) | func (s *notificationConfigurations) Delete(ctx context.Context, notif...
method Verify (line 349) | func (s *notificationConfigurations) Verify(ctx context.Context, notif...
type NotificationTriggerType (line 48) | type NotificationTriggerType
constant NotificationTriggerCreated (line 51) | NotificationTriggerCreated NotificationTriggerTyp...
constant NotificationTriggerPlanning (line 52) | NotificationTriggerPlanning NotificationTriggerTyp...
constant NotificationTriggerNeedsAttention (line 53) | NotificationTriggerNeedsAttention NotificationTriggerTyp...
constant NotificationTriggerApplying (line 54) | NotificationTriggerApplying NotificationTriggerTyp...
constant NotificationTriggerCompleted (line 55) | NotificationTriggerCompleted NotificationTriggerTyp...
constant NotificationTriggerErrored (line 56) | NotificationTriggerErrored NotificationTriggerTyp...
constant NotificationTriggerAssessmentDrifted (line 57) | NotificationTriggerAssessmentDrifted NotificationTriggerTyp...
constant NotificationTriggerAssessmentFailed (line 58) | NotificationTriggerAssessmentFailed NotificationTriggerTyp...
constant NotificationTriggerAssessmentCheckFailed (line 59) | NotificationTriggerAssessmentCheckFailed NotificationTriggerTyp...
constant NotificationTriggerWorkspaceAutoDestroyReminder (line 60) | NotificationTriggerWorkspaceAutoDestroyReminder NotificationTriggerTyp...
constant NotificationTriggerWorkspaceAutoDestroyRunResults (line 61) | NotificationTriggerWorkspaceAutoDestroyRunResults NotificationTriggerTyp...
constant NotificationTriggerChangeRequestCreated (line 62) | NotificationTriggerChangeRequestCreated NotificationTriggerTyp...
type NotificationDestinationType (line 67) | type NotificationDestinationType
constant NotificationDestinationTypeEmail (line 71) | NotificationDestinationTypeEmail NotificationDestinationType = ...
constant NotificationDestinationTypeGeneric (line 72) | NotificationDestinationTypeGeneric NotificationDestinationType = ...
constant NotificationDestinationTypeSlack (line 73) | NotificationDestinationTypeSlack NotificationDestinationType = ...
constant NotificationDestinationTypeMicrosoftTeams (line 74) | NotificationDestinationTypeMicrosoftTeams NotificationDestinationType = ...
type NotificationConfigurationList (line 79) | type NotificationConfigurationList struct
type NotificationConfigurationSubscribableChoice (line 87) | type NotificationConfigurationSubscribableChoice struct
type NotificationConfiguration (line 93) | type NotificationConfiguration struct
type DeliveryResponse (line 117) | type DeliveryResponse struct
type NotificationConfigurationListOptions (line 128) | type NotificationConfigurationListOptions struct
type NotificationConfigurationCreateOptions (line 136) | type NotificationConfigurationCreateOptions struct
method valid (line 370) | func (o NotificationConfigurationCreateOptions) valid() error {
type NotificationConfigurationUpdateOptions (line 174) | type NotificationConfigurationUpdateOptions struct
method valid (line 405) | func (o NotificationConfigurationUpdateOptions) valid() error {
function backfillDeprecatedSubscribable (line 417) | func backfillDeprecatedSubscribable(notification *NotificationConfigurat...
function validNotificationTriggerType (line 427) | func validNotificationTriggerType(triggers []NotificationTriggerType) bo...
FILE: notification_configuration_integration_test.go
function TestNotificationConfigurationList (line 15) | func TestNotificationConfigurationList(t *testing.T) {
function TestNotificationConfigurationList_forTeams (line 78) | func TestNotificationConfigurationList_forTeams(t *testing.T) {
function TestNotificationConfigurationCreate (line 128) | func TestNotificationConfigurationCreate(t *testing.T) {
function TestNotificationConfigurationsCreate_byType (line 258) | func TestNotificationConfigurationsCreate_byType(t *testing.T) {
function TestNotificationConfigurationCreate_forTeams (line 312) | func TestNotificationConfigurationCreate_forTeams(t *testing.T) {
function TestNotificationConfigurationRead (line 463) | func TestNotificationConfigurationRead(t *testing.T) {
function TestNotificationConfigurationRead_forTeams (line 488) | func TestNotificationConfigurationRead_forTeams(t *testing.T) {
function TestNotificationConfigurationUpdate_forTeams (line 522) | func TestNotificationConfigurationUpdate_forTeams(t *testing.T) {
function TestNotificationConfigurationUpdate (line 633) | func TestNotificationConfigurationUpdate(t *testing.T) {
function TestNotificationConfigurationDelete (line 731) | func TestNotificationConfigurationDelete(t *testing.T) {
function TestNotificationConfigurationDelete_forTeams (line 760) | func TestNotificationConfigurationDelete_forTeams(t *testing.T) {
function TestNotificationConfigurationVerify (line 795) | func TestNotificationConfigurationVerify(t *testing.T) {
function TestNotificationConfigurationVerify_forTeams (line 819) | func TestNotificationConfigurationVerify_forTeams(t *testing.T) {
FILE: oauth_client.go
type OAuthClients (line 21) | type OAuthClients interface
type oAuthClients (line 48) | type oAuthClients struct
method List (line 222) | func (s *oAuthClients) List(ctx context.Context, organization string, ...
method Create (line 246) | func (s *oAuthClients) Create(ctx context.Context, organization string...
method Read (line 270) | func (s *oAuthClients) Read(ctx context.Context, oAuthClientID string)...
method ReadWithOptions (line 274) | func (s *oAuthClients) ReadWithOptions(ctx context.Context, oAuthClien...
method Update (line 298) | func (s *oAuthClients) Update(ctx context.Context, oAuthClientID strin...
method Delete (line 319) | func (s *oAuthClients) Delete(ctx context.Context, oAuthClientID strin...
method AddProjects (line 359) | func (s *oAuthClients) AddProjects(ctx context.Context, oAuthClientID ...
method RemoveProjects (line 377) | func (s *oAuthClients) RemoveProjects(ctx context.Context, oAuthClient...
type ServiceProviderType (line 53) | type ServiceProviderType
constant ServiceProviderAzureDevOpsServer (line 57) | ServiceProviderAzureDevOpsServer ServiceProviderType = "ado_server"
constant ServiceProviderAzureDevOpsServices (line 58) | ServiceProviderAzureDevOpsServices ServiceProviderType = "ado_services"
constant ServiceProviderBitbucketDataCenter (line 59) | ServiceProviderBitbucketDataCenter ServiceProviderType = "bitbucket_data...
constant ServiceProviderBitbucket (line 60) | ServiceProviderBitbucket ServiceProviderType = "bitbucket_hosted"
constant ServiceProviderBitbucketServer (line 62) | ServiceProviderBitbucketServer ServiceProviderType = "bitbucket_server"
constant ServiceProviderBitbucketServerLegacy (line 64) | ServiceProviderBitbucketServerLegacy ServiceProviderType = "bitbucket_se...
constant ServiceProviderGithub (line 65) | ServiceProviderGithub ServiceProviderType = "github"
constant ServiceProviderGithubEE (line 66) | ServiceProviderGithubEE ServiceProviderType = "github_enter...
constant ServiceProviderGitlab (line 67) | ServiceProviderGitlab ServiceProviderType = "gitlab_hosted"
constant ServiceProviderGitlabCE (line 68) | ServiceProviderGitlabCE ServiceProviderType = "gitlab_commu...
constant ServiceProviderGitlabEE (line 69) | ServiceProviderGitlabEE ServiceProv
Condensed preview — 358 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,858K chars).
[
{
"path": ".copywrite.hcl",
"chars": 346,
"preview": "schema_version = 1\n\nproject {\n license = \"MPL-2.0\"\n copyright_year = 2018\n\n # (OPTIONAL) A list of globs that "
},
{
"path": ".github/CODEOWNERS",
"chars": 27,
"preview": "* @hashicorp/tf-core-cloud\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 1279,
"preview": "---\nname: Bug report\nabout: Let us know about an unexpected error, a crash, or an incorrect behavior.\nlabels: bug\n---\n\n<"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 647,
"preview": "# Copyright (c) HashiCorp, Inc.\n# SPDX-License-Identifier: MPL-2.0\n\nblank_issues_enabled: false\ncontact_links:\n - name:"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 1839,
"preview": "---\nname: Feature request\nabout: Suggest a new feature or other enhancement.\nlabels: feature-request\n---\n\n<!--\nHi there,"
},
{
"path": ".github/actions/lint-go-tfe/action.yml",
"chars": 1246,
"preview": "# Copyright (c) HashiCorp, Inc.\n# SPDX-License-Identifier: MPL-2.0\n\nname: Lint\ndescription: Lints go-tfe\nruns:\n using: "
},
{
"path": ".github/actions/test-go-tfe/action.yml",
"chars": 5301,
"preview": "# Copyright (c) HashiCorp, Inc.\n# SPDX-License-Identifier: MPL-2.0\n\nname: Test\ndescription: Tests go-tfe within a matrix"
},
{
"path": ".github/dependabot.yml",
"chars": 164,
"preview": "# Copyright (c) HashiCorp, Inc.\n# SPDX-License-Identifier: MPL-2.0\n\nversion: 2\nupdates:\n- package-ecosystem: gomod\n dir"
},
{
"path": ".github/pull_request_template.md",
"chars": 2809,
"preview": "<!--\nThank you for contributing to hashicorp/go-tfe! Please read docs/CONTRIBUTING.md for detailed information when prep"
},
{
"path": ".github/workflows/changelog.yml",
"chars": 4030,
"preview": "# This workflow makes sure contributors don't forget to add a changelog entry or explicitly opt-out of it.\n\nname: Change"
},
{
"path": ".github/workflows/ci.yml",
"chars": 5074,
"preview": "name: CI\non:\n push:\n branches: [main]\n pull_request:\n\nconcurrency:\n group: ${{ github.head_ref || github.ref }}\n "
},
{
"path": ".github/workflows/codeql-analysis.yml",
"chars": 2844,
"preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
},
{
"path": ".github/workflows/create-jira-issue.yml",
"chars": 533,
"preview": "name: Jira Issue Sync\n\non:\n issues:\n types: [opened, closed, deleted, reopened]\n issue_comment:\n types: [created"
},
{
"path": ".github/workflows/jira-pr-transition.yml",
"chars": 256,
"preview": "name: Jira PR Transition\n\non:\n pull_request:\n types: [opened, closed, reopened, converted_to_draft, ready_for_review"
},
{
"path": ".github/workflows/merged-pr.yml",
"chars": 850,
"preview": "name: Merged Pull Request\npermissions:\n pull-requests: write\n\n# only trigger on pull request closed events\non:\n pull_r"
},
{
"path": ".github/workflows/nightly-tfe-ci.yml",
"chars": 3433,
"preview": "name: Nightly TFE Tests\non:\n workflow_dispatch:\n schedule:\n # Monday-Friday at 7:30AM UTC (90 minutes after infrast"
},
{
"path": ".gitignore",
"chars": 132,
"preview": ".DS_Store\n\n# Commonplace IDE output that should never be committed\n.out\n.vscode/*.log\n.vscode/settings.json\n.idea/\n.envr"
},
{
"path": ".golangci.yml",
"chars": 2210,
"preview": "# Copyright (c) HashiCorp, Inc.\n# SPDX-License-Identifier: MPL-2.0\n\nversion: \"2\"\n\nrun:\n timeout: 5m\n\nlinters:\n# This se"
},
{
"path": "CHANGELOG.md",
"chars": 61679,
"preview": "# Unreleased\n\n## Bug Fixes\n* Improve API error handling to decode both JSON:API error objects and regular JSON errors ar"
},
{
"path": "LICENSE",
"chars": 15921,
"preview": "Copyright (c) 2018 HashiCorp, Inc.\n\nMozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n means "
},
{
"path": "META.d/_summary.yaml",
"chars": 259,
"preview": "# Copyright IBM Corp. 2018, 2025\n# SPDX-License-Identifier: MPL-2.0\n\n---\n\nschema: 1.1\npartition: tfc\ncategory: library\n\n"
},
{
"path": "META.d/data.yaml",
"chars": 138,
"preview": "# Copyright IBM Corp. 2018, 2025\n# SPDX-License-Identifier: MPL-2.0\n\ndata_summary:\n gdpr:\n exempt: true\n last_rev"
},
{
"path": "Makefile",
"chars": 887,
"preview": ".PHONY: vet fmt lint test mocks envvars generate\n\n# Make target to generate resource scaffolding for specified RESOURCE\n"
},
{
"path": "README.md",
"chars": 4268,
"preview": "HCP Terraform and Terraform Enterprise Go Client\n==============================\n\n[\n\n// Compile-ti"
},
{
"path": "admin_setting_cost_estimation_integration_test.go",
"chars": 1071,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_customization.go",
"chars": 2599,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_customization_integration_test.go",
"chars": 1747,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_general.go",
"chars": 4112,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_general_integration_test.go",
"chars": 3963,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_oidc.go",
"chars": 1259,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_oidc_integration_test.go",
"chars": 2946,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"encoding/json\""
},
{
"path": "admin_setting_saml.go",
"chars": 6326,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_saml_integration_test.go",
"chars": 5372,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_scim.go",
"chars": 2521,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_scim_groups.go",
"chars": 1706,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\nvar _ AdminSC"
},
{
"path": "admin_setting_scim_groups_integration_test.go",
"chars": 9787,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"testing"
},
{
"path": "admin_setting_scim_integration_test.go",
"chars": 5121,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_scim_token.go",
"chars": 4090,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "admin_setting_scim_token_integration_test.go",
"chars": 9094,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"testing"
},
{
"path": "admin_setting_smtp.go",
"chars": 3312,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_smtp_integration_test.go",
"chars": 1922,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_setting_twilio.go",
"chars": 3137,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "admin_setting_twilio_integration_test.go",
"chars": 1245,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_terraform_version.go",
"chars": 8181,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "admin_terraform_version_integration_test.go",
"chars": 13488,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"strings\"\n\t\"tes"
},
{
"path": "admin_user.go",
"chars": 6682,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "admin_user_integration_test.go",
"chars": 4501,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "admin_workspace.go",
"chars": 4607,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "admin_workspace_integration_test.go",
"chars": 10141,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encod"
},
{
"path": "agent.go",
"chars": 2271,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "agent_integration_test.go",
"chars": 1822,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "agent_pool.go",
"chars": 13374,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "agent_pool_integration_test.go",
"chars": 22948,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"testing\""
},
{
"path": "agent_token.go",
"chars": 4005,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "agent_token_integration_test.go",
"chars": 4033,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "apply.go",
"chars": 3725,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"io\"\n\t\"n"
},
{
"path": "apply_integration_test.go",
"chars": 3175,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encod"
},
{
"path": "audit_trail.go",
"chars": 4099,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"encoding/json\""
},
{
"path": "audit_trail_integration_test.go",
"chars": 3787,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\t\"tim"
},
{
"path": "aws_oidc_configuration.go",
"chars": 4048,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n)\n\nconst OIDCConfigPathFormat = \"oidc-configurations/%s\"\n\n// AWSOIDCC"
},
{
"path": "aws_oidc_configuration_integration_test.go",
"chars": 2811,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require"
},
{
"path": "azure_oidc_configuration.go",
"chars": 4389,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n)\n\n// AzureOIDCConfigurations describes all the Azure OIDC configurat"
},
{
"path": "azure_oidc_configuration_integration_test.go",
"chars": 5929,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require"
},
{
"path": "comment.go",
"chars": 3005,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "comment_integration_test.go",
"chars": 1955,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "configuration_version.go",
"chars": 14930,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n"
},
{
"path": "configuration_version_integration_test.go",
"chars": 15732,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encod"
},
{
"path": "const.go",
"chars": 435,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nconst (\n\t// AuthenticationTokensPath"
},
{
"path": "cost_estimate.go",
"chars": 4425,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n"
},
{
"path": "cost_estimate_integration_test.go",
"chars": 3074,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"encod"
},
{
"path": "data_retention_policy.go",
"chars": 4559,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport \"regexp\"\n\n// DataRetentionPol"
},
{
"path": "docs/CONTRIBUTING.md",
"chars": 14890,
"preview": "# Contributing to go-tfe\n\nIf you find an issue with this package, please create an issue in GitHub. If you'd like, we we"
},
{
"path": "docs/RELEASES.md",
"chars": 3160,
"preview": "## Release Process\n\ngo-tfe can be released as often as required. Documentation updates and test fixes that only touch te"
},
{
"path": "docs/TESTS.md",
"chars": 7892,
"preview": "# Running tests\n\ngo-tfe relies on acceptance tests against either the HCP Terraform and Terraform Enterprise APIs. go-tf"
},
{
"path": "entitlement_helper_test.go",
"chars": 1123,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"errors\"\n)\n\nfun"
},
{
"path": "errors.go",
"chars": 19333,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\n// Gene"
},
{
"path": "example_test.go",
"chars": 4896,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"crypt"
},
{
"path": "examples/backing_data/main.go",
"chars": 1816,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"flag\"\n\t\"fmt\"\n"
},
{
"path": "examples/configuration_versions/main.go",
"chars": 1069,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"log\""
},
{
"path": "examples/organizations/main.go",
"chars": 753,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\ttfe \"g"
},
{
"path": "examples/projects/main.go",
"chars": 1117,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\ttfe \"g"
},
{
"path": "examples/registry_modules/main.go",
"chars": 1572,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"log\""
},
{
"path": "examples/run_errors/README.md",
"chars": 801,
"preview": "## Example: Parsing Run Errors\n\nIn this example, you'll use terraform to create a run with errors on HCP Terraform, then"
},
{
"path": "examples/run_errors/main.go",
"chars": 3844,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"bufio\"\n\t\"context\"\n\t\"enco"
},
{
"path": "examples/run_errors/terraform/main.tf",
"chars": 322,
"preview": "# Copyright IBM Corp. 2018, 2025\n# SPDX-License-Identifier: MPL-2.0\n\nterraform {\n cloud {\n workspaces {\n name ="
},
{
"path": "examples/state_versions/main.go",
"chars": 1213,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"crypto/md5\"\n\t"
},
{
"path": "examples/state_versions/state.json",
"chars": 1307,
"preview": "{\n \"version\": 4,\n \"terraform_version\": \"1.3.9\",\n \"serial\": 2,\n \"lineage\": \"493f7758-da5e-229e-7872-ea1f78ebe50a\",\n "
},
{
"path": "examples/users/main.go",
"chars": 536,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\n\ttfe \"g"
},
{
"path": "examples/workspaces/main.go",
"chars": 1389,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage main\n\nimport (\n\t\"context\"\n\t\"log\"\n\t\"time\"\n"
},
{
"path": "gcp_oidc_configuration.go",
"chars": 4485,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n)\n\n// GCPOIDCConfigurations describes all the GCP OIDC configuration "
},
{
"path": "gcp_oidc_configuration_integration_test.go",
"chars": 6502,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require"
},
{
"path": "generate_mocks.sh",
"chars": 7193,
"preview": "#!/bin/bash\n# Copyright IBM Corp. 2018, 2026\n# SPDX-License-Identifier: MPL-2.0\n\nset -euf -o pipefail\n\nmockgen -source=a"
},
{
"path": "github_app_installation.go",
"chars": 2565,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "github_app_installation_integration_test.go",
"chars": 1408,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"testing\""
},
{
"path": "go.mod",
"chars": 671,
"preview": "module github.com/hashicorp/go-tfe\n\ngo 1.25.0\n\nrequire (\n\tgithub.com/google/go-querystring v1.2.0\n\tgithub.com/hashicorp/"
},
{
"path": "go.sum",
"chars": 3774,
"preview": "github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=\ngithub.com/davecgh/go-spew v1.1.1/go.m"
},
{
"path": "gpg_key.go",
"chars": 6280,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "gpg_key_integration_test.go",
"chars": 7650,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"gi"
},
{
"path": "helper_test.go",
"chars": 95975,
"preview": "// Copyright IBM Corp. 2018, 2026\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"archive/tar\"\n\t\"archive/zi"
},
{
"path": "hyok_configuration.go",
"chars": 8916,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n)\n\n// HYOKConfigurations describes all the HYOK configuration related"
},
{
"path": "hyok_configuration_integration_test.go",
"chars": 19550,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require"
},
{
"path": "hyok_customer_key_version.go",
"chars": 4802,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"time\"\n)\n\nvar _ HYOKCustomerKeyVersions = (*hyokCustomerKeyVersions)"
},
{
"path": "hyok_customer_key_version_integration_test.go",
"chars": 1590,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\n// These tests are intended"
},
{
"path": "hyok_encrypted_data_key.go",
"chars": 1681,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"time\"\n)\n\nvar _ HYOKEncryptedDataKeys = (*hyokEncryptedDataKeys)(nil"
},
{
"path": "hyok_encrypted_data_key_integration_test.go",
"chars": 935,
"preview": "package tfe\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\n// These tests are intended"
},
{
"path": "internal_run_task.go",
"chars": 3182,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\n// A private struct we need for unma"
},
{
"path": "internal_workspace_run_task.go",
"chars": 1757,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\n// A private struct we need for unma"
},
{
"path": "ip_ranges.go",
"chars": 1822,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n)\n\n// Compile-ti"
},
{
"path": "ip_ranges_integration_test.go",
"chars": 954,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"testing\"\n\t\"tim"
},
{
"path": "logreader.go",
"chars": 3684,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\""
},
{
"path": "logreader_integration_test.go",
"chars": 5666,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"io\"\n\t\"net/http"
},
{
"path": "mocks/admin_opa_version_mocks.go",
"chars": 4052,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_opa_version.go\n//\n// Generated by this command:\n//\n//\tmockge"
},
{
"path": "mocks/admin_organization_mocks.go",
"chars": 5203,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_organization.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/admin_run_mocks.go",
"chars": 2185,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_run.go\n//\n// Generated by this command:\n//\n//\tmockgen -sourc"
},
{
"path": "mocks/admin_sentinel_version_mocks.go",
"chars": 4272,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_sentinel_version.go\n//\n// Generated by this command:\n//\n//\tm"
},
{
"path": "mocks/admin_setting_cost_estimation_mocks.go",
"chars": 2508,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_cost_estimation.go\n//\n// Generated by this command:\n"
},
{
"path": "mocks/admin_setting_customization_mocks.go",
"chars": 2483,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_customization.go\n//\n// Generated by this command:\n//"
},
{
"path": "mocks/admin_setting_general_mocks.go",
"chars": 2309,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_general.go\n//\n// Generated by this command:\n//\n//\tmo"
},
{
"path": "mocks/admin_setting_mocks.go",
"chars": 266,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting.go\n//\n// Generated by this command:\n//\n//\tmockgen -s"
},
{
"path": "mocks/admin_setting_oidc_mocks.go",
"chars": 2016,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_oidc.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/admin_setting_saml_mocks.go",
"chars": 2810,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_saml.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/admin_setting_scim_groups_mocks.go",
"chars": 1765,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_scim_groups.go\n//\n// Generated by this command:\n//\n/"
},
{
"path": "mocks/admin_setting_scim_mocks.go",
"chars": 2679,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_scim.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/admin_setting_scim_token_mocks.go",
"chars": 4090,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_scim_token.go\n//\n// Generated by this command:\n//\n//"
},
{
"path": "mocks/admin_setting_smtp_mocks.go",
"chars": 2222,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_smtp.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/admin_setting_twilio_mocks.go",
"chars": 2817,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_setting_twilio.go\n//\n// Generated by this command:\n//\n//\tmoc"
},
{
"path": "mocks/admin_terraform_version_mocks.go",
"chars": 4316,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_terraform_version.go\n//\n// Generated by this command:\n//\n//\t"
},
{
"path": "mocks/admin_user_mocks.go",
"chars": 4997,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_user.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/admin_workspace_mocks.go",
"chars": 2841,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: admin_workspace.go\n//\n// Generated by this command:\n//\n//\tmockgen "
},
{
"path": "mocks/agent_pool_mocks.go",
"chars": 7041,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: agent_pool.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/agent_token_mocks.go",
"chars": 3357,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: agent_token.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/agents.go",
"chars": 2089,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: agent.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=ag"
},
{
"path": "mocks/apply_mocks.go",
"chars": 2040,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: apply.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=ap"
},
{
"path": "mocks/audit_trail_mocks.go",
"chars": 1639,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: audit_trail.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/comment_mocks.go",
"chars": 2674,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: comment.go\n//\n// Generated by this command:\n//\n//\tmockgen -source="
},
{
"path": "mocks/configuration_version_mocks.go",
"chars": 8926,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: configuration_version.go\n//\n// Generated by this command:\n//\n//\tmo"
},
{
"path": "mocks/cost_estimate_mocks.go",
"chars": 2260,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: cost_estimate.go\n//\n// Generated by this command:\n//\n//\tmockgen -s"
},
{
"path": "mocks/github_app_installation_mocks.go",
"chars": 2389,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: github_app_installation.go\n//\n// Generated by this command:\n//\n//\t"
},
{
"path": "mocks/gpg_key_mocks.go",
"chars": 3832,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: gpg_key.go\n//\n// Generated by this command:\n//\n//\tmockgen -source="
},
{
"path": "mocks/ip_ranges_mocks.go",
"chars": 1569,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: ip_ranges.go\n//\n// Generated by this command:\n//\n//\tmockgen -sourc"
},
{
"path": "mocks/logreader_mocks.go",
"chars": 254,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: logreader.go\n//\n// Generated by this command:\n//\n//\tmockgen -sourc"
},
{
"path": "mocks/notification_configuration_mocks.go",
"chars": 5643,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: notification_configuration.go\n//\n// Generated by this command:\n//\n"
},
{
"path": "mocks/oauth_client_mocks.go",
"chars": 6150,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: oauth_client.go\n//\n// Generated by this command:\n//\n//\tmockgen -so"
},
{
"path": "mocks/oauth_token_mocks.go",
"chars": 3428,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: oauth_token.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/organization_membership_mocks.go",
"chars": 4814,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: organization_membership.go\n//\n// Generated by this command:\n//\n//\t"
},
{
"path": "mocks/organization_mocks.go",
"chars": 11600,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: organization.go\n//\n// Generated by this command:\n//\n//\tmockgen -so"
},
{
"path": "mocks/organization_token_mocks.go",
"chars": 5174,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: organization_token.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/plan_export_mocks.go",
"chars": 3308,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: plan_export.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/plan_mocks.go",
"chars": 2569,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: plan.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=pla"
},
{
"path": "mocks/policy_check_mocks.go",
"chars": 3444,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy_check.go\n//\n// Generated by this command:\n//\n//\tmockgen -so"
},
{
"path": "mocks/policy_evaluation.go",
"chars": 3926,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy_evaluation.go\n//\n// Generated by this command:\n//\n//\tmockge"
},
{
"path": "mocks/policy_mocks.go",
"chars": 4964,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=p"
},
{
"path": "mocks/policy_set_mocks.go",
"chars": 11430,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy_set.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/policy_set_parameter_mocks.go",
"chars": 4563,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy_set_parameter.go\n//\n// Generated by this command:\n//\n//\tmoc"
},
{
"path": "mocks/policy_set_version_mocks.go",
"chars": 2947,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: policy_set_version.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "mocks/project_mocks.go",
"chars": 7258,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: project.go\n//\n// Generated by this command:\n//\n//\tmockgen -source="
},
{
"path": "mocks/query_runs_mocks.go",
"chars": 5018,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: query_runs.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/registry_module_mocks.go",
"chars": 10833,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: registry_module.go\n//\n// Generated by this command:\n//\n//\tmockgen "
},
{
"path": "mocks/registry_no_code_module_mocks.go",
"chars": 6363,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: registry_no_code_module.go\n//\n// Generated by this command:\n//\n//\t"
},
{
"path": "mocks/registry_provider_mocks.go",
"chars": 3741,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: registry_provider.go\n//\n// Generated by this command:\n//\n//\tmockge"
},
{
"path": "mocks/registry_provider_platform_mocks.go",
"chars": 4017,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: registry_provider_platform.go\n//\n// Generated by this command:\n//\n"
},
{
"path": "mocks/registry_provider_version_mocks.go",
"chars": 3963,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: registry_provider_version.go\n//\n// Generated by this command:\n//\n/"
},
{
"path": "mocks/run_events_mocks.go",
"chars": 2868,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: run_event.go\n//\n// Generated by this command:\n//\n//\tmockgen -sourc"
},
{
"path": "mocks/run_mocks.go",
"chars": 6630,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: run.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=run."
},
{
"path": "mocks/run_tasks_mocks.go",
"chars": 5398,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: run_task.go\n//\n// Generated by this command:\n//\n//\tmockgen -source"
},
{
"path": "mocks/run_trigger_mocks.go",
"chars": 4107,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: run_trigger.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/ssh_key_mocks.go",
"chars": 3848,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: ssh_key.go\n//\n// Generated by this command:\n//\n//\tmockgen -source="
},
{
"path": "mocks/state_version_mocks.go",
"chars": 9496,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: state_version.go\n//\n// Generated by this command:\n//\n//\tmockgen -s"
},
{
"path": "mocks/state_version_output_mocks.go",
"chars": 2468,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: state_version_output.go\n//\n// Generated by this command:\n//\n//\tmoc"
},
{
"path": "mocks/tag_mocks.go",
"chars": 236,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: tag.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=tag."
},
{
"path": "mocks/task_result_mocks.go",
"chars": 1631,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: task_result.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/task_stages_mocks.go",
"chars": 2922,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: task_stages.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/team_access_mocks.go",
"chars": 3949,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: team_access.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/team_member_mocks.go",
"chars": 4012,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: team_member.go\n//\n// Generated by this command:\n//\n//\tmockgen -sou"
},
{
"path": "mocks/team_mocks.go",
"chars": 3733,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: team.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=tea"
},
{
"path": "mocks/team_project_access_mocks.go",
"chars": 4343,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: team_project_access.go\n//\n// Generated by this command:\n//\n//\tmock"
},
{
"path": "mocks/team_token_mocks.go",
"chars": 5059,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: team_token.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/test_run_mocks.go",
"chars": 4546,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: test_run.go\n//\n// Generated by this command:\n//\n//\tmockgen -source"
},
{
"path": "mocks/test_variables_mocks.go",
"chars": 4274,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: test_variables.go\n//\n// Generated by this command:\n//\n//\tmockgen -"
},
{
"path": "mocks/user_mocks.go",
"chars": 2084,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: user.go\n//\n// Generated by this command:\n//\n//\tmockgen -source=use"
},
{
"path": "mocks/user_token_mocks.go",
"chars": 3240,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: user_token.go\n//\n// Generated by this command:\n//\n//\tmockgen -sour"
},
{
"path": "mocks/variable_mocks.go",
"chars": 4748,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: variable.go\n//\n// Generated by this command:\n//\n//\tmockgen -source"
},
{
"path": "mocks/variable_set_mocks.go",
"chars": 11201,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: variable_set.go\n//\n// Generated by this command:\n//\n//\tmockgen -so"
},
{
"path": "mocks/variable_set_variable_mocks.go",
"chars": 4637,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: variable_set_variable.go\n//\n// Generated by this command:\n//\n//\tmo"
},
{
"path": "mocks/workspace_mocks.go",
"chars": 26100,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: workspace.go\n//\n// Generated by this command:\n//\n//\tmockgen -sourc"
},
{
"path": "mocks/workspace_resources.go",
"chars": 1865,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: workspace_resources.go\n//\n// Generated by this command:\n//\n//\tmock"
},
{
"path": "mocks/workspace_run_tasks_mocks.go",
"chars": 4524,
"preview": "// Code generated by MockGen. DO NOT EDIT.\n// Source: workspace_run_task.go\n//\n// Generated by this command:\n//\n//\tmockg"
},
{
"path": "notification_configuration.go",
"chars": 16513,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net/url"
},
{
"path": "notification_configuration_integration_test.go",
"chars": 29852,
"preview": "// Copyright IBM Corp. 2018, 2025\n// SPDX-License-Identifier: MPL-2.0\n\npackage tfe\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"testing"
}
]
// ... and 158 more files (download for full content)
About this extraction
This page contains the full source code of the hashicorp/go-tfe GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 358 files (2.5 MB), approximately 676.7k tokens, and a symbol index with 3860 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.