Updated on 2024-12-12 GMT+08:00

Listing Stack Outputs

Function

ListStackOutputs

This API lists all outputs of a stack.

The stack output is the return information generated after the deployment of the output statement block defined in the template is complete. After the deployment is complete, you can call this API to obtain the specific output information.

If the stack is in a non-final state (ending with IN_PROGRESS), this API returns empty value. The non-final states may include:

  • DEPLOYMENT_IN_PROGRESS

  • DELETION_IN_PROGRESS

  • ROLLBACK_IN_PROGRESS

Output is defined in the HCL syntax. The returned information is similar to the return value programmatically. For details, refer to the HCL documentation.

URI

GET /v1/{project_id}/stacks/{stack_name}/outputs

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

A project ID is obtained by calling an API or from the console.

Obtaining a Project ID

stack_name

Yes

String

A stack name is unique within its domain (domain_id), region, and project (project_id). It is case-sensitive and starts with a letter. Only letters, digits, underscores (_), and hyphens (-) are allowed.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

stack_id

No

String

Unique stack ID.

It is a UUID generated by RFS when a stack is created.

Stack names are unique at one specific time, so you can create a stack named HelloWorld and another stack with the same name after deleting the first one.

For parallel development, team members may want to ensure that they are operating the stack they created, not one with the same name created by other members after deleting the previous one.

To avoid this mismatch, check the ID, since RFS ensures each stack has a unique ID that does not change with updates. If the stack_id value differs from the current stack ID, 400 is returned.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

Client-Request-Id

Yes

String

A unique request ID is specified by a user to locate a request. UUID is recommended.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

outputs

Array of StackOutput objects

Stack output list.

Table 5 StackOutput

Parameter

Type

Description

name

String

Name of a stack output, defined in a template.

For example, in the following HCL template, the value of name is vpc_id.

output "vpc_id" {
  value = huaweicloud_vpc.my_hello_world_vpc.id
}

In a JSON template, the value of name is vpc_id.

{
  "output": {
    "vpc_id": [
      {
        "value": "${huaweicloud_vpc.my_hello_world_vpc.id}"
      }
    ]
  }
}

description

String

Description of a stack output, defined in a template.

type

String

Output type of a stack.

value

String

Output value of a stack.

sensitive

Boolean

Whether a stack output is sensitive. This is defined in a template.

If an output is defined as sensitive in a template, the actual value and type of the output will not be returned in the response body. Instead, [/topic/body/section/table/tgroup/tbody/row/entry/p/br {""}) (br] will be returned.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 7 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 401

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 9 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 403

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 11 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 404

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 13 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 429

Table 14 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 15 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 500

Table 16 Response body parameters

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 17 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Example Requests

  • List the stack outputs.

    GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/outputs
  • List the stack outputs and check whether the stack ID matches the current stack.

    GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/outputs?stack_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2

Example Responses

Status code: 200

The stack outputs listed.

{
  "outputs" : [ {
    "name" : "my_first_vpc",
    "sensitive" : true,
    "type" : "<sensitive>",
    "value" : "<sensitive>",
    "description" : "type and value is invisible when sensitive is true."
  }, {
    "name" : "my_second_vpc",
    "type" : "string",
    "value" : "\"huaweicloud_vpc.my_second_vpc\"",
    "description" : "type and value is real when sensitive not set or is false."
  } ]
}

Status Codes

Status Code

Description

200

The stack outputs listed.

400

Invalid request.

401

Authentication failed.

403

The user does not have the permission to call this API.

404

The stack does not exist.

429

Too frequent requests.

500

Internal server error.