Module

This endpoint is used to create, update, search or delete module information inside a Terrakube organization.

To use this endpoint you should have "manageModule" access at team level and a Terrakube organization

Entity fields:

PathTypeDescription

data.type

string

Should be "workspace"

data.attributes.name

string

Unique workspace for an Terrakube organization

data.attributes.branch

boolean

Git branch to be used

data.attributes.source

boolean

Git repository to be used

data.attributes.terraformVersion

boolean

Terraform version to run the workspace

data.relationships.vcs.data.type

string

Should be "vcs" (OPTIONAL)

data.relationships.vcs.data.type

string

Should be the VCS Connection Id (OPTIONAL)

Example:

{
  "data": {
    "type": "module",
    "attributes": {
      "name": "Terrakube module",
      "description": "Module Description",
      "provider": "Terraform Provider",
      "source": "https://github.com/AzBuilder/terraform-sample-repository.git"
    },
        "relationships": {
            "vcs": {
                "data": {
                    "type": "vcs",
                    "id": "{{vcsId}}"
                }
            }
        }
  }
}

Supported Operations

Returns an instance of type module

GET/api/v1/organization/{organizationId}/module/{moduleId}
Path parameters
organizationId*string

organization Identifier

moduleId*string

module Identifier

Query parameters
Response

Successful response

Body
datamodule (object)
includedarray of object

Included resources

Request
const response = await fetch('/api/v1/organization/{organizationId}/module/{moduleId}', {
    method: 'GET',
    headers: {},
});
const data = await response.json();
Response
{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "description": "text",
      "name": "text",
      "provider": "text",
      "registryPath": "text",
      "source": "text",
      "sourceSample": "text",
      "versions": []
    },
    "relationships": {
      "organization": {
        "id": "text",
        "type": "organization"
      }
    }
  },
  "included": [
    {
      "id": "text",
      "type": "text"
    }
  ]
}

Creates an item of type module and adds it to module

POST/api/v1/organization/{organizationId}/module
Path parameters
organizationId*string

organization Identifier

Body
datamodule (object)
Response

Successful response

Body
datamodule (object)
Request
const response = await fetch('/api/v1/organization/{organizationId}/module', {
    method: 'POST',
    headers: {
      "Content-Type": "application/vnd.api+json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "description": "text",
      "name": "text",
      "provider": "text",
      "registryPath": "text",
      "source": "text",
      "sourceSample": "text",
      "versions": []
    },
    "relationships": {
      "organization": {
        "id": "text",
        "type": "organization"
      }
    }
  }
}

Deletes an instance of type module

DELETE/api/v1/organization/{organizationId}/module/{moduleId}
Path parameters
organizationId*string

organization Identifier

moduleId*string

module Identifier

Response

Successful response

Request
const response = await fetch('/api/v1/organization/{organizationId}/module/{moduleId}', {
    method: 'DELETE',
    headers: {},
});
const data = await response.json();

Modifies an instance of type module

PATCH/api/v1/organization/{organizationId}/module/{moduleId}
Path parameters
organizationId*string

organization Identifier

moduleId*string

module Identifier

Body
datamodule (object)
Response

Successful response

Request
const response = await fetch('/api/v1/organization/{organizationId}/module/{moduleId}', {
    method: 'PATCH',
    headers: {
      "Content-Type": "application/vnd.api+json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();

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

Last updated