Skip to content

Commit cd5e979

Browse files
authored
Pytfe API Coverage Doc (#185)
1 parent 7b7652d commit cd5e979

2 files changed

Lines changed: 116 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ and upstream HCP Terraform API docs.
164164
| Need | Start here |
165165
|---|---|
166166
| Configure the SDK | [Authentication](./docs/authentication.md), [Pagination](./docs/pagination.md), [Logging](./docs/LOGGING.md) |
167-
| API guides | [API index](./docs/api/index.md), [Workspaces](./docs/api/workspaces.md), [Runs/plans/applies](./docs/api/runs-plans-applies.md), [State versions](./docs/api/state-versions.md) |
167+
| API guides | [API index](./docs/api/index.md), [API coverage](./docs/api-coverage.md), [Workspaces](./docs/api/workspaces.md), [Runs/plans/applies](./docs/api/runs-plans-applies.md), [State versions](./docs/api/state-versions.md) |
168168
| Scenario guides | [API-driven run](./docs/scenarios/api-driven-run.md), [State management](./docs/scenarios/state-management.md), [Migrate workspaces and state](./docs/scenarios/migrate-workspaces-and-state.md), [Team access onboarding](./docs/scenarios/team-access-onboarding.md), [No-code provisioning](./docs/scenarios/no-code-provisioning.md), [TFE identity bootstrap](./docs/scenarios/tfe-identity-bootstrap.md), [TFE admin bootstrap](./docs/scenarios/tfe-admin-bootstrap.md), [OIDC dynamic credentials](./docs/scenarios/oidc-dynamic-credentials.md) |
169169
| Operations guides | [Troubleshooting](./docs/troubleshooting.md), [Errors](./docs/errors.md), [Terraform Enterprise](./docs/terraform-enterprise.md) |
170170
| Contribute to the SDK | [CONTRIBUTING](./docs/CONTRIBUTING.md), [ITERATORS](./docs/ITERATORS.md), [MODELS](./docs/MODELS.md), [RESOURCE](./docs/RESOURCE.md) |

‎docs/api-coverage.md‎

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
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 &nbsp;·&nbsp; 🟡 Partial &nbsp;·&nbsp; ❌ 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

Comments
 (0)