A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.hashicorp.com/terraform/cloud-docs/api-docs/plans below:

/plans API reference for HCP Terraform | Terraform

A plan represents the execution plan of a Run in a Terraform workspace.

Plan States

The plan state is found in data.attributes.status, and you can reference the following list of possible states.

State Description pending The initial status of a plan once it has been created. managed_queued/queued The plan has been queued, awaiting backend service capacity to run terraform. running The plan is running. errored The plan has errored. This is a final state. canceled The plan has been canceled. This is a final state. finished The plan has completed successfully. This is a final state. unreachable The plan will not run. This is a final state.

GET /plans/:id

Parameter Description id The ID of the plan to show.

There is no endpoint to list plans. You can find the ID for a plan in the relationships.plan property of a run object.

Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  https://app.terraform.io/api/v2/plans/plan-8F5JFydVYAmtTjET
Sample Response
{
  "data": {
    "id": "plan-8F5JFydVYAmtTjET",
    "type": "plans",
    "attributes": {
      "execution-details": {
        "mode": "remote",
      },
      "generated-configuration": false,
      "has-changes": true,
      "resource-additions": 0,
      "resource-changes": 1,
      "resource-destructions": 0,
      "resource-imports": 0,
      "status": "finished",
      "status-timestamps": {
        "queued-at": "2018-07-02T22:29:53+00:00",
        "pending-at": "2018-07-02T22:29:53+00:00",
        "started-at": "2018-07-02T22:29:54+00:00",
        "finished-at": "2018-07-02T22:29:58+00:00"
      },
      "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg"
    },
    "relationships": {
      "state-versions": {
        "data": []
      }
    },
    "links": {
      "self": "/api/v2/plans/plan-8F5JFydVYAmtTjET",
      "json-output": "/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output"
    }
  }
}

Using HCP Terraform agents

HCP Terraform agents allow HCP Terraform to communicate with isolated, private, or on-premises infrastructure. When a workspace is set to use the agent execution mode, the plan response will include additional details about the agent pool and agent used.

{
  "data": {
    "id": "plan-8F5JFydVYAmtTjET",
    "type": "plans",
    "attributes": {
      "execution-details": {
        "agent-id": "agent-S1Y7tcKxXPJDQAvq",
        "agent-name": "agent_01",
        "agent-pool-id": "apool-Zigq2VGreKq7nwph",
        "agent-pool-name": "first-pool",
        "mode": "agent",
      },
      "generated-configuration": false,
      "has-changes": true,
      "resource-additions": 0,
      "resource-changes": 1,
      "resource-destructions": 0,
      "resource-imports": 0,
      "status": "finished",
      "status-timestamps": {
        "queued-at": "2018-07-02T22:29:53+00:00",
        "pending-at": "2018-07-02T22:29:53+00:00",
        "started-at": "2018-07-02T22:29:54+00:00",
        "finished-at": "2018-07-02T22:29:58+00:00"
      },
      "log-read-url": "https://archivist.terraform.io/v1/object/dmF1bHQ6djE6OFA1eEdlSFVHRSs4YUcwaW83a1dRRDA0U2E3T3FiWk1HM2NyQlNtcS9JS1hHN3dmTXJmaFhEYTlHdTF1ZlgxZ2wzVC9kVTlNcjRPOEJkK050VFI3U3dvS2ZuaUhFSGpVenJVUFYzSFVZQ1VZYno3T3UyYjdDRVRPRE5pbWJDVTIrNllQTENyTndYd1Y0ak1DL1dPVlN1VlNxKzYzbWlIcnJPa2dRRkJZZGtFeTNiaU84YlZ4QWs2QzlLY3VJb3lmWlIrajF4a1hYZTlsWnFYemRkL2pNOG9Zc0ZDakdVMCtURUE3dDNMODRsRnY4cWl1dUN5dUVuUzdnZzFwL3BNeHlwbXNXZWRrUDhXdzhGNnF4c3dqaXlZS29oL3FKakI5dm9uYU5ZKzAybnloREdnQ3J2Rk5WMlBJemZQTg"
    },
    "relationships": {
      "state-versions": {
        "data": []
      }
    },
    "links": {
      "self": "/api/v2/plans/plan-8F5JFydVYAmtTjET",
      "json-output": "/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output"
    }
  }
}

GET /plans/:id/json-output

GET /runs/:id/plan/json-output

These endpoints generate a temporary authenticated URL to the location of the JSON formatted execution plan. When successful, this endpoint responds with a temporary redirect that should be followed. If using a client that can follow redirects, you can use this endpoint to save the .json file locally without needing to save the temporary URL.

This temporary URL provided by the redirect has a life of 1 minute, and should not be relied upon beyond the initial request. If you need repeat access, you should use this endpoint to generate a new URL each time.

Note: This endpoint is available for plans using Terraform 0.12 and later. For Terraform Enterprise, this endpoint is available from v202005-1, and its stability was improved in v202007-1.

Note: This endpoint cannot be accessed with organization tokens. You must access it with a user token or team token that has admin level access to the workspace. (More about permissions.)

Status Response Reason 204 No Content Plan JSON supported, but plan has not yet completed. 307 Temporary Redirect Plan JSON found and temporary download URL generated 422 JSON API error object Plan does not use a supported version of terraform (< 0.12.X) Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --location \
  https://app.terraform.io/api/v2/plans/plan-8F5JFydVYAmtTjET/json-output |
  > json-output.json

GET /plans/:id/sanitized-plan

GET /runs/:id/plan/sanitized-plan

HCP Terraform workspaces that have enabled hold your own key (HYOK) encryption create sanitized plans that omit sensitive encrypted data. You can download the sanitized version of the plan file with your sensitive information redacted. Learn more about hold your own key.

These endpoints generate a temporary authenticated URL to the sanitized execution plan. When successful, this endpoint responds with a temporary redirect. Follow the redirect to save your .json file locally without needing to save the temporary URL.

The temporary URL that the redirect provides has a life of 1 minute. If you need repeat access, use this endpoint to generate a new URL.

Status Response Reason 204 No Content Sanitized plan supported, but plan has not yet completed. 307 Temporary Redirect Sanitized plan found and temporary download URL generated 422 JSON API error object Sanitized plan does not use a supported version of terraform (< 1.3.0) Sample Request
curl \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/vnd.api+json" \
  --location \
  https://app.terraform.io/api/v2/plans/plan-8F5JFydVYAmtTjET/sanitized-plan |
  > json-output.json

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4