Teams

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

You need to be part of the administrator Active Directory Group to work with this endpoint

The default group is handled using the Spring Boot property

org.azbuilder.owner=TERRAKUBE_ADMIN

Entity fields:

PathTypeDescription

data.type

string

Should be "team"

data.attributes.name

string

Active Directory Group name

data.attributes.manageWorkspace

boolean

Enable Create/Update/Delete Workspaces for a Team

data.attributes.manageModule

boolean

Enable Create/Update/Delete Workspaces for a Team

data.attributes.manageProvider

boolean

Enable Create/Update/Delete Terraform Provider for a Team

data.attributes.manageVcs

boolean

Enable Create/Update/Delete VCS connection for private GIT Repositories for a Team

data.attributes.manageTemplates

boolean

Enable Create/Update/Delete Templates for a Team

Example:

{
  "data": {
    "type": "team",
    "attributes": {
      "name": "TERRAKUBE_TEAM",
      "manageWorkspace": true,
      "manageModule": true,
      "manageProvider": true,
      "manageVcs": true,
      "manageTemplate": true
    }
  }
}

Supported Operations

Returns an instance of type team

GET/api/v1/organization/{organizationId}/team/{teamId}
Path parameters
organizationId*string

organization Identifier

teamId*string

team Identifier

Query parameters
Response

Successful response

Body
datateam (object)
includedarray of object

Included resources

Request
const response = await fetch('/api/v1/organization/{organizationId}/team/{teamId}', {
    method: 'GET',
    headers: {},
});
const data = await response.json();
Response
{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "manageModule": false,
      "manageProvider": false,
      "manageWorkspace": false,
      "name": "text"
    },
    "relationships": {
      "organization": {
        "id": "text",
        "type": "organization"
      }
    }
  },
  "included": [
    {
      "id": "text",
      "type": "text"
    }
  ]
}

Creates an item of type team and adds it to team

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

organization Identifier

Body
datateam (object)
Response

Successful response

Body
datateam (object)
Request
const response = await fetch('/api/v1/organization/{organizationId}/team', {
    method: 'POST',
    headers: {
      "Content-Type": "application/vnd.api+json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "data": {
    "type": "text",
    "id": "text",
    "attributes": {
      "manageModule": false,
      "manageProvider": false,
      "manageWorkspace": false,
      "name": "text"
    },
    "relationships": {
      "organization": {
        "id": "text",
        "type": "organization"
      }
    }
  }
}

Deletes an instance of type team

DELETE/api/v1/organization/{organizationId}/team/{teamId}
Path parameters
organizationId*string

organization Identifier

teamId*string

team Identifier

Response

Successful response

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

Modifies an instance of type team

PATCH/api/v1/organization/{organizationId}/team/{teamId}
Path parameters
organizationId*string

organization Identifier

teamId*string

team Identifier

Body
datateam (object)
Response

Successful response

Request
const response = await fetch('/api/v1/organization/{organizationId}/team/{teamId}', {
    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