Skip to content

List a template's versions, newest first.

GET
/v1/projects/{projectId}/asg/launch-templates/{launchTemplateId}/versions
Code sample: Shell / cURL
curl --request GET \
--url 'https://stratum.example.com/v1/projects/example/asg/launch-templates/example/versions?limit=100' \
--header 'Authorization: Bearer <token>'

Keyset-paginated on the version number; nextPageToken is the last version number on the page. Cedar-gated on asg:DescribeLaunchTemplate.

projectId
required
string
/^p-[a-z0-9-]+$/
launchTemplateId
required
string
/^lt-[a-z0-9]+$/
limit
integer
default: 100 >= 1 <= 500
page_token
string

The nextPageToken of the previous page (a version number).

Versions.

Media typeapplication/json
object
items
required
Array
object
description
string
<= 1024 characters
imageId
required

An active image visible to the project.

string
instanceType
required

Instance type name (m1.medium), as Compute takes it.

string
subnetIdStrategy

static launches into subnetId; inherited lets the group pick a subnet by AZ balance. Defaults to static when subnetId is given, else inherited.

string
Allowed values: static inherited
subnetId

Required with static; forbidden with inherited.

string
securityGroupIds
Array<string>
floatingIpPool

Allocate a floating IP from this pool at launch.

string
rootVolumeSizeBytes

0 = the image’s size.

integer format: int64
rootStorageClass

Storage class (by name) for each instance’s root volume; omitted = the image’s own class. Must be one of the image’s launchableStorageClasses: checked when the version is saved, 409 IMAGE_POOL_MISMATCH otherwise.

string
placementGroupName

placement group — the only spread mechanism inside one AZ.

string
keyPairName
string
userData

Raw cloud-config / Ignition (NOT base64). Returned on describe; the audit trail carries only its SHA-256.

string
<= 65536 characters
iamInstanceProfileId

An active instance profile in the same project.

string
metadataOptions

Per-instance AWS-shape IMDS options. Returned on the Instance and settable at launch (CreateInstanceRequest) or via the modify-metadata-options action. httpEndpoint is enforced: when disabled the whole IMDS surface (including the Stratum SSH-CA agent plane) is off for the instance. httpTokens + httpPutResponseHopLimit are recorded for AWS parity only — Stratum’s IMDS always requires a session token (effectively IMDSv2-only), so optional does not relax that in v1. Omitted fields default to enabled / required / 1.

object
httpEndpoint

Whether IMDS is reachable for the instance. Default enabled.

string
Allowed values: enabled disabled
httpTokens

IMDSv2 token requirement (recorded; Stratum is always v2). Default required.

string
Allowed values: optional required
httpPutResponseHopLimit

Recorded for AWS parity. Default 1.

integer
>= 1 <= 64
instanceMetadataTags

When enabled the guest can read its own tags at /latest/meta-data/tags/instance/. Default disabled; the image builder enables it on a build instance.

string
Allowed values: enabled disabled
blockDeviceMappings

Per-device overrides for a multi-volume image; every data device the image carries is launched (cloned from its snapshot and attached before first boot) whether or not it is named here. 400 for a device the image does not have or a size below the snapshot’s.

Array<object>

A per-device override for one of the data devices a multi-volume image carries. deviceIndex must be one the image has (>= 1; device 0 is the root, sized by rootVolumeSizeBytes); sizeBytes must be at or above the snapshot’s; absent fields keep the image’s values. Devices not named are launched as the image mapped them.

object
deviceIndex
required
integer
>= 1
sizeBytes
integer format: int64
deleteOnTermination
boolean
agentEnabled
required

false launches without the instance agent; the group’s instance health mode then rides lifecycle state alone.

boolean
default: true
tagsAtLaunch

Tags stamped on every launched instance (reserved prefixes refused).

object
key
additional properties
string
id
required

ltv-…

string
templateId
required
string
versionNumber
required

Monotonic from 1; immutable.

integer
userDataSha256
string
createdBy
required
string
createdAt
required
string format: date-time
nextPageToken

The last version number on the page (newest first).

string

Example

{
"items": [
{
"subnetIdStrategy": "static",
"metadataOptions": {
"httpEndpoint": "enabled",
"httpTokens": "optional",
"instanceMetadataTags": "enabled"
},
"agentEnabled": true
}
]
}

Bad request.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}

Authenticated but not authorized.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}

Resource not found.

Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
>= 400 <= 599
detail
string
instance
string format: uri-reference
requestId
required
string
code
required
string
issues

The findings of a rejected IAM policy document (custom and resource policies).

Array<object>

One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.

object
code
required

The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.

string
statement
required

Index of the statement at fault; -1 for the document as a whole.

integer
>= -1
detail
required
string
action

The offending action, where one is at fault (ACTION_NOT_APPLICABLE).

string
errors

Field errors, for codes that carry them: each problem at its field (see FieldError). Documented on the responses that set it, e.g. approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED. Absent otherwise.

Array<object>

One field’s problem, the stage-2 installer API’s shape. field is the field’s path, message what is wrong with it.

object
field
required

The field’s path, e.g. links[0].interface, disks[1].confirm, mgmt.address or role; empty for the whole request.

string
message
required
string
details

Structured facts about the refusal, for codes that carry them. The shape is fixed per code and documented on the response that answers it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and IMAGE_IN_USE. Absent for codes that carry none.

object
key
additional properties
any

Example

{
"issues": [
{
"code": "ACTION_NOT_APPLICABLE",
"action": "compute:CreateVpc"
}
]
}