Template

This endpoint is used to create, update, search or delete teamplates inside an organization.

Entity fields:

Path
Type
Description

data.type

string

Should be "template"

data.attributes.tcl

string

Terraform Configuration Language job template

data.attribute.name

string

Template name

data.attribute.description

string

Template description

data.attribute.version

string

Template version

To better understand Terrakube Configuration Language job templates please refer to the following GitHub repository.

Example:

{
  "data": {
    "type": "template",
    "attributes": {
      "name": "Some name",
      "description": "Some description",
      "version": "1.0.0",
      "tcl": "{{templateSample}}"
    }
  }
}

Supported Operations

post

Creates an item of type template and adds it to template

Path parameters
organizationIdstringRequired

organization Identifier

Body
Responses
201

Successful response

application/vnd.api+json
post
POST /api/v1/organization/{organizationId}/template HTTP/1.1
Host: 
Content-Type: application/vnd.api+json
Accept: */*
Content-Length: 305

{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "createdBy": null,
      "createdDate": null,
      "description": null,
      "name": null,
      "tcl": null,
      "updatedBy": null,
      "updatedDate": null,
      "version": null
    },
    "relationships": {
      "organization": {
        "data": [
          null
        ]
      }
    }
  },
  "included": [
    {
      "type": "text",
      "id": "text",
      "attributes": {},
      "relationships": {}
    }
  ]
}
201

Successful response

{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "createdBy": null,
      "createdDate": null,
      "description": null,
      "name": null,
      "tcl": null,
      "updatedBy": null,
      "updatedDate": null,
      "version": null
    },
    "relationships": {
      "organization": {
        "data": [
          null
        ]
      }
    }
  },
  "included": [
    {
      "type": "text",
      "id": "text",
      "attributes": {},
      "relationships": {}
    }
  ]
}
get

Returns an instance of type template

Path parameters
organizationIdstringRequired

organization Identifier

templateIdstringRequired

template Identifier

Query parameters
Responses
200

Successful response

application/vnd.api+json
get
GET /api/v1/organization/{organizationId}/template/{templateId} HTTP/1.1
Host: 
Accept: */*
200

Successful response

{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "createdBy": null,
      "createdDate": null,
      "description": null,
      "name": null,
      "tcl": null,
      "updatedBy": null,
      "updatedDate": null,
      "version": null
    },
    "relationships": {
      "organization": {
        "data": [
          null
        ]
      }
    }
  },
  "included": [
    {
      "type": "text",
      "id": "text",
      "attributes": {},
      "relationships": {}
    }
  ]
}
delete

Deletes an instance of type template

Path parameters
organizationIdstringRequired

organization Identifier

templateIdstringRequired

template Identifier

Responses
204

Successful response

delete
DELETE /api/v1/organization/{organizationId}/template/{templateId} HTTP/1.1
Host: 
Accept: */*
204

Successful response

No content

patch

Modifies an instance of type template

Path parameters
organizationIdstringRequired

organization Identifier

templateIdstringRequired

template Identifier

Body
Responses
204

Successful response

patch
PATCH /api/v1/organization/{organizationId}/template/{templateId} HTTP/1.1
Host: 
Content-Type: application/vnd.api+json
Accept: */*
Content-Length: 305

{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "createdBy": null,
      "createdDate": null,
      "description": null,
      "name": null,
      "tcl": null,
      "updatedBy": null,
      "updatedDate": null,
      "version": null
    },
    "relationships": {
      "organization": {
        "data": [
          null
        ]
      }
    }
  },
  "included": [
    {
      "type": "text",
      "id": "text",
      "attributes": {},
      "relationships": {}
    }
  ]
}
204

Successful response

No content

get

Returns the relationship template

Path parameters
organizationIdstringRequired

organization Identifier

Query parameters
filter[template]stringOptional

Filters the collection of template using a 'disjoint' RSQL expression

page[number]integer · int32Optional

Number of pages to return. Can be used with page[size]

page[size]integer · int32Optional

Number of elements per page. Can be used with page[number]

page[offset]integer · int32Optional

Offset from 0 to start paginating. Can be used with page[limit]

page[limit]integer · int32Optional

Maximum number of items to return. Can be used with page[offset]

page[totals]stringOptional

For requesting total pages/records be included in the response page meta data

Responses
200

Successful response

application/vnd.api+json
get
GET /api/v1/organization/{organizationId}/template HTTP/1.1
Host: 
Accept: */*
200

Successful response

{
  "data": [
    {
      "type": "text",
      "id": "text",
      "attributes": {
        "createdBy": null,
        "createdDate": null,
        "description": null,
        "name": null,
        "tcl": null,
        "updatedBy": null,
        "updatedDate": null,
        "version": null
      },
      "relationships": {
        "organization": {
          "data": [
            null
          ]
        }
      }
    }
  ],
  "included": [
    {
      "type": "text",
      "id": "text",
      "attributes": {},
      "relationships": {}
    }
  ]
}

For a complete list of organization operation please visit the OpenAPI specification

Last updated

Was this helpful?