Help Center/ Resource Formation Service/ API Reference/ API/ Stack Sets/ Obtaining a Stack Set Template
Updated on 2024-11-04 GMT+08:00

Obtaining a Stack Set Template

Function

ShowStackSetTemplate

This API obtains the template of a specified stack set.

If the template is successfully obtained, the template download link (OBS Pre Signed address, valid for 5 minutes) is returned in temporary redirection mode. Most clients automatically redirect and download the template.

If automatic redirection is not performed, the template download link is obtained by referring to the HTTP redirection rule and manually download the template.

URI

GET /v1/stack-sets/{stack_set_name}/templates

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

stack_set_name

Yes

String

Stack set name. The name is unique within its domain (domain_id) and region. Only letters, digits, underscores (_), and hyphens (-) are allowed. The name is case-sensitive and must start with a letter.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

stack_set_id

No

String

Unique ID of a stack set.

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

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

For parallel development in a team, users may want to ensure that the stack set they operate is the one created by themselves, not the one with the same name created by other teammates after deleting the previous one. Therefore, they can use this ID for strong matching.

RFS ensures that the ID of each stack set is different and does not change with updates. If the stack_set_id value is different from the current stack set ID, 400 is returned.

access_control_source_ips

No

Array of strings

The array of source ips that are allowed to access the stack set template, the source ip must be an IPv4 address with a subnet mask in CIDR notation.

access_control_source_vpc_ids

No

Array of strings

The array of source vpc ids that are allowed to access the stack set template, the source vpc id should only contain lowercase letters, digits, and hyphens (-).

call_identity

No

String

This parameter is only supported when the stack set permission model is SERVICE_MANAGED. Specify whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, SELF is specified.

Use SELF for stack sets with self-managed permissions.

  • No matter what call identity is specified, the stack set involved in request is always belonging to management account.*

    • SELF - Invoked as the management account.

    • DELEGATED_ADMIN - Invoked as a delegated administrator account. User account must be registered as a delegated administrator in the management account.

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

Client-Request-Id

Yes

String

Unique request ID. It is specified by a user and is used to locate a request. UUID is recommended.

Response Parameters

Status code: 307

Table 4 Response header parameters

Parameter

Type

Description

Location

String

HTTP redirection header. The client can use this header to redirect to a new address. The content is a template download link, which is a pre-signed OBS URL with 5-min validity.

Status code: 400

Table 5 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 6 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 401

Table 7 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 8 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 403

Table 9 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 10 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 404

Table 11 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 12 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 429

Table 13 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 14 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 500

Table 15 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 16 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Example Requests

  • Obtain a Stack Set Template

    GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/templates
  • Obtain a stack set template and check whether the stack ID matches the current stack.

    GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/templates?stack_set_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2
  • Obtain a stack set template and provide access_control_source_ips to control the source ips that are allowed to access the stack set template.

    GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/templates?access_control_source_ips=100.11.5.100/24&access_control_source_ips=100.22.5.100/24
  • Obtain a stack set template and provide access_control_source_vpc_ids to control the source vpc ids that are allowed to access the stack set template.

    GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/templates?access_control_source_vpc_ids=d42a8768-ad3c-4bca-91t8-53870f3402a9&access_control_source_vpc_ids=d42a8768-ad3c-4bca-91t8-53870f3402a8

Example Responses

None

Status Codes

Status Code

Description

307

Obtained. Temporary redirection.

400

Invalid request.

401

Authentication failed.

403

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

404

The stack set does not exist.

429

Too frequent requests.

500

Internal server error.