StackScripts

StackScript View

get
https://api.linode.com/v4/linode/stackscripts/{stackscriptId}

Returns all of the information about a specified StackScript, including the contents of the script.

Path Parameters

stackscriptId
Required
string

The ID of the StackScript to look up.

Request Samples

curl https://api.linode.com/v4/linode/stackscripts/10079

Response Samples

{
  "created": "2018-01-01T00:01:01",
  "updated": "2018-01-01T00:01:01",
  "id": 1234,
  "username": "myuser",
  "label": "a-stackscript",
  "description": "This StackScript installs and configures MySQL\n",
  "is_public": true,
  "user_gravatar_id": "a445b305abda30ebc766bc7fda037c37",
  "images": [],
  "deployments_total": 12,
  "deployments_active": 1,
  "rev_note": "Set up MySQL",
  "script": "\"#!/bin/bash\"\n",
  "user_defined_fields": [
    {
      "label": "Enter the password",
      "name": "DB_PASSWORD",
      "example": "hunter2",
      "oneOf": "avalue,anothervalue,thirdvalue",
      "manyOf": "avalue,anothervalue,thirdvalue",
      "default": ""
    }
  ],
  "mine": true
}

Responses

200: A single StackScript.

created
string <date-time>

The date this StackScript was created.

updated
string <date-time>

The date this StackScript was last updated.

id
integer

The unique ID of this StackScript.

username
string

The User who created the StackScript.

label
Filterable
string [3 .. 128] characters

The StackScript's label is for display purposes only.

description
Filterable
string

A description for the StackScript.

is_public
Filterable
boolean

This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.

user_gravatar_id
string

The Gravatar ID for the User who created the StackScript.

images
array of objects

An array of Image IDs. These are the Images that can be deployed with this StackScript.

any/all indicates that all available Images, including private Images, are accepted.

deployments_total
Filterable
integer

The total number of times this StackScript has been deployed.

deployments_active
integer

Count of currently active, deployed Linodes created from this StackScript.

rev_note
Filterable
string

This field allows you to add notes for the set of revisions made to this StackScript.

script
string

The script to execute when provisioning a new Linode with this StackScript.

user_defined_fields
array of objects

This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See Declare User-Defined Fields (UDFs) for more information.

label
string

A human-readable label for the field that will serve as the input prompt for entering the value during deployment.

name
string

The name of the field.

example
string

An example value for the field.

oneOf
string

A list of acceptable single values for the field.

manyOf
string

A list of acceptable values for the field in any quantity, combination or order.

default
string

The default value. If not specified, this value will be used.

mine
Filterable
boolean

Returns true if this StackScript is owned by the account of the user making the request, and the user making the request is unrestricted or has access to this StackScript.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

StackScript Update

put
https://api.linode.com/v4/linode/stackscripts/{stackscriptId}

Updates a StackScript.

Once a StackScript is made public, it cannot be made private.

Path Parameters

stackscriptId
Required
string

The ID of the StackScript to look up.

Request Body Schema

description
Filterable
string

A description for the StackScript.

images
array

An array of Image IDs. These are the Images that can be deployed with this StackScript.

any/all indicates that all available Images, including private Images, are accepted.

is_public
Filterable
boolean

This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.

label
Filterable
string [3 .. 128] characters

The StackScript's label is for display purposes only.

rev_note
Filterable
string

This field allows you to add notes for the set of revisions made to this StackScript.

script
string

The script to execute when provisioning a new Linode with this StackScript.

Request Samples

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X PUT -d '{
      "label": "a-stackscript",
      "description": "This StackScript installs and configures MySQL",
      "images": [
        "linode/debian9",
        "linode/debian8"
      ],
      "is_public": true,
      "rev_note": "Set up MySQL",
      "script": "#!/bin/bash"
    }' \
    https://api.linode.com/v4/linode/stackscripts/10079

Response Samples

{
  "id": 1234,
  "label": "a-stackscript",
  "username": "myuser",
  "created": "2018-01-01T00:01:01",
  "updated": "2018-01-01T00:01:01",
  "description": "This StackScript installs and configures MySQL\n",
  "is_public": true,
  "user_gravatar_id": "a445b305abda30ebc766bc7fda037c37",
  "images": [],
  "deployments_total": 12,
  "deployments_active": 1,
  "rev_note": "Set up MySQL",
  "script": "\"#!/bin/bash\"\n",
  "user_defined_fields": [
    {
      "label": "Enter the password",
      "name": "DB_PASSWORD",
      "example": "hunter2",
      "oneOf": "avalue,anothervalue,thirdvalue",
      "manyOf": "avalue,anothervalue,thirdvalue",
      "default": ""
    }
  ],
  "mine": true
}

Responses

200: StackScript was successfully modified.

id
integer

The unique ID of this StackScript.

label
Filterable
string [3 .. 128] characters

The StackScript's label is for display purposes only.

username
string

The User who created the StackScript.

description
Filterable
string

A description for the StackScript.

created
string <date-time>

The date this StackScript was created.

updated
string <date-time>

The date this StackScript was last updated.

is_public
Filterable
boolean

This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.

user_gravatar_id
string

The Gravatar ID for the User who created the StackScript.

images
array of objects

An array of Image IDs. These are the Images that can be deployed with this StackScript.

any/all indicates that all available Images, including private Images, are accepted.

deployments_total
Filterable
integer

The total number of times this StackScript has been deployed.

deployments_active
integer

Count of currently active, deployed Linodes created from this StackScript.

rev_note
Filterable
string

This field allows you to add notes for the set of revisions made to this StackScript.

script
string

The script to execute when provisioning a new Linode with this StackScript.

user_defined_fields
array of objects

This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See Declare User-Defined Fields (UDFs) for more information.

label
string

A human-readable label for the field that will serve as the input prompt for entering the value during deployment.

name
string

The name of the field.

example
string

An example value for the field.

oneOf
string

A list of acceptable single values for the field.

manyOf
string

A list of acceptable values for the field in any quantity, combination or order.

default
string

The default value. If not specified, this value will be used.

mine
Filterable
boolean

Returns true if this StackScript is owned by the account of the user making the request, and the user making the request is unrestricted or has access to this StackScript.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

StackScript Delete

delete
https://api.linode.com/v4/linode/stackscripts/{stackscriptId}

Deletes a private StackScript you have permission to read_write. You cannot delete a public StackScript.

Path Parameters

stackscriptId
Required
string

The ID of the StackScript to look up.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
    -X DELETE \
    https://api.linode.com/v4/linode/stackscripts/10079

Response Samples

{}

Responses

200: StackScript was deleted.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.