|
| 1 | +# pytfe API Coverage |
| 2 | + |
| 3 | +This document tracks which HCP Terraform / Terraform Enterprise API resources are |
| 4 | +implemented in pytfe. Each implemented resource is exposed on the client as |
| 5 | +`client.<namespace>`. This doc is updated in contrast to v1.1.0 release, and the |
| 6 | +resource list is reconciled against the public |
| 7 | +[HCP Terraform API documentation](https://developer.hashicorp.com/terraform/cloud-docs/api-docs). |
| 8 | + |
| 9 | +**Legend:** ✅ Covered · 🟡 Partial · ❌ Not yet implemented |
| 10 | + |
| 11 | +pytfe implements **61 resource namespaces**. The resources still missing or |
| 12 | +partially covered are listed at the bottom of this page. |
| 13 | + |
| 14 | +## Covered resources |
| 15 | + |
| 16 | +| Domain | Resource | Client namespace | Status | |
| 17 | +|---|---|---|---| |
| 18 | +| Organizations & access | Organizations | `client.organizations` | ✅ | |
| 19 | +| | Organization memberships | `client.organization_memberships` | ✅ | |
| 20 | +| | Organization tags | `client.organization_tags` | ✅ | |
| 21 | +| | Organization tokens | `client.organization_tokens` | ✅ | |
| 22 | +| | Organization token TTL policies | `client.organization_token_ttl_policies` | ✅ | |
| 23 | +| | Organization audit configuration | `client.organization_audit_configurations` | ✅ | |
| 24 | +| | Teams | `client.teams` | ✅ | |
| 25 | +| | Team tokens | `client.team_tokens` | ✅ | |
| 26 | +| | Team project access | `client.team_project_accesses` | ✅ | |
| 27 | +| | Team workspace access | `client.team_workspace_accesses` | ✅ | |
| 28 | +| | Users | `client.users` | ✅ | |
| 29 | +| | SSH keys | `client.ssh_keys` | ✅ | |
| 30 | +| Workspaces & config | Workspaces | `client.workspaces` | ✅ | |
| 31 | +| | Workspace resources | `client.workspace_resources` | ✅ | |
| 32 | +| | Projects | `client.projects` | ✅ | |
| 33 | +| | Variables | `client.variables` | ✅ | |
| 34 | +| | Variable sets | `client.variable_sets` | ✅ | |
| 35 | +| | Variable set variables | `client.variable_set_variables` | ✅ | |
| 36 | +| | Configuration versions | `client.configuration_versions` | ✅ | |
| 37 | +| | Reserved tag keys | `client.reserved_tag_key` | ✅ | |
| 38 | +| Runs & lifecycle | Runs | `client.runs` | ✅ | |
| 39 | +| | Run events | `client.run_events` | ✅ | |
| 40 | +| | Run triggers | `client.run_triggers` | ✅ | |
| 41 | +| | Plans | `client.plans` | ✅ | |
| 42 | +| | Applies | `client.applies` | ✅ | |
| 43 | +| | Comments | `client.comments` | ✅ | |
| 44 | +| | Query runs | `client.query_runs` | ✅ | |
| 45 | +| | State versions | `client.state_versions` | ✅ | |
| 46 | +| | State version outputs | `client.state_version_outputs` | ✅ | |
| 47 | +| Policy | Policies | `client.policies` | ✅ | |
| 48 | +| | Policy checks | `client.policy_checks` | ✅ | |
| 49 | +| | Policy sets | `client.policy_sets` | ✅ | |
| 50 | +| | Policy set parameters | `client.policy_set_parameters` | ✅ | |
| 51 | +| | Policy set versions | `client.policy_set_versions` | ✅ | |
| 52 | +| | Policy set outcomes | `client.policy_set_outcomes` | ✅ | |
| 53 | +| | Policy evaluations | `client.policy_evaluations` | ✅ | |
| 54 | +| Run tasks | Run tasks | `client.run_tasks` | ✅ | |
| 55 | +| | Run task integrations | `client.run_task_integrations` | ✅ | |
| 56 | +| | Workspace run tasks | `client.workspace_run_tasks` | ✅ | |
| 57 | +| | Task stages | `client.task_stages` | ✅ | |
| 58 | +| | Task results | `client.task_results` | ✅ | |
| 59 | +| Registry & modules | Registry modules | `client.registry_modules` | ✅ | |
| 60 | +| | Registry providers | `client.registry_providers` | ✅ | |
| 61 | +| | Registry provider platforms | `client.registry_provider_platforms` | ✅ | |
| 62 | +| | Registry provider versions | `client.registry_provider_versions` | ✅ | |
| 63 | +| | No-code modules | `client.no_code_modules` | ✅ | |
| 64 | +| Agents | Agent pools | `client.agent_pools` | ✅ | |
| 65 | +| | Agents | `client.agents` | ✅ | |
| 66 | +| | Agent tokens | `client.agent_tokens` | ✅ | |
| 67 | +| VCS & integrations | OAuth clients | `client.oauth_clients` | ✅ | |
| 68 | +| | OAuth tokens | `client.oauth_tokens` | ✅ | |
| 69 | +| | GitHub App installations | `client.github_app_installations` | ✅ | |
| 70 | +| Notifications | Notification configurations | `client.notification_configurations` | ✅ | |
| 71 | +| Stacks | Stacks | `client.stacks` | ✅ | |
| 72 | +| | Stack configurations | `client.stack_configurations` | ✅ | |
| 73 | +| Explorer | Explorer | `client.explorer` | ✅ | |
| 74 | +| HYOK OIDC | AWS OIDC configurations | `client.aws_oidc_configurations` | ✅ | |
| 75 | +| | Azure OIDC configurations | `client.azure_oidc_configurations` | ✅ | |
| 76 | +| | GCP OIDC configurations | `client.gcp_oidc_configurations` | ✅ | |
| 77 | +| | Vault OIDC configurations | `client.vault_oidc_configurations` | ✅ | |
| 78 | +| Admin | SAML / SCIM / SMTP / token-TTL settings | `client.admin` | ✅ | |
| 79 | + |
| 80 | +## Partial coverage |
| 81 | + |
| 82 | +| Resource | What's covered | What's missing | |
| 83 | +|---|---|---| |
| 84 | +| Account | 🟡 `client.users.read_current()` returns the authenticated account | Dedicated account-details / update endpoints | |
| 85 | +| VCS | 🟡 VCS connections via `client.oauth_clients` / `client.oauth_tokens` | VCS events | |
| 86 | +| Audit trails | 🟡 Audit streaming **configuration** via `client.organization_audit_configurations` | Reading audit-trail log entries | |
| 87 | + |
| 88 | +## Not yet implemented |
| 89 | + |
| 90 | +Public HCP Terraform API resources that do not yet have a pytfe client namespace: |
| 91 | + |
| 92 | +| Resource | Notes | |
| 93 | +|---|---| |
| 94 | +| Assessment results | Health-assessment reads. Model exists (`models/assessment_result.py`); surfaced indirectly via `workspace.current_assessment_result`. | |
| 95 | +| Audit trails tokens | Auth tokens for the audit-trail streaming API. | |
| 96 | +| Change requests | — | |
| 97 | +| Cost estimates | Run cost-estimation reads. Model exists (`models/cost_estimate.py`). | |
| 98 | +| Feature sets | Organization feature sets. | |
| 99 | +| GPG keys | Private Registry provider signing keys. | |
| 100 | +| Group member roles | Team member role assignments. | |
| 101 | +| Invoices | Organization billing invoices. | |
| 102 | +| IP allowlists | Organization IP allowlist. | |
| 103 | +| IP ranges | `/api/meta/ip-ranges`. | |
| 104 | +| Metrics service tokens | Metrics endpoint service tokens. | |
| 105 | +| Plan exports | Sentinel mock / plan-export download. Model exists (`models/plan_export.py`). | |
| 106 | +| Subscriptions | Organization subscription management. | |
| 107 | +| Terraform actions | Only the Run `invoke_action_addrs` field today; no dedicated resource. | |
| 108 | +| User tokens | Personal (user) API tokens. | |
| 109 | +| VCS events | — | |
| 110 | + |
| 111 | +### Terraform Enterprise only (separate admin API) |
| 112 | + |
| 113 | +| Resource | Notes | |
| 114 | +|---|---| |
| 115 | +| Site-admin | TFE site-admin endpoints (admin organizations, users, runs, workspaces, Terraform / OPA / Sentinel versions). Not part of the public HCP Terraform API. | |
0 commit comments