NAV
Python

Stax Core API v20190206

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

The Stax API is organised around REST, uses resource-oriented URLs, return responses are JSON and uses standard HTTP response codes, authentication and verbs.

Base URLs:

Terms of service Web: Support

Authentication

Accounts

Stax Accounts feature allows you to securely and easily create, view and centrally manage your AWS Accounts and get started deploying applications, workloads and resources.

Update Account Type members

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/account-types/members', headers = headers)

print(r.json())

PUT /20190206/account-types/members

Move Accounts between Account Types.

Body parameter

{
  "Members": [
    {
      "AccountId": "B4407766-E821-450D-B7C8-9EA38B58C432",
      "AccountTypeId": "B4407766-E821-450D-B7C8-9EA38B58C432"
    }
  ]
}

Parameters

Name In Type Required Description
body body accounts.UpdateAccountTypeMembers true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.UpdateAccountTypeMembersEvent
403 Forbidden The response returned if the request is forbidden. Error
404 Not Found The response returned if the request is unsuccessful. Error

Fetch Accounts

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/accounts', headers = headers)

print(r.json())

GET /20190206/accounts

Return all AWS Accounts within your Stax Organisation.
Optionally, return the requested AWS Account.

Parameters

Name In Type Required Description
account_names query string false The list of Account Names you want returned, comma delimited.
filter query string false The Account statuses to return, comma delimited.
id_filter query string false List of Account IDs you want returned, comma delimited.
aws_account_id_filter query string false List of AWS Account IDs you want returned, comma delimited.
account_type_filter query string false The Account Type IDs to return, comma delimited.
offset query integer false Pagination - The page number to return.
limit query integer false Pagination - The number of items per page to return.
sort query string false The field to sort on.
sort_order query string false The sort order - up or down?
include_tags query boolean false Do you want all the Tags?

Detailed descriptions

filter: The Account statuses to return, comma delimited.

Filter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.

account_type_filter: The Account Type IDs to return, comma delimited.

Enumerated Values

Parameter Value
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "Accounts": [
    {
      "AWSLoginURLs": {
        "admin": "string",
        "developer": "string",
        "readonly": "string"
      },
      "AccountRole": "MEMBER",
      "AccountType": "string",
      "AllocatedTS": "2018-10-11T01:05:45.000Z",
      "AssuranceState": "ACTIVE",
      "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
      "AwsAccountAlias": "string",
      "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
      "AwsAccountId": "012345678901",
      "AwsAccountStatusId": "string",
      "AwsLoginURL": "string",
      "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Email": "stax.user@example.com",
      "FactoryVersion": "f8cf81b",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LatestCost": 72.52,
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "Name": "bakery",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrgsOuId": "string",
      "Origin": "STAX",
      "Status": "ACTIVE",
      "StaxCreated": true,
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ],
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.ReadAccounts

Create Account

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts', headers = headers)

print(r.json())

POST /20190206/accounts

Create a new Stax-hardened AWS Account in your Stax Organisation.

Body parameter

{
  "AccountType": "development",
  "AwsAccountAlias": "string",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body accounts.CreateAccount true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Account": {
      "AccountType": "development",
      "AwsAccountAlias": "string",
      "Name": "automation",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Tags": {
        "CostCode": "12345"
      }
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.CreateAccountResponse
400 Bad Request The response returned if the request is unsuccessful. Error
409 Conflict The response returned if the account has another operation in progress. Error

Close Account

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts/close', headers = headers)

print(r.json())

POST /20190206/accounts/close

Closes an AWS Account in your Stax Organisation.

Body parameter

{
  "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Parameters

Name In Type Required Description
body body accounts.CloseAccount true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.CloseAccountResponse
400 Bad Request The response returned if the request is unsuccessful. Error
409 Conflict The response returned if the account has another operation in progress. Error

Discover Accounts

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts/discover', headers = headers)

print(r.json())

POST /20190206/accounts/discover

Discover all AWS Accounts associated with the org into stax

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string",
  "Detail": {
    "TraceId": "string",
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.DiscoverAccountsResponse
400 Bad Request The response returned if the request is unsuccessful due to user input. Error
403 Forbidden The response returned if the account given has already been discovered. Error
404 Not Found The response returned if the requested account cannot be discovered. Error
409 Conflict The response returned if another account discovery operation is already in progress. Error

Discover Account

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts/discover/{aws_account_id}', headers = headers)

print(r.json())

POST /20190206/accounts/discover/{aws_account_id}

Attempt to (re)discover an AWS Account

Parameters

Name In Type Required Description
aws_account_id path string true The AWS Account Id of the Account to discover.

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string",
  "Detail": {
    "TraceId": "string",
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.DiscoverAccountsResponse
400 Bad Request The response returned if the request is unsuccessful due to user input. Error
403 Forbidden The response returned if the account given has already been discovered. Error
404 Not Found The response returned if the requested account cannot be discovered. Error
409 Conflict The response returned if the account has another operation in progress. Error

Onboard AWS Account

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts/onboard', headers = headers)

print(r.json())

POST /20190206/accounts/onboard

Onboard an existing, discovered AWS Account to your Stax Organisation.

Body parameter

{
  "AccountType": "Development",
  "AwsAccountId": "012345678901",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body accounts.OnboardAccount true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Account": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "AccountName": "automation",
      "AccountType": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "automation",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Tags": {
        "CostCode": "12345"
      }
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.UpdateAccountResponse
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the request is unsuccessful. Error
409 Conflict The response returned if the account has another operation in progress. Error

Fetch Account Types

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/accounts/types', headers = headers)

print(r.json())

GET /20190206/accounts/types

Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.

Parameters

Name In Type Required Description
id_filter query string false List of AccountType IDs you want returned, comma delimited.

Example responses

200 Response

{
  "AccountTypes": [
    {
      "Accounts": [],
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Development",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Policies": [],
      "Roles": [],
      "Status": "ACTIVE",
      "StaxCreated": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.ReadAccountTypes

Create Account Type

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/accounts/types', headers = headers)

print(r.json())

POST /20190206/accounts/types

Create a new Account Type within your Stax Organisation.
Account Types can be used to control Group access.

Body parameter

{
  "Name": "Development"
}

Parameters

Name In Type Required Description
body body accounts.CreateAccountType true none

Example responses

200 Response

{
  "Detail": {
    "AccountType": {
      "Accounts": [],
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Development",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Policies": [],
      "Roles": [],
      "Status": "ACTIVE",
      "StaxCreated": true
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.CreateAccountTypeResponse
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if the request is forbidden. Error

Update AWS access

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/accounts/types/access', headers = headers)

print(r.json())

PUT /20190206/accounts/types/access

Adjust the AWS role permissions between Account Types and Groups.

Body parameter

{
  "AddRoles": [
    {
      "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoleName": "admin"
    }
  ],
  "RemoveRoles": []
}

Parameters

Name In Type Required Description
body body accounts.UpdateAccountTypeAccess true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.UpdateAccountTypeAccessEvent
400 Bad Request The response returned if the request is unsuccessful. Error

Delete Account Type

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/accounts/types/{account_type_id}', headers = headers)

print(r.json())

DELETE /20190206/accounts/types/{account_type_id}

Delete an Account Type from your Stax Organisation.
An Account Type can only be deleted if there are no attached Accounts.

Parameters

Name In Type Required Description
account_type_id path string true The UUID of the Catalogue item.

Example responses

200 Response

{
  "AccountTypes": {
    "Accounts": [],
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "Development",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Policies": [],
    "Roles": [],
    "Status": "ACTIVE",
    "StaxCreated": true
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.DeleteAccountTypeResponse
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if the request is forbidden. Error
404 Not Found The response returned if the request is unsuccessful. Error

Fetch Account Type

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/accounts/types/{account_type_id}', headers = headers)

print(r.json())

GET /20190206/accounts/types/{account_type_id}

Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.

Parameters

Name In Type Required Description
account_type_id path string true The UUID of the Account Type.
id_filter query string false List of AccountType IDs you want returned, comma delimited.

Example responses

200 Response

{
  "AccountTypes": [
    {
      "Accounts": [],
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Development",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Policies": [],
      "Roles": [],
      "Status": "ACTIVE",
      "StaxCreated": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.ReadAccountTypes

Update Account Type

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/accounts/types/{account_type_id}', headers = headers)

print(r.json())

PUT /20190206/accounts/types/{account_type_id}

Change the details of an Account Type, such as the name.

Body parameter

{
  "Name": "Development"
}

Parameters

Name In Type Required Description
account_type_id path string true The UUID of the Account Type to update.
body body accounts.UpdateAccountType true none

Example responses

200 Response

{
  "AccountTypes": {
    "Accounts": [],
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "Development",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Policies": [],
    "Roles": [],
    "Status": "ACTIVE",
    "StaxCreated": true
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.UpdateAccountTypeResponse
403 Forbidden The response returned if the request is forbidden. Error
404 Not Found The response returned if the request is unsuccessful. Error

Fetch Account

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/accounts/{account_id}', headers = headers)

print(r.json())

GET /20190206/accounts/{account_id}

Return the requested AWS Account.

Parameters

Name In Type Required Description
account_id path string true The Stax UUID of the Account.
account_names query string false The list of Account Names you want returned, comma delimited.
filter query string false The Account statuses to return, comma delimited.
id_filter query string false List of Account IDs you want returned, comma delimited.
aws_account_id_filter query string false List of AWS Account IDs you want returned, comma delimited.
account_type_filter query string false The Account Type IDs to return, comma delimited.
offset query integer false Pagination - The page number to return.
limit query integer false Pagination - The number of items per page to return.
sort query string false The field to sort on.
sort_order query string false The sort order - up or down?
include_tags query boolean false Do you want all the Tags?

Detailed descriptions

filter: The Account statuses to return, comma delimited.

Filter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.

account_type_filter: The Account Type IDs to return, comma delimited.

Enumerated Values

Parameter Value
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "Accounts": [
    {
      "AWSLoginURLs": {
        "admin": "string",
        "developer": "string",
        "readonly": "string"
      },
      "AccountRole": "MEMBER",
      "AccountType": "string",
      "AllocatedTS": "2018-10-11T01:05:45.000Z",
      "AssuranceState": "ACTIVE",
      "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
      "AwsAccountAlias": "string",
      "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
      "AwsAccountId": "012345678901",
      "AwsAccountStatusId": "string",
      "AwsLoginURL": "string",
      "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Email": "stax.user@example.com",
      "FactoryVersion": "f8cf81b",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LatestCost": 72.52,
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "Name": "bakery",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrgsOuId": "string",
      "Origin": "STAX",
      "Status": "ACTIVE",
      "StaxCreated": true,
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ],
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.ReadAccounts

Update Account

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/accounts/{account_id}', headers = headers)

print(r.json())

PUT /20190206/accounts/{account_id}

Change the details of an Account, such as the name, tags or Account Type

Body parameter

{
  "AccountType": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AwsAccountAlias": "aws-iam-alias",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
account_id path string true The UUID of the Account to update.
body body accounts.UpdateAccount true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Account": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "AccountName": "automation",
      "AccountType": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "automation",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Tags": {
        "CostCode": "12345"
      }
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. accounts.UpdateAccountResponse
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the request is unsuccessful. Error
409 Conflict The response returned if the account has another operation in progress. Error

Fetch Account Policy Attachments

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/accounts/{account_id}/policies', headers = headers)

print(r.json())

GET /20190206/accounts/{account_id}/policies

Return the policies that are attached to the AWS Account.

Parameters

Name In Type Required Description
account_id path string true The Stax UUID of the Account.

Example responses

200 Response

{
  "PolicyAttachments": [
    {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyAttachmentType": "ORGANISATIONAL_UNIT",
      "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.ReadPolicyAttachments
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the Account could not be found. Error

Groups

Stax Groups can be assigned access to either built-in Stax roles by assigning AWS roles to a group, or to a customized Permission Set.

Fetch Groups

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/groups', headers = headers)

print(r.json())

GET /20190206/groups

Return all Groups within your Stax Organisation.
Optionally, return the requested Group.

Parameters

Name In Type Required Description
id_filter query string false List of Group IDs you want returned, comma delimited.

Example responses

200 Response

{
  "Groups": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "GroupType": "LOCAL",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DevOps",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Users": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadGroupsResponse

Create Group

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/groups', headers = headers)

print(r.json())

POST /20190206/groups

Create a new Group within your Stax Organisation.

Body parameter

{
  "Name": "devops"
}

Parameters

Name In Type Required Description
body body teams.CreateGroup true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string",
  "GroupId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.CreateGroupEvent
400 Bad Request The response returned if the request is unsuccessful. Error
409 Conflict A group with the same name already exists. StaxEvent

Update Group Members

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/groups/members', headers = headers)

print(r.json())

PUT /20190206/groups/members

Add members to a Group or Remove members from a Group

Body parameter

{
  "AddMembers": [
    {
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "UserId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ],
  "RemoveMembers": [
    {
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "UserId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Parameters

Name In Type Required Description
body body teams.UpdateGroupMembers true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateGroupMembersEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found Could not locate user or group. StaxEvent

Delete Group

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/groups/{group_id}', headers = headers)

print(r.json())

DELETE /20190206/groups/{group_id}

Delete a Group from your Stax Organisation.
A Group can only be deleted if there are no team members in the Group.

Parameters

Name In Type Required Description
group_id path string true The UUID of Group to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.DeleteGroupEvent
400 Bad Request The Group still contains members. StaxEvent
404 Not Found The Group could not be found. StaxEvent

Fetch Group

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/groups/{group_id}', headers = headers)

print(r.json())

GET /20190206/groups/{group_id}

Return the requested Group from your Stax Organisation.

Parameters

Name In Type Required Description
group_id path string true The UUID of the Group to return.

Example responses

200 Response

{
  "Groups": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "GroupType": "LOCAL",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DevOps",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Users": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadGroupsResponse
404 Not Found Group not found. Error

Update Group

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/groups/{group_id}', headers = headers)

print(r.json())

PUT /20190206/groups/{group_id}

Change the details of a Group, such as the name.

Body parameter

{
  "Name": "devops"
}

Parameters

Name In Type Required Description
group_id path string true The UUID of the Group to update.
body body teams.UpdateGroup true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateGroupEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Group could not be found. StaxEvent
409 Conflict A group with the same name already exists. StaxEvent

Networking

Stax Networks provides a simple and flexible way of deploying AWS network topologies.

Fetch DNS Resolvers

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers', headers = headers)

print(r.json())

GET /20190206/networking/dnsresolvers


Returns the DNS Resolver of the Stax Networking Hub.
Providing the UUID of a Stax DNS Resolver will return a specific Stax DNS Resolver's details.

Parameters

Name In Type Required Description
status query string false The Stax DNS Resolver statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Resolver statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsResolvers": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Interfaces": 2,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "dns",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OutboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsResolvers
404 Not Found The Stax Networking resource cannot be found. Error

Delete DNS Resolver

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers/{dns_resolver_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/dnsresolvers/{dns_resolver_id}


Deletes a Stax DNS Resolver within a Stax Networking Hub.

Parameters

Name In Type Required Description
dns_resolver_id path uuidv4 true The UUID of the Stax DNS Resolver to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteDnsResolverEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The Stax Networking Hub doesn't match supplied credentials. Error
404 Not Found The Stax DNS Resolver to delete cannot be found. Error

Fetch DNS Resolver

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers/{dns_resolver_id}', headers = headers)

print(r.json())

GET /20190206/networking/dnsresolvers/{dns_resolver_id}


Returns the DNS Resolver of the Stax Networking Hub.
Providing the UUID of a Stax DNS Resolver will return a specific Stax DNS Resolver's details.

Parameters

Name In Type Required Description
dns_resolver_id path uuidv4 true The UUID of the Stax DNS Resolver to fetch.
status query string false The Stax DNS Resolver statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Resolver statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsResolvers": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Interfaces": 2,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "dns",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OutboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsResolvers
404 Not Found The Stax Networking resource cannot be found. Error

Update DNS Resolver

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers/{dns_resolver_id}', headers = headers)

print(r.json())

PUT /20190206/networking/dnsresolvers/{dns_resolver_id}


Updates the attributes for a given Stax DNS Resolver. Only supplied values are updated.

Body parameter

{
  "Name": "dns",
  "NumberOfInterfaces": 2,
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
dns_resolver_id path uuidv4 true The UUID of the Stax DNS Resolver to update.
body body networking.UpdateDnsResolver true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateDnsResolverEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The Stax Networking Hub doesn't match supplied credentials. Error
404 Not Found The Stax DNS Resolver to update cannot be found. Error

Fetch Resolver DNS Rules

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers/{dns_resolver_id}/dnsrules', headers = headers)

print(r.json())

GET /20190206/networking/dnsresolvers/{dns_resolver_id}/dnsrules


Returns the Stax DNS Rules of the Stax DNS Resolver.
Providing the UUID of a Stax DNS Rule will return a specific Stax DNS Rule's details.

Parameters

Name In Type Required Description
dns_resolver_id path uuidv4 true The UUID of the Stax DNS Resolver.
status query string false The Stax DNS Rule statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Rule statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsRules": [
    {
      "AwsRuleId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DnsResolverId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DomainName": "test.local",
      "ForwarderIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "on-premises",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsRules
404 Not Found The Stax Networking resource cannot be found. Error

Create DNS Rule

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/dnsresolvers/{dns_resolver_id}/dnsrules', headers = headers)

print(r.json())

POST /20190206/networking/dnsresolvers/{dns_resolver_id}/dnsrules


Creates a Stax DNS Rule within a Stax DNS Resolver.

Body parameter

{
  "DomainName": "test.local",
  "ForwarderIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Name": "on-premises",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
dns_resolver_id path uuidv4 true The UUID of the Stax DNS Resolver to create the Stax DNS Rule within.
body body networking.CreateDnsRule true none

Example responses

200 Response

{
  "Detail": {
    "DnsRule": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateDnsRuleEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The Stax Networking Hub doesn't match supplied credentials. Error
404 Not Found The Stax DNS Resolver to create the Stax DNS Rule within cannot be found. Error

Fetch DNS Rules

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dnsrules', headers = headers)

print(r.json())

GET /20190206/networking/dnsrules


Returns the Stax DNS Rules of the Stax DNS Resolver.
Providing the UUID of a Stax DNS Rule will return a specific Stax DNS Rule's details.

Parameters

Name In Type Required Description
status query string false The Stax DNS Rule statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Rule statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsRules": [
    {
      "AwsRuleId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DnsResolverId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DomainName": "test.local",
      "ForwarderIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "on-premises",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsRules
404 Not Found The Stax Networking resource cannot be found. Error

Delete DNS Rule

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/dnsrules/{dns_rule_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/dnsrules/{dns_rule_id}


Deletes a Stax DNS Rule within a Stax DNS Resolver

Parameters

Name In Type Required Description
dns_rule_id path uuidv4 true The UUID of the Stax DNS Rule.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteDnsRuleEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The Stax Networking Hub doesn't match supplied credentials. Error
404 Not Found The Stax DNS Rule to delete cannot be found. Error

Fetch DNS Rule

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dnsrules/{dns_rule_id}', headers = headers)

print(r.json())

GET /20190206/networking/dnsrules/{dns_rule_id}


Returns the Stax DNS Rules of the Stax DNS Resolver.
Providing the UUID of a Stax DNS Rule will return a specific Stax DNS Rule's details.

Parameters

Name In Type Required Description
dns_rule_id path uuidv4 true The UUID of the Stax DNS Rule to fetch.
status query string false The Stax DNS Rule statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Rule statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsRules": [
    {
      "AwsRuleId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DnsResolverId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DomainName": "test.local",
      "ForwarderIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "on-premises",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsRules
404 Not Found The Stax Networking resource cannot be found. Error

Update DNS Rule

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/dnsrules/{dns_rule_id}', headers = headers)

print(r.json())

PUT /20190206/networking/dnsrules/{dns_rule_id}


Updates the attributes for a given Stax DNS Rule. Only supplied values are updated.

Body parameter

{
  "ForwarderIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Name": "on-premises",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
dns_rule_id path uuidv4 true The UUID of the Stax DNS Rule to update.
body body networking.UpdateDnsRule true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateDnsRuleEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The Stax Networking Hub doesn't match supplied credentials. Error
404 Not Found The Stax DNS Rule to update cannot be found. Error

Fetch DX Associations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxassociations', headers = headers)

print(r.json())

GET /20190206/networking/dxassociations


Returns all the Stax DX Asssociations.
Providing the UUID of a Stax Networking Hub will return the Stax DX Associations for the Stax Networking Hub.
Providing the UUID of a Stax DX Association will return a specific Stax DX Association's details.

Parameters

Name In Type Required Description
status query string false The Stax DX Association statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Association statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxAssociations": [
    {
      "AwsAssociationId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Prefixes": [
        "192.168.0.0/24",
        "192.168.1.0/24"
      ],
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxAssociations
404 Not Found The Stax Networking resource cannot be found. Error

Delete DX Association

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/dxassociations/{dx_association_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/dxassociations/{dx_association_id}


Deletes a Stax DX Association.

Parameters

Name In Type Required Description
dx_association_id path uuidv4 true The UUID of the Stax DX Association to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteDxAssociationEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax DX Association to delete cannot be found. Error

Fetch DX Association

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxassociations/{dx_association_id}', params={
  'status': 'ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS'
}, headers = headers)

print(r.json())

GET /20190206/networking/dxassociations/{dx_association_id}


Returns all the Stax DX Asssociations.
Providing the UUID of a Stax Networking Hub will return the Stax DX Associations for the Stax Networking Hub.
Providing the UUID of a Stax DX Association will return a specific Stax DX Association's details.

Parameters

Name In Type Required Description
dx_association_id path uuidv4 true The UUID of the Stax DX Association to fetch.
status query string true The Stax DX Association statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Association statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxAssociations": [
    {
      "AwsAssociationId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Prefixes": [
        "192.168.0.0/24",
        "192.168.1.0/24"
      ],
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxAssociations
404 Not Found The Stax Networking resource cannot be found. Error

Update DX Association

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/dxassociations/{dx_association_id}', headers = headers)

print(r.json())

PUT /20190206/networking/dxassociations/{dx_association_id}


Updates the attributes for a given Stax DX Association. Only supplied values are updated.

Body parameter

{
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ]
}

Parameters

Name In Type Required Description
dx_association_id path uuidv4 true The UUID of the Stax DX Association to update.
body body networking.UpdateDxAssociation true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateDxAssociationEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax DX Association to update cannot be found. Error

Fetch DX Gateways

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxgateways', headers = headers)

print(r.json())

GET /20190206/networking/dxgateways


Returns all the Stax DX Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax DX Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax DX Gateway will return a specific Stax DX Gateway's details.

Parameters

Name In Type Required Description
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "GatewayType": "TRANSIT",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxGateways
404 Not Found The Stax Networking resource cannot be found. Error

Delete DX Gateway

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/dxgateways/{dx_gateway_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/dxgateways/{dx_gateway_id}


Deletes a Stax DX Gateway.

Parameters

Name In Type Required Description
dx_gateway_id path uuidv4 true The UUID of the Stax DX Gateway to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteDxGatewayEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax DX Vif to delete cannot be found. Error

Fetch DX Gateway

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxgateways/{dx_gateway_id}', headers = headers)

print(r.json())

GET /20190206/networking/dxgateways/{dx_gateway_id}


Returns all the Stax DX Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax DX Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax DX Gateway will return a specific Stax DX Gateway's details.

Parameters

Name In Type Required Description
dx_gateway_id path uuidv4 true The UUID of the Stax DX Gateway to fetch.
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "GatewayType": "TRANSIT",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxGateways
404 Not Found The Stax Networking resource cannot be found. Error

Fetch Gateway DX Associations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxgateways/{dx_gateway_id}/dxassociations', headers = headers)

print(r.json())

GET /20190206/networking/dxgateways/{dx_gateway_id}/dxassociations


Returns all the Stax DX Asssociations.
Providing the UUID of a Stax Networking Hub will return the Stax DX Associations for the Stax Networking Hub.
Providing the UUID of a Stax DX Association will return a specific Stax DX Association's details.

Parameters

Name In Type Required Description
dx_gateway_id path uuidv4 true The UUID of the Stax DX Gateway to fetch associations for.
status query string false The Stax DX Association statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Association statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxAssociations": [
    {
      "AwsAssociationId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Prefixes": [
        "192.168.0.0/24",
        "192.168.1.0/24"
      ],
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxAssociations
404 Not Found The Stax Networking resource cannot be found. Error

Create DX Association

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/dxgateways/{dx_gateway_id}/dxassociations', headers = headers)

print(r.json())

POST /20190206/networking/dxgateways/{dx_gateway_id}/dxassociations


Creates a Stax DX Association between a Stax Networking Hub or Stax VPC and a Stax DX Gateway.

Providing a NetworkingHubId will attempt to associate the Direct Connect Gateway that contains Transit
VIFs to the Networking Hubs Transit Gateway.

Providing a VPCId will attempt attempt to associate the Direct Connect Gateway that contains Private VIFs
to the VPCs Virtual Private Gateway.

Body parameter

{
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ]
}

Parameters

Name In Type Required Description
dx_gateway_id path uuidv4 true The UUID of the Stax DX Gateway to association with a Stax Networking Hub.
body body networking.CreateDxAssociation true none

Example responses

200 Response

{
  "Detail": {
    "DxAssociation": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateDxAssociationEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Resources to create the DX Association for cannot be found. Error

Fetch Gateway DX Vifs

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxgateways/{dx_gateway_id}/dxvifs', headers = headers)

print(r.json())

GET /20190206/networking/dxgateways/{dx_gateway_id}/dxvifs


Returns all the Stax DX Vifs.
Providing the UUID of a Stax DX Gateway will return the Stax DX Vifs attached to the Stax DX Gateway.
Providing the UUID of a Stax DX Vif will return a specific Stax DX Vif's details.

Parameters

Name In Type Required Description
dx_gateway_id path uuidv4 true The UUID of the Stax DX Vif.
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxVifs": [
    {
      "Asn": 64512,
      "AwsConnectionId": "dxcon-abcdefgh",
      "AwsRouterIp": "192.168.0.2/30",
      "AwsVifId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "JumboMtu": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod VIF",
      "Region": "ap-northeast-1",
      "RouterIp": "192.168.0.1/30",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VifType": "TRANSIT",
      "Vlan": 4000
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxVifs
404 Not Found The Stax Networking resource cannot be found. Error

Create DX Resources

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/dxresources', headers = headers)

print(r.json())

POST /20190206/networking/dxresources


Creates a Stax DX Resource, a DX Gateway and/or DX Vif.

Body parameter

{
  "Gateway": {
    "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Asn": 64512,
    "Name": "Prod Gateway"
  },
  "Vif": {
    "Asn": 64513,
    "AwsConnectionId": "dxcon-abcdefgh",
    "AwsRouterIp": "192.168.0.2/30",
    "BgpAuthKey": "secret",
    "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "JumboMtu": false,
    "Name": "Prod VIF",
    "RouterIp": "192.168.0.1/30",
    "Tags": {
      "CostCode": "12345"
    },
    "Vlan": 4000
  }
}

Parameters

Name In Type Required Description
body body networking.CreateDxResource true none

Example responses

200 Response

{
  "Detail": {
    "DxResource": {
      "Gateway": {
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
      },
      "Vif": {
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
      }
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateDxResourceEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Resource to deploy the DX Resources into cannot be found. Error

Fetch DX Vifs

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxvifs', headers = headers)

print(r.json())

GET /20190206/networking/dxvifs


Returns all the Stax DX Vifs.
Providing the UUID of a Stax DX Gateway will return the Stax DX Vifs attached to the Stax DX Gateway.
Providing the UUID of a Stax DX Vif will return a specific Stax DX Vif's details.

Parameters

Name In Type Required Description
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxVifs": [
    {
      "Asn": 64512,
      "AwsConnectionId": "dxcon-abcdefgh",
      "AwsRouterIp": "192.168.0.2/30",
      "AwsVifId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "JumboMtu": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod VIF",
      "Region": "ap-northeast-1",
      "RouterIp": "192.168.0.1/30",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VifType": "TRANSIT",
      "Vlan": 4000
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxVifs
404 Not Found The Stax Networking resource cannot be found. Error

Delete DX Vif

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/dxvifs/{dx_vif_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/dxvifs/{dx_vif_id}


Deletes a Stax DX Vif.

Parameters

Name In Type Required Description
dx_vif_id path uuidv4 true The UUID of the Stax DX Vif to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteDxVifEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax DX Vif to delete cannot be found. Error

Fetch DX Vif

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxvifs/{dx_vif_id}', headers = headers)

print(r.json())

GET /20190206/networking/dxvifs/{dx_vif_id}


Returns all the Stax DX Vifs.
Providing the UUID of a Stax DX Gateway will return the Stax DX Vifs attached to the Stax DX Gateway.
Providing the UUID of a Stax DX Vif will return a specific Stax DX Vif's details.

Parameters

Name In Type Required Description
dx_vif_id path uuidv4 true The UUID of the Stax DX Vif to fetch.
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxVifs": [
    {
      "Asn": 64512,
      "AwsConnectionId": "dxcon-abcdefgh",
      "AwsRouterIp": "192.168.0.2/30",
      "AwsVifId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "JumboMtu": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod VIF",
      "Region": "ap-northeast-1",
      "RouterIp": "192.168.0.1/30",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VifType": "TRANSIT",
      "Vlan": 4000
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxVifs
404 Not Found The Stax Networking resource cannot be found. Error

Update DX VIf

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/dxvifs/{dx_vif_id}', headers = headers)

print(r.json())

PUT /20190206/networking/dxvifs/{dx_vif_id}


Updates the attributes for a given Stax DX Vif. Only supplied values are updated.

Body parameter

{
  "JumboMtu": false,
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
dx_vif_id path uuidv4 true The UUID of the Stax DX Vif to update.
body body networking.UpdateDxVif true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateDxVifEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax DX Vif to update cannot be found. Error

Fetch DX VIF Status

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/dxvifs/{dx_vif_id}/status', headers = headers)

print(r.json())

GET /20190206/networking/dxvifs/{dx_vif_id}/status


Returns the connectivity status of the BPG Peers for a specific DX VIF

Parameters

Name In Type Required Description
dx_vif_id path uuidv4 true The UUID of the Stax DX Gateway where the Stax DX Vif is attached.

Example responses

200 Response

{
  "DxVifStatus": [
    {
      "BgpPeerId": "bgp-peer-id",
      "BgpStatus": "up"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxVifStatus
404 Not Found The Stax DX VIF cannot be found. Error

Fetch CIDR Exclusions

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/exclusions', headers = headers)

print(r.json())

GET /20190206/networking/exclusions


Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.

Parameters

Name In Type Required Description
status query string false The Hub statuses to return, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

Example responses

200 Response

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrExclusions
404 Not Found The Stax Networking resource cannot be found. Error

Delete CIDR Exclusion

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/exclusions/{exclusion_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/exclusions/{exclusion_id}


Deletes a CIDR Exclusion within a Stax Networking Hub.

Parameters

Name In Type Required Description
exclusion_id path uuidv4 true The UUID of the Exclusion to Delete.

Example responses

200 Response

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrExclusions
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The CIDR Exclusion to delete cannot be found or is already deleted. Error

Fetch CIDR Exclusion

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/exclusions/{exclusion_id}', headers = headers)

print(r.json())

GET /20190206/networking/exclusions/{exclusion_id}


Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.

Parameters

Name In Type Required Description
exclusion_id path uuidv4 true The UUID of the Exclusion to read.
status query string false The Hub statuses to return, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

Example responses

200 Response

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrExclusions
404 Not Found The Stax Networking resource cannot be found. Error

Update CIDR Exclusion

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/exclusions/{exclusion_id}', headers = headers)

print(r.json())

PUT /20190206/networking/exclusions/{exclusion_id}


Updates a CIDR Exclusion within a Stax Networking Hub

Body parameter

{
  "Description": "string",
  "Name": "data-center",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
exclusion_id path uuidv4 true The UUID of the Exclusion to update.
body body networking.UpdateCidrExclusion true none

Example responses

200 Response

{
  "Description": "string",
  "Name": "data-center",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateCidrExclusion
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The CIDR Exclusion to update cannot be found. Error

Fetch Hub Peerings

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubpeerings', headers = headers)

print(r.json())

GET /20190206/networking/hubpeerings


Returns all the Stax Hub Peerings.

Parameters

Name In Type Required Description
status query string false The Stax Hub Peering statuses to return, comma delimited.

Detailed descriptions

status: The Stax Hub Peering statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "HubPeerings": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DestinationAwsAccountId": "000011112222",
      "DestinationAwsRegion": "ap-northeast-1",
      "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DestinationTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "ExternalResource": false,
      "HubPeeringTarget": "STAX_RESOURCE",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod-Shared",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "SourceAwsAccountId": "000011112222",
      "SourceAwsRegion": "ap-northeast-1",
      "SourceAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "SourceNetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "SourceTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadHubPeerings
404 Not Found The Stax Networking resource cannot be found. Error

Delete Hub Peering

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/hubpeerings/{hub_peering_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/hubpeerings/{hub_peering_id}


Deletes a Stax Hub Peering.

Parameters

Name In Type Required Description
hub_peering_id path uuidv4 true The UUID of the Stax Hub Peering to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteHubPeeringEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Hub Peering to delete cannot be found. Error

Fetch Hub Peering

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubpeerings/{hub_peering_id}', headers = headers)

print(r.json())

GET /20190206/networking/hubpeerings/{hub_peering_id}


Providing the UUID of a Stax Hub Peering will return a specific Stax Hub Peering.

Parameters

Name In Type Required Description
hub_peering_id path uuidv4 true The UUID of the Stax Hub Peering to Read.
status query string false The Stax Hub Peering statuses to return, comma delimited.

Detailed descriptions

status: The Stax Hub Peering statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "HubPeerings": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DestinationAwsAccountId": "000011112222",
      "DestinationAwsRegion": "ap-northeast-1",
      "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DestinationTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "ExternalResource": false,
      "HubPeeringTarget": "STAX_RESOURCE",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod-Shared",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "SourceAwsAccountId": "000011112222",
      "SourceAwsRegion": "ap-northeast-1",
      "SourceAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "SourceNetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "SourceTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadHubPeerings
404 Not Found The Stax Networking resource cannot be found. Error

Update Hub Peering

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/hubpeerings/{hub_peering_id}', headers = headers)

print(r.json())

PUT /20190206/networking/hubpeerings/{hub_peering_id}


Updates the attributes for a given Stax Hub Peering. Only supplied values are updated.

Body parameter

{
  "Name": "Prod-Shared",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
hub_peering_id path uuidv4 true The UUID of the Stax Hub Peering to update.
body body networking.UpdateHubPeering true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateHubPeeringEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Hub Peering to update cannot be found. Error

Fetch Networking Hubs

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs', headers = headers)

print(r.json())

GET /20190206/networking/hubs


Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.

Parameters

Name In Type Required Description
status query string false The Hub statuses to return, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "Hubs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "my-hub",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InterfaceEndpoints": [
        "ec2"
      ],
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PhzSuffix": "my-domain.cloud",
      "RedundantEndpoints": true,
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnEcmpSupport": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadHubs
404 Not Found The Stax Networking Hub cannot be found. Error

Create Networking Hub

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs', headers = headers)

print(r.json())

POST /20190206/networking/hubs


Creates Stax Networking Hub within your Stax Organisation.

Body parameter

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AmazonSideAsn": 64512,
  "Cidr": "10.128.0.0/22",
  "CidrExclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Description": "datacenter exclusion",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ],
  "CidrRangeName": "myrange",
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateNatGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "This Hub is for a team ABCD applications",
  "GatewayEndpoints": [
    "s3"
  ],
  "InterfaceEndpoints": [
    "ec2"
  ],
  "Name": "prod",
  "PhzSuffix": "my-domain.cloud",
  "RedundantEndpoints": true,
  "RedundantNat": true,
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513,
  "VpnEcmpSupport": true
}

Parameters

Name In Type Required Description
body body networking.CreateHub true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "NetworkingHub": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateHubEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if the request is forbidden. Error
404 Not Found The account to deploy a hub does not exist. Error

Delete Networking Hub

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/hubs/{hub_id}


Deletes a hub from the Stax Organisation

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteHubEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The hub to be deleted doesn't exist or is already deleted. Error

Fetch Networking Hub

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}


Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub.
status query string false The Hub statuses to return, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "Hubs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "my-hub",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InterfaceEndpoints": [
        "ec2"
      ],
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PhzSuffix": "my-domain.cloud",
      "RedundantEndpoints": true,
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnEcmpSupport": true
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadHubs
404 Not Found The Stax Networking Hub cannot be found. Error

Update Networking Hub

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}', headers = headers)

print(r.json())

PUT /20190206/networking/hubs/{hub_id}


Updates a various attributes for a given hub. Only supplied values are updated.

Body parameter

{
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateNatGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "This Hub is for connectivity from headquaters to VPC workloads",
  "GatewayEndpoints": [
    "s3"
  ],
  "InterfaceEndpoints": [
    "ec2"
  ],
  "Name": "prod",
  "PhzSuffix": "my-domain.cloud",
  "RedundantEndpoints": true,
  "RedundantNat": true,
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub to update.
body body networking.UpdateHub true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateHubEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found An active hub to be updated does not exist Error

Fetch Hub DNS Resolvers

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/dnsresolvers', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/dnsresolvers


Returns the DNS Resolver of the Stax Networking Hub.
Providing the UUID of a Stax DNS Resolver will return a specific Stax DNS Resolver's details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub where the Stax DNS Resolver is deployed.
status query string false The Stax DNS Resolver statuses to return, comma delimited.

Detailed descriptions

status: The Stax DNS Resolver statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DnsResolvers": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Interfaces": 2,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "dns",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OutboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDnsResolvers
404 Not Found The Stax Networking resource cannot be found. Error

Create DNS Resolver

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/dnsresolvers', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/dnsresolvers


Creates a Stax DNS Resolver within a Stax Networking Hub.

Body parameter

{
  "Name": "dns",
  "NumberOfInterfaces": 2,
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub to deploy the Stax DNS Resolver.
body body networking.CreateDnsResolver true none

Example responses

200 Response

{
  "Detail": {
    "DnsResolver": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateDnsResolverEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Networking Hub to deploy the Stax DNS Resolver cannot be found. Error

Fetch Hub DX Associations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/dxassociations', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/dxassociations


Returns all the Stax DX Asssociations.
Providing the UUID of a Stax Networking Hub will return the Stax DX Associations for the Stax Networking Hub.
Providing the UUID of a Stax DX Association will return a specific Stax DX Association's details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub to fetch associations for.
status query string false The Stax DX Association statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Association statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxAssociations": [
    {
      "AwsAssociationId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Prefixes": [
        "192.168.0.0/24",
        "192.168.1.0/24"
      ],
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxAssociations
404 Not Found The Stax Networking resource cannot be found. Error

Fetch Hub DX Gateways

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/dxgateways', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/dxgateways


Returns all the Stax DX Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax DX Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax DX Gateway will return a specific Stax DX Gateway's details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub where the Stax DX Gateway is deployed.
status query string false The Stax DX Gateway statuses to return, comma delimited.

Detailed descriptions

status: The Stax DX Gateway statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "DxGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "GatewayType": "TRANSIT",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxGateways
404 Not Found The Stax Networking resource cannot be found. Error

Fetch Hub CIDR Exclusions

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/exclusions', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/exclusions


Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub to list Exclusions in.
status query string false The Hub statuses to return, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

Example responses

200 Response

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrExclusions
404 Not Found The Stax Networking resource cannot be found. Error

Create CIDR Exclusion

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/exclusions', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/exclusions


Creates a CIDR Exclusion within a Stax Networking Hub

Body parameter

{
  "Cidr": "10.128.0.0/19",
  "Description": "This Reservation blocks out existing legacy VPCs",
  "Name": "legacy-vpcs",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub where the CIDR Exclusion is created in.
body body networking.CreateCidrExclusion true none

Example responses

200 Response

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrExclusions
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The hub to create the CIDR Exclusion is not found. Error

Fetch Networking Hub Prefix Lists

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/prefixlists', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/prefixlists


Providing the UUID of a Stax Networking Hub will return the Stax Prefix Lists for the Stax Networking Hub.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub to retrieve Prefix Lists for.
status query string false The Stax Prefix List statuses to return, comma delimited.

Detailed descriptions

status: The Stax Prefix List statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "PrefixLists": [
    {
      "AwsPrefixListId": "string",
      "AwsTargetId": "BLACKHOLE",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Entries": [
        "192.168.0.1/32",
        "192.168.0.2/32"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "MaxEntries": 3,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "example",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PrefixListType": "HUB",
      "RouteTableTypes": [
        "INFRASTRUCTURE",
        "ISOLATED"
      ],
      "Status": "ACTIVE",
      "SubnetTypes": [
        "PRIVATE",
        "RESTRICTED"
      ],
      "Tags": {
        "CostCode": "12345"
      },
      "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TargetType": "BLACKHOLE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcIds": [
        "a7220870-40fe-4235-abb3-4d42af0336c2",
        "7e542285-8b90-4b57-81e1-96e87e5ee443"
      ],
      "VpcTypes": [
        "TRANSIT",
        "ISOLATED"
      ],
      "Zones": [
        "ZONE1",
        "ZONE2"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadPrefixLists
404 Not Found The Stax Networking resource cannot be found. Error

Create a Hub Prefix List

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/prefixlists/hubs', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/prefixlists/hubs


Creates a Stax Hub Prefix List.

Body parameter

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "RouteTableTypes": [
    "INFRASTRUCTURE",
    "ISOLATED"
  ],
  "Tags": {
    "CostCode": "12345"
  },
  "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TargetType": "BLACKHOLE",
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub to create the Hub Prefix List for.
body body networking.CreateHubPrefixList true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PrefixList": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreatePrefixListEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Networking Hub to create the Prefix List for cannot be found. Error

Create a VPC Prefix List

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/prefixlists/vpcs', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/prefixlists/vpcs


Creates a Stax VPC Prefix List.

Body parameter

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "SubnetTypes": [
    "PRIVATE",
    "RESTRICTED"
  ],
  "Tags": {
    "CostCode": "12345"
  },
  "VpcIds": [
    "a7220870-40fe-4235-abb3-4d42af0336c2",
    "7e542285-8b90-4b57-81e1-96e87e5ee443"
  ],
  "VpcTypes": [
    "TRANSIT",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub to create the Vpc Prefix List for.
body body networking.CreateVpcPrefixList true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PrefixList": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreatePrefixListEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Networking Hub to create the Prefix List for cannot be found. Error

Fetch Hub CIDR Ranges

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/ranges', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/ranges


Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub you want the Ranges for.
status query string false The Hub statuses to return, comma delimited.
id_filter query string false List of range ids to fetch, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

id_filter: List of range ids to fetch, comma delimited.

Example responses

200 Response

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrRanges
404 Not Found The Stax Networking resource cannot be found. Error

Create CIDR Range

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/ranges', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/ranges


Creates a CIDR Range within a Stax Networking Hub

Body parameter

{
  "Cidr": "10.128.0.0/23",
  "Description": "CIDR Range used for team ABCD application 1234",
  "Name": "prod",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub where the CIDR Range is created in.
body body networking.CreateCidrRange true none

Example responses

200 Response

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrRanges
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The hub to create the CIDR Range is not found. Error

Fetch Hub VPCs

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/vpcs', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/vpcs


Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub where the VPC is.
status query string false The VPC statuses to return, comma delimited.
type query string false The VPC type to return, comma delimited.

Detailed descriptions

status: The VPC statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

type: The VPC type to return, comma delimited.

Filter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES

Example responses

200 Response

{
  "Vpcs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "AwsVpcId": "string",
      "Cidr": "10.128.0.0/23",
      "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreateFlowlogCwl": true,
      "CreateIgw": true,
      "CreateNat": true,
      "CreateVgw": true,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "VPC for my particular application",
      "GatewayEndpoints": [
        "s3"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "PhzId": "PHZAAEXAMPLE",
      "PhzPrefix": "dev",
      "RedundantNat": false,
      "Region": "ap-northeast-1",
      "Size": "SMALL",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "Type": "FLAT",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VgwAsn": 64513,
      "Zone": "non-prod"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpcs
404 Not Found The Stax Networking resource cannot be found. Error

Create VPC

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/vpcs', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{hub_id}/vpcs


Creates a VPC within a Stax Networking Hub

Body parameter

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "VPC for a non-prod microservice",
  "GatewayEndpoints": [
    "s3"
  ],
  "Name": "dev-ms-customers",
  "PhzPrefix": "dev",
  "Region": "ap-northeast-1",
  "Size": "SMALL",
  "Tags": {
    "CostCode": "12345"
  },
  "Type": "ISOLATED",
  "VirtualPrivateGatewayAsn": 64513,
  "Zone": "my-zone"
}

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Hub where the VPC is.
body body networking.CreateVpc true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VPC": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateVpcEvent
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if the request is forbidden. Error
404 Not Found The hub to create the VPC is not found. Error

Fetch Hub VPN Connections

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/vpnconnections', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/vpnconnections


Returns all the Stax VPN Connections.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Connections associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return the Stax VPN Connections associated to the Stax VPN Customer Gateway.
Providing the UUID of a Stax VPN Connections will return a specific Stax VPN Connections details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub where the Stax VPN Connection is deployed.
status query string false The Stax VPN Connections statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Connections statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnConnections": [
    {
      "AwsVpnConnectionId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ImprovedAcceleration": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoutingType": "DYNAMIC",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnConnectionType": "HUB",
      "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnConnections
404 Not Found The Stax Networking resource cannot be found. Error

Fetch Hub VPN Customer Gateways

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{hub_id}/vpncustomergateways', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{hub_id}/vpncustomergateways


Returns all the Stax VPN Customer Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Customer Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return a specific Stax VPN Customer Gateways' details.

Parameters

Name In Type Required Description
hub_id path uuidv4 true The UUID of the Stax Networking Hub where the Stax VPN Customer Gateways is deployed.
status query string false The Stax VPN Customer Gateways statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Customer Gateways statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnCustomerGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsVpnCustomerGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "IpAddress": "192.168.1.0",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnCustomerGateways
404 Not Found The Stax Networking resource cannot be found. Error

Fetch Networking Hub Hub Peerings

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/hubs/{networking_hub_id}/hubpeerings', headers = headers)

print(r.json())

GET /20190206/networking/hubs/{networking_hub_id}/hubpeerings


Providing the UUID of a Stax Networking Hub will return the Stax Hub Peerings for the Stax Networking Hub.

Parameters

Name In Type Required Description
networking_hub_id path uuidv4 true The UUID of the Stax Networking Hub to retrieve Hub Peerings for.
status query string false The Stax Hub Peering statuses to return, comma delimited.

Detailed descriptions

status: The Stax Hub Peering statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "HubPeerings": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DestinationAwsAccountId": "000011112222",
      "DestinationAwsRegion": "ap-northeast-1",
      "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DestinationTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "ExternalResource": false,
      "HubPeeringTarget": "STAX_RESOURCE",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod-Shared",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "SourceAwsAccountId": "000011112222",
      "SourceAwsRegion": "ap-northeast-1",
      "SourceAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "SourceNetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "SourceTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadHubPeerings
404 Not Found The Stax Networking resource cannot be found. Error

Create a Hub Peering

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/hubs/{networking_hub_id}/hubpeerings', headers = headers)

print(r.json())

POST /20190206/networking/hubs/{networking_hub_id}/hubpeerings


Creates a Stax Hub Peering.

Body parameter

{
  "DestinationAwsAccountId": "000011112222",
  "DestinationAwsRegion": "ap-northeast-1",
  "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
  "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Name": "Prod-Shared",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
networking_hub_id path uuidv4 true The UUID of the Stax Networking Hub to create the Hub Peering for.
body body networking.CreateHubPeering true none

Example responses

200 Response

{
  "Detail": {
    "HubPeering": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateHubPeeringEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Networking Hub to create the Hub Peering for cannot be found. Error

Fetch Prefix Lists

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/prefixlists', headers = headers)

print(r.json())

GET /20190206/networking/prefixlists


Returns all the Stax Prefix Lists.

Parameters

Name In Type Required Description
status query string false The Stax Prefix List statuses to return, comma delimited.

Detailed descriptions

status: The Stax Prefix List statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "PrefixLists": [
    {
      "AwsPrefixListId": "string",
      "AwsTargetId": "BLACKHOLE",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Entries": [
        "192.168.0.1/32",
        "192.168.0.2/32"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "MaxEntries": 3,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "example",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PrefixListType": "HUB",
      "RouteTableTypes": [
        "INFRASTRUCTURE",
        "ISOLATED"
      ],
      "Status": "ACTIVE",
      "SubnetTypes": [
        "PRIVATE",
        "RESTRICTED"
      ],
      "Tags": {
        "CostCode": "12345"
      },
      "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TargetType": "BLACKHOLE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcIds": [
        "a7220870-40fe-4235-abb3-4d42af0336c2",
        "7e542285-8b90-4b57-81e1-96e87e5ee443"
      ],
      "VpcTypes": [
        "TRANSIT",
        "ISOLATED"
      ],
      "Zones": [
        "ZONE1",
        "ZONE2"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadPrefixLists
404 Not Found The Stax Networking resource cannot be found. Error

Update Hub Prefix List associations

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/prefixlists/hubs/{prefix_list_id}/associations', headers = headers)

print(r.json())

PUT /20190206/networking/prefixlists/hubs/{prefix_list_id}/associations


Updates a Stax Hub Prefix List associations. Only supplied values are updated.

Body parameter

{
  "RouteTableTypes": [
    "INFRASTRUCTURE",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Parameters

Name In Type Required Description
prefix_list_id path uuidv4 true The UUID of the Stax Prefix List to update associations for.
body body networking.UpdateHubPrefixListAssociation true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdatePrefixListAssociationEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Prefix List cannot be found. Error

Update VPC Prefix List associations

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/prefixlists/vpcs/{prefix_list_id}/associations', headers = headers)

print(r.json())

PUT /20190206/networking/prefixlists/vpcs/{prefix_list_id}/associations


Updates a Stax VPC Prefix List associations. Only supplied values are updated.

Body parameter

{
  "SubnetTypes": [
    "PRIVATE",
    "RESTRICTED"
  ],
  "VpcIds": [
    "a7220870-40fe-4235-abb3-4d42af0336c2",
    "7e542285-8b90-4b57-81e1-96e87e5ee443"
  ],
  "VpcTypes": [
    "TRANSIT",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Parameters

Name In Type Required Description
prefix_list_id path uuidv4 true The UUID of the Stax Prefix List to update associations for.
body body networking.UpdateVpcPrefixListAssociation true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdatePrefixListAssociationEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Prefix List cannot be found. Error

Delete Prefix List

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/prefixlists/{prefix_list_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/prefixlists/{prefix_list_id}


Deletes a Stax Prefix List.

Parameters

Name In Type Required Description
prefix_list_id path uuidv4 true The UUID of the Stax Prefix List to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeletePrefixListEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Prefix List to delete cannot be found. Error

Fetch Prefix List

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/prefixlists/{prefix_list_id}', headers = headers)

print(r.json())

GET /20190206/networking/prefixlists/{prefix_list_id}


Providing the UUID of a Stax Prefix List will return a specific Stax Prefix List.

Parameters

Name In Type Required Description
prefix_list_id path uuidv4 true The UUID of the Stax Prefix List to Read.
status query string false The Stax Prefix List statuses to return, comma delimited.

Detailed descriptions

status: The Stax Prefix List statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS

Example responses

200 Response

{
  "PrefixLists": [
    {
      "AwsPrefixListId": "string",
      "AwsTargetId": "BLACKHOLE",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Entries": [
        "192.168.0.1/32",
        "192.168.0.2/32"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "MaxEntries": 3,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "example",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PrefixListType": "HUB",
      "RouteTableTypes": [
        "INFRASTRUCTURE",
        "ISOLATED"
      ],
      "Status": "ACTIVE",
      "SubnetTypes": [
        "PRIVATE",
        "RESTRICTED"
      ],
      "Tags": {
        "CostCode": "12345"
      },
      "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TargetType": "BLACKHOLE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcIds": [
        "a7220870-40fe-4235-abb3-4d42af0336c2",
        "7e542285-8b90-4b57-81e1-96e87e5ee443"
      ],
      "VpcTypes": [
        "TRANSIT",
        "ISOLATED"
      ],
      "Zones": [
        "ZONE1",
        "ZONE2"
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadPrefixLists
404 Not Found The Stax Networking resource cannot be found. Error

Update Prefix List

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/prefixlists/{prefix_list_id}', headers = headers)

print(r.json())

PUT /20190206/networking/prefixlists/{prefix_list_id}


Updates a Stax Prefix List. Only supplied values are updated.

Body parameter

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "Tags": {
    "CostCode": "12345"
  },
  "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TargetType": "BLACKHOLE"
}

Parameters

Name In Type Required Description
prefix_list_id path uuidv4 true The UUID of the Stax Prefix List to update.
body body networking.UpdatePrefixList true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdatePrefixListEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Prefix List cannot be found. Error

Fetch CIDR Ranges

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/ranges', headers = headers)

print(r.json())

GET /20190206/networking/ranges


Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.

Parameters

Name In Type Required Description
status query string false The Hub statuses to return, comma delimited.
id_filter query string false List of range ids to fetch, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

id_filter: List of range ids to fetch, comma delimited.

Example responses

200 Response

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrRanges
404 Not Found The Stax Networking resource cannot be found. Error

Delete CIDR Range

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/ranges/{range_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/ranges/{range_id}


Deletes a CIDR Range within a Stax Networking Hub. No existing VPCs can be in the CIDR Range.

Parameters

Name In Type Required Description
range_id path uuidv4 true The UUID of the Range to delete.

Example responses

200 Response

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrRanges
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The CIDR Range to delete cannot be found or is already deleted. Error

Fetch CIDR Range

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/ranges/{range_id}', headers = headers)

print(r.json())

GET /20190206/networking/ranges/{range_id}


Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.

Parameters

Name In Type Required Description
range_id path uuidv4 true The UUID of the Range to read.
status query string false The Hub statuses to return, comma delimited.
id_filter query string false List of range ids to fetch, comma delimited.

Detailed descriptions

status: The Hub statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

id_filter: List of range ids to fetch, comma delimited.

Example responses

200 Response

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadCidrRanges
404 Not Found The Stax Networking resource cannot be found. Error

Update CIDR Range

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/ranges/{range_id}', headers = headers)

print(r.json())

PUT /20190206/networking/ranges/{range_id}


Updates a CIDR Range within a Stax Networking Hub

Body parameter

{
  "Description": "CIDR Range used for team ABCD application 1234",
  "Name": "prod",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
range_id path uuidv4 true The UUID of the CIDR Range to update.
body body networking.UpdateCidrRange true none

Example responses

200 Response

{
  "Description": "CIDR Range used for team ABCD application 1234",
  "Name": "prod",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateCidrRange
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The CIDR Range to update cannot be found. Error

Fetch VPCs

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpcs', headers = headers)

print(r.json())

GET /20190206/networking/vpcs


Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.

Parameters

Name In Type Required Description
status query string false The VPC statuses to return, comma delimited.
type query string false The VPC type to return, comma delimited.

Detailed descriptions

status: The VPC statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

type: The VPC type to return, comma delimited.

Filter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES

Example responses

200 Response

{
  "Vpcs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "AwsVpcId": "string",
      "Cidr": "10.128.0.0/23",
      "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreateFlowlogCwl": true,
      "CreateIgw": true,
      "CreateNat": true,
      "CreateVgw": true,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "VPC for my particular application",
      "GatewayEndpoints": [
        "s3"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "PhzId": "PHZAAEXAMPLE",
      "PhzPrefix": "dev",
      "RedundantNat": false,
      "Region": "ap-northeast-1",
      "Size": "SMALL",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "Type": "FLAT",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VgwAsn": 64513,
      "Zone": "non-prod"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpcs
404 Not Found The Stax Networking resource cannot be found. Error

Delete VPC

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/vpcs/{vpc_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/vpcs/{vpc_id}


Deletes a VPC within a Stax Networking Hub

Parameters

Name In Type Required Description
vpc_id path uuidv4 true The UUID of the VPC to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteVpcEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The VPC to delete cannot be found. Error

Fetch VPC

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpcs/{vpc_id}', headers = headers)

print(r.json())

GET /20190206/networking/vpcs/{vpc_id}


Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.

Parameters

Name In Type Required Description
vpc_id path uuidv4 true The UUID of the VPC to read.
status query string false The VPC statuses to return, comma delimited.
type query string false The VPC type to return, comma delimited.

Detailed descriptions

status: The VPC statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

type: The VPC type to return, comma delimited.

Filter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES

Example responses

200 Response

{
  "Vpcs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "AwsVpcId": "string",
      "Cidr": "10.128.0.0/23",
      "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreateFlowlogCwl": true,
      "CreateIgw": true,
      "CreateNat": true,
      "CreateVgw": true,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "VPC for my particular application",
      "GatewayEndpoints": [
        "s3"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "PhzId": "PHZAAEXAMPLE",
      "PhzPrefix": "dev",
      "RedundantNat": false,
      "Region": "ap-northeast-1",
      "Size": "SMALL",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "Type": "FLAT",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VgwAsn": 64513,
      "Zone": "non-prod"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpcs
404 Not Found The Stax Networking resource cannot be found. Error

Update VPC

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/vpcs/{vpc_id}', headers = headers)

print(r.json())

PUT /20190206/networking/vpcs/{vpc_id}


Updates a VPC within a Stax Networking Hub

Body parameter

{
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "string",
  "GatewayEndpoints": [
    "s3"
  ],
  "Name": "prod",
  "PhzPrefix": "dev",
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513
}

Parameters

Name In Type Required Description
vpc_id path uuidv4 true The UUID of the VPC to update.
body body networking.UpdateVpc true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateVpcEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The VPC to update cannot be found. Error

Fetch VPN Connections

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpnconnections', headers = headers)

print(r.json())

GET /20190206/networking/vpnconnections


Returns all the Stax VPN Connections.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Connections associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return the Stax VPN Connections associated to the Stax VPN Customer Gateway.
Providing the UUID of a Stax VPN Connections will return a specific Stax VPN Connections details.

Parameters

Name In Type Required Description
status query string false The Stax VPN Connections statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Connections statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnConnections": [
    {
      "AwsVpnConnectionId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ImprovedAcceleration": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoutingType": "DYNAMIC",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnConnectionType": "HUB",
      "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnConnections
404 Not Found The Stax Networking resource cannot be found. Error

Delete VPN Conection

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/vpnconnections/{vpn_connection_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/vpnconnections/{vpn_connection_id}


Deletes a Stax VPN Conection within a Stax VPN Customer Gateway

Parameters

Name In Type Required Description
vpn_connection_id path uuidv4 true The UUID of the Stax VPN Conection.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteVpnConnectionEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax VPN Conection to delete cannot be found. Error

Fetch VPN Connection

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpnconnections/{vpn_connection_id}', headers = headers)

print(r.json())

GET /20190206/networking/vpnconnections/{vpn_connection_id}


Returns all the Stax VPN Connections.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Connections associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return the Stax VPN Connections associated to the Stax VPN Customer Gateway.
Providing the UUID of a Stax VPN Connections will return a specific Stax VPN Connections details.

Parameters

Name In Type Required Description
vpn_connection_id path uuidv4 true The UUID of the Stax VPN Connection to fetch.
status query string false The Stax VPN Connections statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Connections statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnConnections": [
    {
      "AwsVpnConnectionId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ImprovedAcceleration": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoutingType": "DYNAMIC",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnConnectionType": "HUB",
      "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnConnections
404 Not Found The Stax Networking resource cannot be found. Error

Update VPN Conection

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/vpnconnections/{vpn_connection_id}', headers = headers)

print(r.json())

PUT /20190206/networking/vpnconnections/{vpn_connection_id}


Updates the attributes for a given Stax VPN Connection. Only supplied values are updated.

Body parameter

{
  "Name": "new-vpn-gw",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
vpn_connection_id path uuidv4 true The UUID of the Stax VPN Connection to update.
body body networking.UpdateVpnConnection true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateVpnConnectionEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax VPN Connection to update cannot be found. Error

Fetch VPN Connection Status

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpnconnections/{vpn_connection_id}/status', headers = headers)

print(r.json())

GET /20190206/networking/vpnconnections/{vpn_connection_id}/status


Returns the connectivity status of the VPN Tunnels for a specific VPN Connection

Parameters

Name In Type Required Description
vpn_connection_id path uuidv4 true The UUID of the Stax VPN Connection.

Example responses

200 Response

{
  "VpnConnectionStatus": [
    {
      "TunnelName": "VPN Tunnel",
      "TunnelStatus": "up"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnConnectionStatus
404 Not Found The Stax VPN Connection cannot be found. Error

Fetch VPN Customer Gateways

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways', headers = headers)

print(r.json())

GET /20190206/networking/vpncustomergateways


Returns all the Stax VPN Customer Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Customer Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return a specific Stax VPN Customer Gateways' details.

Parameters

Name In Type Required Description
status query string false The Stax VPN Customer Gateways statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Customer Gateways statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnCustomerGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsVpnCustomerGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "IpAddress": "192.168.1.0",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnCustomerGateways
404 Not Found The Stax Networking resource cannot be found. Error

Creates a Stax VPN Customer Gateway

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways', headers = headers)

print(r.json())

POST /20190206/networking/vpncustomergateways

Body parameter

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64513,
  "IpAddress": "1.1.1.1",
  "Name": "vpn-gw",
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body networking.CreateVpnCustomerGateway true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VpnCustomerGateway": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateVpnCustomerGatewayEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Resource to deploy the VPN Customer Gateway into cannot be found. Error

Delete a Stax VPN Customer Gateway

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}', headers = headers)

print(r.json())

DELETE /20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}

Parameters

Name In Type Required Description
vpn_customer_gateway_id path uuidv4 true The UUID of the VPN Customer Gateway to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.DeleteVpnCustomerGatewayEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The VPN Customer Gateway to be deleted doesn't exist or is already deleted. Error

Fetch VPN Customer Gateway

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}', headers = headers)

print(r.json())

GET /20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}


Returns all the Stax VPN Customer Gateways.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Customer Gateways associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return a specific Stax VPN Customer Gateways' details.

Parameters

Name In Type Required Description
vpn_customer_gateway_id path uuidv4 true The UUID of the Stax VPN Customer Gateways to fetch.
status query string false The Stax VPN Customer Gateways statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Customer Gateways statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnCustomerGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsVpnCustomerGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "IpAddress": "192.168.1.0",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnCustomerGateways
404 Not Found The Stax Networking resource cannot be found. Error

Updates a Stax VPN Customer Gateway

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}', headers = headers)

print(r.json())

PUT /20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}


Body parameter

{
  "Name": "vpn-gw",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
vpn_customer_gateway_id path uuidv4 true The UUID of the Stax VPN Customer Gateway to update.
body body networking.UpdateVpnCustomerGateway true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.UpdateVpnCustomerGatewayEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax VPN Customer Gateway to update cannot be found. Error

Create VPN Connection

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnection', headers = headers)

print(r.json())

POST /20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnection


Creates a Stax VPN Connection between a Stax Networking Hub or Stax VPC and a Stax VPN Customer Gateway.

Providing a Networking Hub Id will attempt to create a VPN Connection for the VPN Customer Gateway and a Transit Gateway

Providing a VPC ID ill attempt to create a VPN Connection for the VPN Customer Gateway and a VPC's Virtual Private Gateway.

Body parameter

{
  "ImprovedAcceleration": false,
  "Name": "vpn-transit-connection",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "RoutingType": "DYNAMIC",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
vpn_customer_gateway_id path uuidv4 true The UUID of the Stax VPN Connection to association with a Stax Networking Hub.
body body networking.CreateVpnConnection true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VpnConnection": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.CreateVpnConnectionEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Resources to create the VPN Connection for cannot be found. Error

Fetch Gateway VPN Connections

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnections', headers = headers)

print(r.json())

GET /20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnections


Returns all the Stax VPN Connections.
Providing the UUID of a Stax Networking Hub will return the Stax VPN Connections associated to the Stax Networking Hub.
Providing the UUID of a Stax VPN Customer Gateway will return the Stax VPN Connections associated to the Stax VPN Customer Gateway.
Providing the UUID of a Stax VPN Connections will return a specific Stax VPN Connections details.

Parameters

Name In Type Required Description
vpn_customer_gateway_id path uuidv4 true The UUID of the Stax VPN Customer Gateways to fetch.
status query string false The Stax VPN Connections statuses to return, comma delimited.

Detailed descriptions

status: The Stax VPN Connections statuses to return, comma delimited.

Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED

Example responses

200 Response

{
  "VpnConnections": [
    {
      "AwsVpnConnectionId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ImprovedAcceleration": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoutingType": "DYNAMIC",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnConnectionType": "HUB",
      "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadVpnConnections
404 Not Found The Stax Networking resource cannot be found. Error

Fetch DX Connections

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/networking/{account_id}/dxconnections', headers = headers)

print(r.json())

GET /20190206/networking/{account_id}/dxconnections


Returns all DX Connections for the specified Stax Account Id.

Parameters

Name In Type Required Description
account_id path uuidv4 true The UUID of the Stax Account that contains a Direct Connect connection.
state query string false The Direct Connect Connection states to return, comma delimited.

Detailed descriptions

state: The Direct Connect Connection states to return, comma delimited.

Filter options available: ordering,requested,pending,available,down,deleting,deleted,rejected,unknown

Example responses

200 Response

{
  "DxConnections": [
    {
      "Bandwidth": "50Mbps",
      "ConnectionId": "dxcon-abcdefgh",
      "ConnectionName": "SY4",
      "ConnectionState": "available",
      "Region": "ap-northeast-1",
      "Vlan": 4000
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. networking.ReadDxConnections
404 Not Found The Stax Account cannot be found. Error

Organisations

A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and Users.

Fetch Stax Organisations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations', headers = headers)

print(r.json())

GET /20190206/organisations

Return a list of your Stax Organisations.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.

Example responses

200 Response

{
  "Organisations": [
    {
      "Alias": "my-stax-org",
      "AllowedDomains": [
        "@example.com",
        "@stax.io"
      ],
      "AttachedPolicies": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ],
      "AwsAccountEmailTemplate": "stax.user+${Stax::AccountId}@example.com",
      "AwsPartnerSupport": true,
      "AwsSupportType": "ENTERPRISE",
      "ComplianceType": "PCI",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ExternalStaxId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Features": {},
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LandingZoneType": "STAX",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "default",
      "Region": "ap-northeast-1",
      "Regions": [
        "ap-southeast-2",
        "us-east-1"
      ],
      "SpotlightSsoURL": "string",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. The response body contains an Organisation array. organisations.ReadOrganisations

Fetch Stax Organisation

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations/current', headers = headers)

print(r.json())

GET /20190206/organisations/current

Return the current users Organisation.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.

Example responses

200 Response

{
  "Organisations": [
    {
      "Alias": "my-stax-org",
      "AllowedDomains": [
        "@example.com",
        "@stax.io"
      ],
      "AttachedPolicies": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ],
      "AwsAccountEmailTemplate": "stax.user+${Stax::AccountId}@example.com",
      "AwsPartnerSupport": true,
      "AwsSupportType": "ENTERPRISE",
      "ComplianceType": "PCI",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ExternalStaxId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Features": {},
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LandingZoneType": "STAX",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "default",
      "Region": "ap-northeast-1",
      "Regions": [
        "ap-southeast-2",
        "us-east-1"
      ],
      "SpotlightSsoURL": "string",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. The response body contains an Organisation array. organisations.ReadOrganisations

Policies

Stax Policies are AWS Service Control Policies that can be attached to a Stax Organization or an Account Type.

Fetch Policies

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/policies', headers = headers)

print(r.json())

GET /20190206/policies

Return all Policies in your Stax Organisation.

Parameters

Name In Type Required Description
status query string false The Stax Policy statuses to return, comma delimited.

Detailed descriptions

status: The Stax Policy statuses to return, comma delimited.

Filter options available: ACTIVE, DELETED

Example responses

200 Response

{
  "Policies": [
    {
      "AwsId": "dc1a70bd-642f-41c6-9aa5-50b65e7d592e",
      "Content": {},
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Service Control Policy that denies access to all.",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DenyAll",
      "OrganisationAttachment": {
        "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "CreatedTS": "2018-10-11T01:05:45.000Z",
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "ModifiedTS": "2018-10-11T01:05:45.000Z",
        "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "Status": "ACTIVE",
        "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
      },
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyOwner": "ORGANISATION",
      "PolicyType": "SCP",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.ReadPolicies

Create Policy

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/policies', headers = headers)

print(r.json())

POST /20190206/policies

Create a Policy in your Stax Organisation.

Body parameter

{
  "Description": "A service control policy that denies access to all.",
  "Name": "DenyAll",
  "Policy": "string",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body policies.CreatePolicy false none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.CreatePolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error

Detach Policy

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/policies/attachments/{policy_attachment_id}', headers = headers)

print(r.json())

DELETE /20190206/policies/attachments/{policy_attachment_id}

Detach a Policy from an Organisational Unit or Account.

Parameters

Name In Type Required Description
policy_attachment_id path string true The UUID of the PolicyAttachment to detach.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PolicyAttachment": {
      "PolicyAttachmentId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.DetachPolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the Policy Attachment to detach cannot be found. Error

Detach Policy from Organisation

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/policies/organisation/{policy_id}', headers = headers)

print(r.json())

DELETE /20190206/policies/organisation/{policy_id}

Detach a Policy from your Stax Organisation.
The policy will no longer apply to all Account Types within the Organisation.

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to detach.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.DetachPolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Policy to detach cannot be found. Error

Attach Policy to Organisation

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/policies/organisation/{policy_id}', headers = headers)

print(r.json())

PUT /20190206/policies/organisation/{policy_id}

Attach a Policy to your Stax Organisation.
The policy will apply to all Account Types within the Organisation.

Body parameter

{
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to attach.
body body organisations.AttachPolicy true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.AttachPolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Policy to attach cannot be found. Error

Delete Policy

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/policies/{policy_id}', headers = headers)

print(r.json())

DELETE /20190206/policies/{policy_id}

Delete a Policy from your Stax Organisation.

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.DeletePolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Policy to delete cannot be found. Error

Fetch Policy

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/policies/{policy_id}', headers = headers)

print(r.json())

GET /20190206/policies/{policy_id}

Return all Policies in your Stax Organisation.
Optionally, return the requested Policy.

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to return.

Example responses

200 Response

{
  "Policies": [
    {
      "AwsId": "dc1a70bd-642f-41c6-9aa5-50b65e7d592e",
      "Content": {},
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Service Control Policy that denies access to all.",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DenyAll",
      "OrganisationAttachment": {
        "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "CreatedTS": "2018-10-11T01:05:45.000Z",
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "ModifiedTS": "2018-10-11T01:05:45.000Z",
        "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "Status": "ACTIVE",
        "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
      },
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyOwner": "ORGANISATION",
      "PolicyType": "SCP",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.ReadPolicies

Update Policy

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/policies/{policy_id}', headers = headers)

print(r.json())

PUT /20190206/policies/{policy_id}

Update an existing Policy within your Stax Organisation.

Body parameter

{
  "Description": "A service control policy that denies access to all.",
  "Name": "DenyAll",
  "Policy": "string",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to update.
body body policies.UpdatePolicy false none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.UpdatePolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Policy to update cannot be found. Error

Fetch Policy Attachments

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/policies/{policy_id}/attachments', headers = headers)

print(r.json())

GET /20190206/policies/{policy_id}/attachments

Return all attachments for the Policy in your Stax Organisation.

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to return attachments for.

Example responses

200 Response

{
  "PolicyAttachments": [
    {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyAttachmentType": "ORGANISATIONAL_UNIT",
      "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.ReadPolicyAttachments
400 Bad Request The response returned if the request is unsuccessful. Error

Attach Policy

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/policies/{policy_id}/attachments', headers = headers)

print(r.json())

POST /20190206/policies/{policy_id}/attachments

Attach a Policy to an Organisational Unit or Account.

Body parameter

{
  "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Parameters

Name In Type Required Description
policy_id path string true The UUID of the Policy to attach.
body body policies.AttachPolicy false none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PolicyAttachment": {
      "PolicyAttachmentId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.AttachPolicyEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the Policy to attach cannot be found. Error

Public

Stax public discovery.

Check Alias availability

Code samples

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/public/check-alias/{alias}', headers = headers)

print(r.json())

GET /20190206/public/check-alias/{alias}

Check if an Alias is available or if it is already in use by another Stax customer.
The Alias is the unique identifier for a Customer's Stax Organisation.

Parameters

Name In Type Required Description
alias path string true A unique string containing characters a-z, 0-9.

Detailed descriptions

alias: A unique string containing characters a-z, 0-9. Hyphens can also be used, but not at the start or end of the alias.

Example responses

200 Response

{
  "Alias": {
    "Status": "The company alias provided is available"
  }
}

Responses

Status Meaning Description Schema
200 OK The response returned if the Alias is available and not in use by another Customer. public.CheckAlias
409 Conflict The Alias is already in use by another Customer. public.CheckAlias

Fetch public config

Code samples

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/public/config', headers = headers)

print(r.json())

GET /20190206/public/config

This is an unauthenticated endpoint returning your configuration variables which are required to authenticate API requests.

Example responses

200 Response

{
  "API": {
    "endpoints": [
      {
        "endpoint": "string",
        "name": "string",
        "region": "ap-northeast-1"
      }
    ]
  },
  "Analytics": {
    "disable": true
  },
  "ApiAuth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "AppSync": {
    "analytics": {
      "endpoint": "string",
      "region": "ap-northeast-1"
    },
    "core": {
      "endpoint": "string",
      "region": "ap-northeast-1"
    },
    "graphqlEndpoint": "string",
    "region": "ap-northeast-1"
  },
  "Auth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "Features": [
    "string"
  ],
  "Juma": {
    "controlplaneRegion": "ap-northeast-1",
    "domainName": "string",
    "fullDomainName": "string",
    "masterAccountId": 0,
    "stage": "string"
  },
  "JumaAuth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "Sentry": {
    "dsn": "string",
    "projectName": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Configuration values required to authenicate API requests. public.ReadConfig

Tasks

Stax Tasks enables you to monitor async operations.

Fetch status of Task

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/task/{task_id}', headers = headers)

print(r.json())

GET /20190206/task/{task_id}

Return the status of the requested Task.
A Task may relate to an Account, User, Workload, Organisation or Log Event.

Parameters

Name In Type Required Description
task_id path string true The UUID of the Task to return.

Example responses

200 Response

{
  "Accounts": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ],
  "Logs": [
    "string"
  ],
  "Status": "STARTED",
  "Users": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ],
  "Workloads": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned for a valid Task. tasks.ReadTask
404 Not Found The response returned if the requested Task could not be found. Error

Team

Stax Users can be granted different levels of access to both Stax itself, and to the AWS accounts managed by Stax.

Fetch API Tokens

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/api-tokens', headers = headers)

print(r.json())

GET /20190206/api-tokens

Return a list of all API Tokens within your Stax Organisation.

Parameters

Name In Type Required Description
id_filter query string false List of Access Keys you want returned, comma delimited.
status query string false List of API Token statuses you want returned, comma delimited.

Detailed descriptions

status: List of API Token statuses you want returned, comma delimited.

Filter Options available: ACTIVE, DELETED

Example responses

200 Response

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadApiTokens

Create API Token

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/api-tokens', headers = headers)

print(r.json())

POST /20190206/api-tokens

Create an API Token for API/SDK access within your Stax Organisation.

Body parameter

{
  "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
  "Name": "gitlab-cicd",
  "Role": "api_admin",
  "StoreToken": true,
  "Tags": {
    "CostCode": "12345"
  },
  "TokenKeyId": "alias/my-custom-key"
}

Parameters

Name In Type Required Description
body body teams.CreateApiToken true none

Example responses

200 Response

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "SecretKey": "stringstringstringstringstringst",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.CreateApiTokenResponse
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if there is insufficient permissions to grant the requested role. Error

Delete API Token

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/api-tokens/{AccessKey}', headers = headers)

print(r.json())

DELETE /20190206/api-tokens/{AccessKey}

Delete an API Token from your Stax Organisation.

Parameters

Name In Type Required Description
AccessKey path string true The UUID of the User to delete.

Example responses

200 Response

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.DeleteApiTokenResponse
404 Not Found The response returned if the request is unable to find the API Token to delete. Error

Fetch API Token

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/api-tokens/{AccessKey}', headers = headers)

print(r.json())

GET /20190206/api-tokens/{AccessKey}

Return a list of all API Tokens within your Stax Organisation.

Parameters

Name In Type Required Description
AccessKey path string true The UUID of the Token to return.
id_filter query string false List of Access Keys you want returned, comma delimited.
status query string false List of API Token statuses you want returned, comma delimited.

Detailed descriptions

status: List of API Token statuses you want returned, comma delimited.

Filter Options available: ACTIVE, DELETED

Example responses

200 Response

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadApiTokens

Update API Token

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/api-tokens/{AccessKey}', headers = headers)

print(r.json())

PUT /20190206/api-tokens/{AccessKey}

Update a Token for API/SDK access within your Stax Organisation.

Body parameter

{
  "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
  "Role": "api_admin",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
AccessKey path string true The UUID of the API Token to update.
body body teams.UpdateApiToken true none

Example responses

200 Response

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateApiTokenResponse
400 Bad Request The response returned if the request is unsuccessful. Error
403 Forbidden The response returned if there is insufficient permissions to grant the requested role. Error
404 Not Found The response returned if the request is unable to find the API Token to update. Error

Create Stax User

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/idam/user', headers = headers)

print(r.json())

POST /20190206/idam/user

Create a new Stax user within your Stax Organisation.
Stax Users have permission to access the AWS Console/CLI for AWS Accounts that exist within a Stax Organisation.

Body parameter

{
  "Email": "stax.user@example.com",
  "FirstName": "John",
  "LastName": "Doe",
  "Role": "customer_admin"
}

Parameters

Name In Type Required Description
body body teams.CreateUser true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.CreateUserEvent
403 Forbidden The response returned if the request is unsuccessful. Error

Re-invite Stax user

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/idam/user/resend-invite/{user_id}', headers = headers)

print(r.json())

PUT /20190206/idam/user/resend-invite/{user_id}

Re-send the verification email for a Stax User.

Parameters

Name In Type Required Description
user_id path string true The UUID of the IDAM User to re-invite.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateUserInviteEvent
400 Bad Request The response returned if the user has already verified their email address. Error
404 Not Found The response returned if the user does not exist in IDAM. Error

Reset Stax User's password

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/idam/user/reset-password/{user_id}', headers = headers)

print(r.json())

PUT /20190206/idam/user/reset-password/{user_id}

Send a Stax User a password reset email.

Parameters

Name In Type Required Description
user_id path string true The UUID of the IDAM User to have password reset.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateUserPasswordEvent
403 Forbidden The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the user does not exist in IDAM or is deleted. Error

Update Stax User

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/idam/user/{user_id}', headers = headers)

print(r.json())

PUT /20190206/idam/user/{user_id}

Update a Stax User's details, such as the name, role or email.
A DISABLED user can only be updated to ACTIVE, updating other attributes will result in a 400

Body parameter

{
  "Email": "stax.user@example.com",
  "FirstName": "John",
  "LastName": "Doe",
  "Role": "customer_admin",
  "Status": "ACTIVE"
}

Parameters

Name In Type Required Description
user_id path string true The UUID of the IDAM User to update.
body body teams.UpdateUser true none

Example responses

200 Response

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.UpdateUserEvent
400 Bad Request Only status can be updated on a disabled user. Error
403 Forbidden The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the user does not exist in IDAM. Error

Fetch Stax Users and Federated Users

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/users', headers = headers)

print(r.json())

GET /20190206/users

Return a list of all Users within your Stax Organisation.
To retrieve DELETED users, include the DELETED status in the status_filter.
Optionally, return the requested Users by supplying an id_filter.

Parameters

Name In Type Required Description
filter query string false List of Users filtered by auth origin, comma delimited.
id_filter query string false List of User IDs you want returned, comma delimited.
status_filter query string false List of Users filtered by Status, comma delimited.

Detailed descriptions

filter: List of Users filtered by auth origin, comma delimited.

Filter Options available: Team, Federated

status_filter: List of Users filtered by Status, comma delimited.

Filter Options available: ACTIVE, NEW, INVITED, DISABLED, DELETED

Defaults to: ACTIVE,NEW,INVITED,DISABLED

Example responses

200 Response

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadUsers
400 Bad Request The response returned if the request is unsuccessful due to user input. Error

Fetch Current User

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/users/me', headers = headers)

print(r.json())

GET /20190206/users/me

Returns the current logged in User.

Example responses

200 Response

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadUsers
404 Not Found User not found. Error

Delete Stax User

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/users/{user_id}', headers = headers)

print(r.json())

DELETE /20190206/users/{user_id}

Delete a Stax User from your Stax Organisation.

Parameters

Name In Type Required Description
user_id path string true The UUID of the User to delete.

Example responses

200 Response

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.DeleteUserResponse
404 Not Found User not found. Error

Fetch Stax User or Federated User

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/users/{user_id}', headers = headers)

print(r.json())

GET /20190206/users/{user_id}

Return the requested User.
Attempting to fetch a DELETED user will always return User not found.

Parameters

Name In Type Required Description
user_id path string true The UUID of the User to return.

Example responses

200 Response

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. teams.ReadUsers
404 Not Found User not found. Error

Workloads

Stax Workloads are packages of infrastructure-as-code that can be deployed to one or more AWS accounts from a single location.

Fetch Workload Catalogue Items

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workload-catalogue', headers = headers)

print(r.json())

GET /20190206/workload-catalogue

Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.

Parameters

Name In Type Required Description
name query string false The Name of the Workload Catalogue Items to return.
filter query string false List of Workload Catalogue Item statuses you want returned, comma delimited.
id_filter query string false List of Workload Catalogue Item IDs you want returned, comma delimited.
offset query integer false Pagination - The page number to return.
limit query integer false Pagination - The number of items per page to return.
sort query string false The field to sort on.
sort_order query string false The sort order - up or down.
include_versions query boolean false Do you want all Versions?
include_parameters query boolean false Do you want the Parameter dictionary?
include_tags query boolean false Do you want all the Tags?

Detailed descriptions

filter: List of Workload Catalogue Item statuses you want returned, comma delimited.

Filter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.

Enumerated Values

Parameter Value
sort Id
sort Name
sort Description
sort Status
sort OrganisationId
sort Public
sort CreatedTS
sort CreatedBy
sort ModifiedTS
sort UserTaskId
sort CatalogueVersionId
sort Protection
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "WorkloadCatalogues": [
    {
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Paging": {
        "NextOffset": 20,
        "PrevOffset": null,
        "Total": 100
      },
      "WorkloadCatalogueItems": [
        {
          "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedTS": "2018-10-11T01:05:45.000Z",
          "Description": "A Workload to build a VPC in my org",
          "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "ModifiedTS": "2018-10-11T01:05:45.000Z",
          "Name": "my-directory-service",
          "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
          "Protection": false,
          "Public": false,
          "Status": "NEW",
          "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "Versions": [
            {
              "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedTS": "2018-10-11T01:05:45.000Z",
              "Description": "A Workload to build a VPC in my org",
              "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
              "ModifiedTS": "2018-10-11T01:05:45.000Z",
              "Outputs": [
                "bread"
              ],
              "Parameters": [
                {
                  "CostCode": "12345",
                  "Dept": "Marketing"
                }
              ],
              "Public": false,
              "Status": "NEW",
              "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "WorkloadVersion": "0.01"
            }
          ]
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. workloads.ReadCatalogueItems
400 Bad Request The response returned if an invalid ID is entered. Error
404 Not Found The response returned if no catalogue is found. Error

Create Workload Catalogue Item

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/workload-catalogue', headers = headers)

print(r.json())

POST /20190206/workload-catalogue

Create a new Workload Catalogue Item within your Stax Organisation.

Body parameter

{
  "Description": "A Workload to build a VPC in my org",
  "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "Name": "my-directory-service",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Tags": {
    "CostCode": "12345"
  },
  "Version": "1.0.2"
}

Parameters

Name In Type Required Description
body body workloads.CreateCatalogueItem true none

Example responses

200 Response

{
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ManifestBody": "string",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "Operation": "CREATE",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Version": "string"
    }
  },
  "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TraceId": "string",
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. CreateCatalogueEvent
400 Bad Request The response returned if the catalogue manifest is invalid. Error
403 Forbidden The response returned if the request is unsuccessful. Error

Fetch Workload Catalogue Manifest

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workload-catalogue/manifest/{version_id}', headers = headers)

print(r.json())

GET /20190206/workload-catalogue/manifest/{version_id}

Return a Workload Catalogue Manifest

Parameters

Name In Type Required Description
version_id path string true The UUID of the Catalogue Version

Example responses

200 Response

{
  "url": "string"
}

Responses

Status Meaning Description Schema
200 OK Returns the presigned url for the manifest file workloads.ReadCatalogueManifest
400 Bad Request The response returned if an invalid ID is entered. Error
404 Not Found The Workload Catalogue Version ID can not be found or does not belong to the user. Error

Fetch Workload Catalogue Cloudformation Template

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workload-catalogue/template/{version_id}/{name}', headers = headers)

print(r.json())

GET /20190206/workload-catalogue/template/{version_id}/{name}

Return a specific Workload Catalogue Cloudformation Template

Parameters

Name In Type Required Description
version_id path string true The UUID of the Catalogue Version
name path string true Retrieve the Cloudformation with this Resource Name.

Example responses

200 Response

{
  "url": "string"
}

Responses

Status Meaning Description Schema
200 OK Returns the presigned url to retrieve the template workloads.ReadCatalogueTemplate
400 Bad Request The response returned if an invalid ID is entered. Error
403 Forbidden The response returned if the request is not successful. Error
404 Not Found The response returned if the request is not successful. Error

Delete Workload Catalogue Item

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/workload-catalogue/{catalogue_id}', headers = headers)

print(r.json())

DELETE /20190206/workload-catalogue/{catalogue_id}

Delete a Workload Catalogue Item from your Stax Organisation.
Existing Workloads launched from this Catalogue will not be deleted.

Parameters

Name In Type Required Description
catalogue_id path string true The UUID of the Catalogue Item to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ManifestBody": "string",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "Operation": "CREATE",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Version": "string"
    }
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. DeleteCatalogueEvent
400 Bad Request The Workload Catalogue can not be deleted due to running workloads. Error
403 Forbidden The Workload Catalogue is Protected. Protection must be disabled before you can delete it. Error
404 Not Found The Workload Catalog ID can not be found or does not belong to the user. Error

Fetch Workload Catalogue Item

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workload-catalogue/{catalogue_id}', headers = headers)

print(r.json())

GET /20190206/workload-catalogue/{catalogue_id}

Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.

Parameters

Name In Type Required Description
catalogue_id path string true The UUID of the Catalogue Item to return.
name query string false The Name of the Workload Catalogue Items to return.
filter query string false List of Workload Catalogue Item statuses you want returned, comma delimited.
id_filter query string false List of Workload Catalogue Item IDs you want returned, comma delimited.
offset query integer false Pagination - The page number to return.
limit query integer false Pagination - The number of items per page to return.
sort query string false The field to sort on.
sort_order query string false The sort order - up or down.
include_versions query boolean false Do you want all Versions?
include_parameters query boolean false Do you want the Parameter dictionary?
include_tags query boolean false Do you want all the Tags?

Detailed descriptions

filter: List of Workload Catalogue Item statuses you want returned, comma delimited.

Filter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.

Enumerated Values

Parameter Value
sort Id
sort Name
sort Description
sort Status
sort OrganisationId
sort Public
sort CreatedTS
sort CreatedBy
sort ModifiedTS
sort UserTaskId
sort CatalogueVersionId
sort Protection
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "WorkloadCatalogues": [
    {
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Paging": {
        "NextOffset": 20,
        "PrevOffset": null,
        "Total": 100
      },
      "WorkloadCatalogueItems": [
        {
          "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedTS": "2018-10-11T01:05:45.000Z",
          "Description": "A Workload to build a VPC in my org",
          "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "ModifiedTS": "2018-10-11T01:05:45.000Z",
          "Name": "my-directory-service",
          "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
          "Protection": false,
          "Public": false,
          "Status": "NEW",
          "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "Versions": [
            {
              "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedTS": "2018-10-11T01:05:45.000Z",
              "Description": "A Workload to build a VPC in my org",
              "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
              "ModifiedTS": "2018-10-11T01:05:45.000Z",
              "Outputs": [
                "bread"
              ],
              "Parameters": [
                {
                  "CostCode": "12345",
                  "Dept": "Marketing"
                }
              ],
              "Public": false,
              "Status": "NEW",
              "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "WorkloadVersion": "0.01"
            }
          ]
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. workloads.ReadCatalogueItems
400 Bad Request The response returned if an invalid ID is entered. Error
404 Not Found The response returned if no catalogue is found. Error

Update Workload Catalogue Item

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/workload-catalogue/{catalogue_id}', headers = headers)

print(r.json())

PUT /20190206/workload-catalogue/{catalogue_id}

Creates a new version of a Workload Catalogue Item.
Workload Catalogue Items have one or more versions and are immutable, so any changes are a new version.

Body parameter

{
  "Description": "A Workload to build a VPC in my org",
  "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Tags": {
    "CostCode": "12345"
  },
  "Version": "1.0.2"
}

Parameters

Name In Type Required Description
catalogue_id path string true The UUID of the Catalogue Item to update.
body body workloads.CreateCatalogueVersion true none

Example responses

200 Response

{
  "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Description": "A Workload to build a VPC in my org",
      "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Public": false,
      "Version": "0.01"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. CreateVersionEvent
400 Bad Request The response returned if the catalogue manifest is invalid. Error
403 Forbidden The response returned if the catalogue has already been deleted. Error
404 Not Found The Workload Catalog ID can not be found or does not belong to the user. Error

Delete Workload Catalogue Version

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/workload-catalogue/{catalogue_id}/{version_id}', headers = headers)

print(r.json())

DELETE /20190206/workload-catalogue/{catalogue_id}/{version_id}

Delete a Workload Catalogue Version from your Stax Organisation.
Existing Workloads launched from this Workload Catalogue Version will not be deleted.

Parameters

Name In Type Required Description
catalogue_id path string true The UUID of the Catalogue Item.
version_id path string true The UUID of the Catalogue Version to delete.

Example responses

200 Response

{
  "Detail": {
    "TraceId": "string",
    "WorkloadCatalogueVersion": {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Outputs": [
        "bread"
      ],
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "WorkloadVersion": "0.01"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. DeleteVersionEvent
400 Bad Request The Workload Catalogue Version can not be deleted due to running workloads. Error
404 Not Found The Workload Catalogue Version can not be found or does not belong to the user. Error

Fetch Workload Catalogue Version

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workload-catalogue/{catalogue_id}/{version_id}', headers = headers)

print(r.json())

GET /20190206/workload-catalogue/{catalogue_id}/{version_id}

Return a specific Workload Catalogue Version.

Parameters

Name In Type Required Description
catalogue_id path string true The UUID of the Catalogue Item to return.
version_id path string true The UUID of the Catalogue Version to return.
include_parameters query boolean false Do you want the Parameter dictionary?

Example responses

200 Response

{
  "Versions": [
    {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Outputs": [
        "bread"
      ],
      "Parameters": [
        {
          "CostCode": "12345",
          "Dept": "Marketing"
        }
      ],
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "WorkloadVersion": "0.01"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. workloads.ReadCatalogueVersion
400 Bad Request The response returned if an invalid ID is entered. Error
404 Not Found The Workload Catalog ID or Catalogue Version ID can not be found or does not belong to the user. Error

Fetch Workloads

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workloads', headers = headers)

print(r.json())

GET /20190206/workloads

Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.

Parameters

Name In Type Required Description
name query string false The Name of the Workloads to return.
filter query string false Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.
account_names query string false Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names.
account_types query string false Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types.
account_ids query string false Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs.
id_filter query string false Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs.
catalogue_names query string false Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names.
catalogue_ids query string false Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs.
catalogue_version query string false Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids
catalogue_version_id query string false Only return Workloads launched from this Stax Workload Catalogue Version ID.
offset query integer false Pagination - The page number to return. Must be used with limit
limit query integer false Pagination - The number of items per page to return. Must be used with offset
sort query string false The field to sort on.
sort_order query string false The sort order - up or down.

Detailed descriptions

filter: Comma delimited list of Stax Workload statuses. Returns all Workloads with this status. Filter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.

Enumerated Values

Parameter Value
sort Id
sort Name
sort AccountId
sort CatalogueId
sort CatalogueVersionId
sort Region
sort Status
sort UserTaskId
sort CreatedBy
sort CreatedTS
sort ModifiedTS
sort FactoryVersion
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  },
  "Workloads": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-workload-is-cool",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A list of all Workloads for the logged in Customer. workloads.ReadWorkloadsResponse
400 Bad Request The response returned if the Workload ID is not a valid UUID. Error
404 Not Found The Workload ID can not be found or does not belong to the user. Error

Deploy Workload

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/workloads', headers = headers)

print(r.json())

POST /20190206/workloads

Deploy a Workload within an AWS Account.

Body parameter

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Name": "my-workload-is-cool",
  "Parameters": [
    {
      "Key": "CostCode",
      "Value": "12345"
    }
  ],
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body workloads.CreateWorkload true none

Example responses

200 Response

{
  "DetailType": "string",
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "WorkloadId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. CreateWorkloadEvent
400 Bad Request The response returned if the request is unsuccessful. StaxEvent

Terminate Workload

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/workloads/{workload_id}', headers = headers)

print(r.json())

DELETE /20190206/workloads/{workload_id}

Terminate an active Workload within an AWS Account.

Parameters

Name In Type Required Description
workload_id path string true The UUID of the Workload to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. DeleteWorkloadEvent
400 Bad Request The response returned if the request is unsuccessful. StaxEvent
403 Forbidden The Workload is Protected. Protection must be disabled before you can delete it. StaxEvent
404 Not Found The Workload ID can not be found or does not belong to the user. Error

Fetch Workload

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/workloads/{workload_id}', headers = headers)

print(r.json())

GET /20190206/workloads/{workload_id}

Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.

Parameters

Name In Type Required Description
workload_id path string true The UUID of the Workload Item to return.
name query string false The Name of the Workloads to return.
filter query string false Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.
account_names query string false Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names.
account_types query string false Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types.
account_ids query string false Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs.
id_filter query string false Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs.
catalogue_names query string false Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names.
catalogue_ids query string false Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs.
catalogue_version query string false Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids
catalogue_version_id query string false Only return Workloads launched from this Stax Workload Catalogue Version ID.
offset query integer false Pagination - The page number to return. Must be used with limit
limit query integer false Pagination - The number of items per page to return. Must be used with offset
sort query string false The field to sort on.
sort_order query string false The sort order - up or down.
include_tags query boolean false Do you want all the Tags?

Detailed descriptions

filter: Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.

Filter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.

Enumerated Values

Parameter Value
sort Id
sort Name
sort AccountId
sort CatalogueId
sort CatalogueVersionId
sort Region
sort Status
sort UserTaskId
sort CreatedBy
sort CreatedTS
sort ModifiedTS
sort FactoryVersion
sort_order ASC
sort_order DESC

Example responses

200 Response

{
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  },
  "Workloads": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-workload-is-cool",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A list of all Workloads for the logged in Customer. workloads.ReadWorkloadsResponse
400 Bad Request The response returned if the Workload ID is not a valid UUID. Error
404 Not Found The Workload ID can not be found or does not belong to the user. Error

Update Workload

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/workloads/{workload_id}', headers = headers)

print(r.json())

PUT /20190206/workloads/{workload_id}

Update a Workload running within an AWS Account.

Body parameter

{
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Parameters": [
    {
      "Key": "CostCode",
      "Value": "12345"
    }
  ],
  "Protection": true,
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
workload_id path string true The UUID of the Workload to update.
body body workloads.UpdateWorkload true none

Example responses

200 Response

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "WorkloadId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. UpdateWorkloadEvent
400 Bad Request The response returned if the request is unsuccessful. StaxEvent
404 Not Found The Workload ID can not be found or does not belong to the user. Error

OrganisationalUnits

Fetch Organisational Units

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units', headers = headers)

print(r.json())

GET /20190206/organisations/organisational-units

Return all Organisation Units in your Stax Organisation.

Parameters

Name In Type Required Description
status query string false The Stax Organisational Unit statuses to return, comma delimited.

Detailed descriptions

status: The Stax Organisational Unit statuses to return, comma delimited. Filter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETE_FAILED, DELETED

Example responses

200 Response

{
  "OrganisationalUnits": [
    {
      "AwsId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Security",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitType": "ROOT",
      "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.ReadOrganisationalUnits
404 Not Found The Stax Organisational Unit cannot be found. Error

Create Organisational Unit

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units', headers = headers)

print(r.json())

POST /20190206/organisations/organisational-units

Create an Organisational Unit in your Stax Organisation.

Body parameter

{
  "Name": "DenyAll",
  "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body organisations.CreateOrganisationalUnit false none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.CreateOrganisationalUnitEvent
400 Bad Request The response returned if the request is unsuccessful. Error

Delete Organisational Unit

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units/{organisational_unit_id}', headers = headers)

print(r.json())

DELETE /20190206/organisations/organisational-units/{organisational_unit_id}

Delete an Organisational Unit from your Stax Organisation.

Parameters

Name In Type Required Description
organisational_unit_id path string true The UUID of the Organisational Unit to delete.

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.DeleteOrganisationalUnitEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Organisational Unit to delete cannot be found. Error

Fetch Organisational Unit

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units/{organisational_unit_id}', headers = headers)

print(r.json())

GET /20190206/organisations/organisational-units/{organisational_unit_id}

Return the requested Organisational Unit.

Parameters

Name In Type Required Description
organisational_unit_id path string true The UUID of the Organisational Unit to return.

Example responses

200 Response

{
  "OrganisationalUnits": [
    {
      "AwsId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Security",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitType": "ROOT",
      "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.ReadOrganisationalUnits

Update Organisational Unit

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units/{organisational_unit_id}', headers = headers)

print(r.json())

PUT /20190206/organisations/organisational-units/{organisational_unit_id}

Update an existing Organisational Unit within your Stax Organisation.

Body parameter

{
  "Name": "Root",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
organisational_unit_id path string true The UUID of the Organisational Unit to update.
body body organisations.UpdateOrganisationalUnit false none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.UpdateOrganisationalUnitEvent
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The Stax Organisational Unit to update cannot be found. Error

Fetch Organisational Unit Accounts

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units/{organisational_unit_id}/accounts', headers = headers)

print(r.json())

GET /20190206/organisations/organisational-units/{organisational_unit_id}/accounts

Return the requested Organisational Units Accounts

Parameters

Name In Type Required Description
organisational_unit_id path string true The UUID of the Organisational Unit Accounts to return.

Example responses

200 Response

{
  "Accounts": [
    {
      "AWSLoginURLs": {
        "admin": "string",
        "developer": "string",
        "readonly": "string"
      },
      "AccountRole": "MEMBER",
      "AccountType": "string",
      "AllocatedTS": "2018-10-11T01:05:45.000Z",
      "AssuranceState": "ACTIVE",
      "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
      "AwsAccountAlias": "string",
      "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
      "AwsAccountId": "012345678901",
      "AwsAccountStatusId": "string",
      "AwsLoginURL": "string",
      "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Email": "stax.user@example.com",
      "FactoryVersion": "f8cf81b",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LatestCost": 72.52,
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "Name": "bakery",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrgsOuId": "string",
      "Origin": "STAX",
      "Status": "ACTIVE",
      "StaxCreated": true,
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. organisations.ReadOrganisationalUnitAccounts

Fetch Organisational Unit Policy Attachments

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/organisations/organisational-units/{organisational_unit_id}/policies', headers = headers)

print(r.json())

GET /20190206/organisations/organisational-units/{organisational_unit_id}/policies

Return the policies that are attached to the Organisational Unit.

Parameters

Name In Type Required Description
organisational_unit_id path string true The Stax UUID of the Organisational Unit.

Example responses

200 Response

{
  "PolicyAttachments": [
    {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyAttachmentType": "ORGANISATIONAL_UNIT",
      "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK The response returned if the request is successful. policies.ReadPolicyAttachments
400 Bad Request The response returned if the request is unsuccessful. Error
404 Not Found The response returned if the Organisational Unit could not be found. Error

ServiceConfiguration

Fetch Account Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/account/configuration', headers = headers)

print(r.json())

GET /20190206/services/account/configuration


Returns the Stax-managed Account configuration for your Stax Organisation.

Example responses

200 Response

{
  "Configuration": {
    "AlternateContacts": [
      {
        "AlternateContactType": "BILLING",
        "EmailAddress": "string",
        "Name": "string",
        "PhoneNumber": "string",
        "Title": "string"
      }
    ],
    "EC2": {
      "EBSEncryptionByDefault": true,
      "ImageBlockPublicAccess": true,
      "SnapshotBlockPublicAccess": true
    },
    "S3": {
      "BlockPublicAccess": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK Service configuration returned if the request is successful. services.ReadAccountConfiguration
404 Not Found Account service configuration cannot be found. Error

Update Account Configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/services/account/configuration', headers = headers)

print(r.json())

PUT /20190206/services/account/configuration


Updates the configuration of a Stax-managed Account in your Stax Organisation.

Body parameter

{
  "Configuration": {
    "AlternateContacts": [
      {
        "AlternateContactType": "BILLING",
        "EmailAddress": "string",
        "Name": "string",
        "PhoneNumber": "string",
        "Title": "string"
      }
    ],
    "EC2": {
      "EBSEncryptionByDefault": true,
      "ImageBlockPublicAccess": true,
      "SnapshotBlockPublicAccess": true
    },
    "S3": {
      "BlockPublicAccess": true
    }
  }
}

Parameters

Name In Type Required Description
body body services.ConfigureAccount true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK Account configuration has started. services.ConfigureAccountEvent
400 Bad Request Account configuration is invalid. Error
409 Conflict Account configuration cannot be updated because of a conflicting operation in progress. Error

Fetch Service Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/configuration', headers = headers)

print(r.json())

GET /20190206/services/configuration


Returns a list of Foundation Services configured in your Stax Organisation.
Specify service name (e.g., SECURITYHUB, GUARDDUTY) to get service-specific configuration.

Example responses

200 Response

{
  "ServiceConfigurations": [
    {
      "Configuration": {},
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Enabled": true,
      "Exclusions": [
        "string"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Service": "SECURITYHUB",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Service configuration(s) returned if the request is successful. services.ReadConfigurations

Fetch GuardDuty Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/guardduty/configuration', headers = headers)

print(r.json())

GET /20190206/services/guardduty/configuration


Returns the Stax-managed GuardDuty configuration for your Stax Organisation.

Example responses

200 Response

{
  "Configuration": {
    "Features": {
      "EBS_MALWARE_PROTECTION": {
        "EbsSnapshotPreservation": "NO_RETENTION",
        "Enable": true,
        "ScanResourceCriteria": {
          "Include": {
            "EC2_INSTANCE_TAG": [
              {
                "CostCode": "12345"
              }
            ]
          }
        }
      },
      "EKS_AUDIT_LOGS": {
        "Enable": true
      },
      "EKS_RUNTIME_MONITORING": {
        "EKS_ADDON_MANAGEMENT": true,
        "Enable": true
      },
      "LAMBDA_NETWORK_LOGS": {
        "Enable": true
      },
      "RDS_LOGIN_EVENTS": {
        "Enable": true
      },
      "S3_DATA_EVENTS": {
        "Enable": true
      }
    },
    "FindingPublishingFrequency": "FIFTEEN_MINUTES"
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK Service configuration returned if the request is successful. services.ReadGuardDutyConfiguration
404 Not Found GuardDuty service configuration cannot be found. Error

Update GuardDuty Configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/services/guardduty/configuration', headers = headers)

print(r.json())

PUT /20190206/services/guardduty/configuration


Updates the configuration of Stax-managed GuardDuty in your Stax Organisation.

Body parameter

{
  "Configuration": {
    "Features": {
      "EBS_MALWARE_PROTECTION": {
        "EbsSnapshotPreservation": "NO_RETENTION",
        "Enable": true,
        "ScanResourceCriteria": {
          "Include": {
            "EC2_INSTANCE_TAG": [
              {
                "CostCode": "12345"
              }
            ]
          }
        }
      },
      "EKS_AUDIT_LOGS": {
        "Enable": true
      },
      "EKS_RUNTIME_MONITORING": {
        "EKS_ADDON_MANAGEMENT": true,
        "Enable": true
      },
      "LAMBDA_NETWORK_LOGS": {
        "Enable": true
      },
      "RDS_LOGIN_EVENTS": {
        "Enable": true
      },
      "S3_DATA_EVENTS": {
        "Enable": true
      }
    },
    "FindingPublishingFrequency": "FIFTEEN_MINUTES"
  },
  "Enabled": true
}

Parameters

Name In Type Required Description
body body services.ConfigureGuardDuty true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK GuardDuty configuration has started. services.ConfigureGuardDutyEvent
400 Bad Request Once enabled, GuardDuty configuration cannot be disabled. Error
404 Not Found GuardDuty configuration not found for the organisation. Error
409 Conflict GuardDuty configuration cannot be updated because of a conflicting operation in progress. Error

Read Guardrails Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/guardrails/configuration', headers = headers)

print(r.json())

GET /20190206/services/guardrails/configuration


Returns the guardrails configuration for the Stax Organisation.

Example responses

200 Response

{
  "Configuration": {
    "RCP": {},
    "SCP": {
      "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
      "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
      "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
      "EBS_BLOCK_DIRECT_API_CALLS": true,
      "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
      "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
      "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
      "IAM_BLOCK_CREATING_IAM_USER": true,
      "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
      "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
      "IAM_BLOCK_ROOT_USER_ACCESS": true,
      "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
      "MACIE_BLOCK_SERVICE": true,
      "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
      "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
      "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
      "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
      "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
      "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
      "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
      "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
      "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
      "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
      "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK The organisation's guardrails configuration. services.ReadGuardrailsConfiguration
404 Not Found The organisation's guardrails configuration cannot be found. Error

Update Guardrails Configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/services/guardrails/configuration', headers = headers)

print(r.json())

PUT /20190206/services/guardrails/configuration


Updates guardrails configurations for the Stax Organisation.

Body parameter

{
  "Configuration": {
    "RCP": {},
    "SCP": {
      "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
      "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
      "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
      "EBS_BLOCK_DIRECT_API_CALLS": true,
      "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
      "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
      "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
      "IAM_BLOCK_CREATING_IAM_USER": true,
      "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
      "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
      "IAM_BLOCK_ROOT_USER_ACCESS": true,
      "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
      "MACIE_BLOCK_SERVICE": true,
      "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
      "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
      "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
      "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
      "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
      "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
      "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
      "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
      "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
      "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
      "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
    }
  }
}

Parameters

Name In Type Required Description
body body services.ConfigureGuardrails true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK Guardrails configuration operation has started. services.ConfigureGuardrailsEvent
404 Not Found The organisation's guardrails configuration cannot be found. Error
409 Conflict Guardrails configuration cannot be updated because of a conflicting operation in progress. Error

Fetch Regions Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/regions/configuration', headers = headers)

print(r.json())

GET /20190206/services/regions/configuration


Returns the Stax-managed Regions configuration for your Stax Organisation.

Example responses

200 Response

{
  "Configuration": {
    "Disabled": [
      "ap-northeast-1"
    ],
    "Enabled": [
      "ap-northeast-1"
    ]
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK Service configuration returned if the request is successful. services.ReadRegionsConfiguration
404 Not Found Regions service configuration cannot be found. Error

Update Regions Configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/services/regions/configuration', headers = headers)

print(r.json())

PUT /20190206/services/regions/configuration


Updates the configuration of Stax-managed Regions in your Stax Organisation.

Body parameter

{
  "Configuration": {
    "Disabled": [
      "ap-northeast-1"
    ],
    "Enabled": [
      "ap-northeast-1"
    ]
  }
}

Parameters

Name In Type Required Description
body body services.ConfigureRegions true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK Regions configuration has started. services.ConfigureRegionsEvent
400 Bad Request Regions configuration is invalid. Error
409 Conflict Regions configuration cannot be updated because of a conflicting operation in progress. Error

Fetch Security Hub Configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.au1.staxapp.cloud/20190206/services/securityhub/configuration', headers = headers)

print(r.json())

GET /20190206/services/securityhub/configuration


Returns the Stax-managed Security Hub configuration for your Stax Organisation.

Example responses

200 Response

{
  "Configuration": {
    "Standards": {
      "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": true,
      "AWS_REGIONS": [
        "ap-southeast-2",
        "us-west-2"
      ],
      "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": true,
      "NIST_SP_800_53_REVISION_5": true,
      "PCI_DSS_3_2_1": true,
      "PCI_DSS_4_0_1": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Responses

Status Meaning Description Schema
200 OK Service configuration returned if the request is successful. services.ReadSecurityHubConfiguration
404 Not Found The Stax Networking resource cannot be found. Error

Update Security Hub Configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.au1.staxapp.cloud/20190206/services/securityhub/configuration', headers = headers)

print(r.json())

PUT /20190206/services/securityhub/configuration


Updates the configuration of Stax-managed Security Hub in your Stax Organisation.

Body parameter

{
  "Configuration": {
    "Standards": {
      "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": true,
      "AWS_REGIONS": [
        "ap-southeast-2",
        "us-west-2"
      ],
      "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": true,
      "NIST_SP_800_53_REVISION_5": true,
      "PCI_DSS_3_2_1": true,
      "PCI_DSS_4_0_1": true
    }
  },
  "Enabled": true
}

Parameters

Name In Type Required Description
body body services.ConfigureSecurityHub true none

Example responses

200 Response

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Responses

Status Meaning Description Schema
200 OK Security Hub configuration has started. services.ConfigureSecurityHubEvent
400 Bad Request Once enabled, security hub configuration cannot be disabled. Error
409 Conflict Security hub configuration cannot be updated because of a conflicting operation in progress. Error

Schemas

Account

{
  "AWSLoginURLs": {
    "admin": "string",
    "developer": "string",
    "readonly": "string"
  },
  "AccountRole": "MEMBER",
  "AccountType": "string",
  "AllocatedTS": "2018-10-11T01:05:45.000Z",
  "AssuranceState": "ACTIVE",
  "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
  "AwsAccountAlias": "string",
  "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
  "AwsAccountId": "012345678901",
  "AwsAccountStatusId": "string",
  "AwsLoginURL": "string",
  "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Email": "stax.user@example.com",
  "FactoryVersion": "f8cf81b",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "LatestCost": 72.52,
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "Name": "bakery",
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "OrgsOuId": "string",
  "Origin": "STAX",
  "Status": "ACTIVE",
  "StaxCreated": true,
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AWSLoginURLs object false none none none
» admin string false none none none
» developer string false none none none
» readonly string false none none none
AccountRole string false read-only The role of the account in the org none
AccountType string¦null false none none none
AllocatedTS string(date-time)¦null false read-only Allocated timestamp. none
AssuranceState string false read-only Hardening state of the Account. none
AssuranceStateReason string¦null false read-only Descriptive reason for the current AssuranceState. none
AwsAccountAlias string¦null false none The IAM alias for the account maxLength: 48, minLength: 1
AwsAccountCanonicalUserId string false read-only The Canonical User ID of the account maxLength: 64, minLength: 64
AwsAccountId string false read-only AWS Account Id. maxLength: 12, minLength: 12
AwsAccountStatusId string¦null false none none none
AwsLoginURL string false none none none
CreatedBy string¦null false read-only UUID of the account creator. pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
CreatedTS string(date-time) false read-only Created timestamp. none
Email string(email) false read-only Email address of account owner. maxLength: 128, minLength: 6
FactoryVersion GitHash false none none -
Id ro-uuidv4 true none none -
LatestCost number false read-only Estimated cost to-date for the current billing period. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Account. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$
OrganisationId uuidv4 true none none -
OrganisationalUnitId nullable-uuidv4 false none none -
OrgsOuId string¦null false none none none
Origin string false read-only Origin of the Account. none
Status string false read-only Status of the Account. none
StaxCreated boolean false none none none
Tags StaxTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
AccountRole MEMBER
AccountRole MANAGEMENT
AccountRole MANAGEMENT_RESELL
AccountRole SECURITY
AccountRole LOGGING
AssuranceState NONE
AssuranceState UPDATING
AssuranceState ACTIVE
AssuranceState ERROR
Origin STAX
Origin EXTERNAL
Status ACTIVE
Status AWSERROR
Status CLOSED
Status DISCOVERED
Status ERROR
Status INITIALIZING
Status MAINTENANCE
Status NEW
Status NOAWS
Status SUSPENDED
Status OFFBOARDED
Status ONBOARDING
Status INACTIVE

AccountConfiguration

{
  "AlternateContacts": [
    {
      "AlternateContactType": "BILLING",
      "EmailAddress": "string",
      "Name": "string",
      "PhoneNumber": "string",
      "Title": "string"
    }
  ],
  "EC2": {
    "EBSEncryptionByDefault": true,
    "ImageBlockPublicAccess": true,
    "SnapshotBlockPublicAccess": true
  },
  "S3": {
    "BlockPublicAccess": true
  }
}

Properties

Name Type Required Restrictions Description Validation
AlternateContacts [AlternateContact] false none none maxItems: 3, minItems: 1
EC2 object false none none none
» EBSEncryptionByDefault boolean false none EBS volumes are automatically encrypted using the default KMS key none
» ImageBlockPublicAccess boolean false none Blocks public sharing for AMIs none
» SnapshotBlockPublicAccess boolean false none Blocks public sharing for snapshots none
S3 object false none none none
» BlockPublicAccess boolean false none Blocks S3 objects having public access none

AccountType

{
  "Accounts": [],
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Development",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Policies": [],
  "Roles": [],
  "Status": "ACTIVE",
  "StaxCreated": true
}

Properties

Name Type Required Restrictions Description Validation
Accounts [ro-uuidv4] true none none none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time)¦null false read-only Created timestamp. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time)¦null false read-only Modified timestamp. none
Name string true none Name of Account Type. maxLength: 64, minLength: 3, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$
OrganisationId ro-uuidv4 true none none -
Policies [ro-uuidv4] true none none none
Roles [object] true none none none
» GroupId ro-uuidv4 true none none -
» RoleName string true none none none
Status string true none none none
StaxCreated boolean¦null false none none none

Enumerated Values

Property Value
Status ACTIVE
Status DELETED

AccountTypeAccessMap

{
  "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AccountTypeName": "string",
  "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "GroupName": "string",
  "RoleName": "admin"
}

Properties

Name Type Required Restrictions Description Validation
AccountTypeId uuidv4 false none none -
AccountTypeName string false none none none
GroupId uuidv4 false none none -
GroupName string false none none none
RoleName string false none AWS access roles enabled for an account type. none

anyOf

Name Type Required Restrictions Description Validation
anonymous object false none none none

or

Name Type Required Restrictions Description Validation
anonymous object false none none none

or

Name Type Required Restrictions Description Validation
anonymous object false none none none

or

Name Type Required Restrictions Description Validation
anonymous object false none none none

Enumerated Values

Property Value
RoleName admin
RoleName developer
RoleName readonly

AccountTypeMemberMap

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AccountTypeName": "string"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 false none none -
AccountTypeId uuidv4 false none none -
AccountTypeName string false none none none

anyOf

Name Type Required Restrictions Description Validation
anonymous object false none none none

or

Name Type Required Restrictions Description Validation
anonymous object false none none none

AlternateContact

{
  "AlternateContactType": "BILLING",
  "EmailAddress": "string",
  "Name": "string",
  "PhoneNumber": "string",
  "Title": "string"
}

Properties

Name Type Required Restrictions Description Validation
AlternateContactType string true none Specifies which alternate contact you want to create or update. none
EmailAddress string true none Specifies an email address for the alternate contact. maxLength: 254, minLength: 1, pattern: ^[\s]*[\w+=.#¦!&-]+@[\w.-]+\.[\w]+[\s]*$
Name string true none Specifies a name for the alternate contact. maxLength: 64, minLength: 1
PhoneNumber string true none Specifies a phone number for the alternate contact. maxLength: 25, minLength: 1, pattern: ^[\s0-9()+-]+$
Title string true none Specifies a title for the alternate contact. maxLength: 50, minLength: 1

Enumerated Values

Property Value
AlternateContactType BILLING
AlternateContactType OPERATIONS
AlternateContactType SECURITY

ApiRole

"api_admin"

Stax role assigned to an API Token.

Properties

Name Type Required Restrictions Description Validation
anonymous string false none Stax role assigned to an API Token. none

Enumerated Values

Property Value
anonymous api_admin
anonymous api_operations
anonymous api_user
anonymous api_readonly

AwsRegion

"ap-northeast-1"

Properties

oneOf

Name Type Required Restrictions Description Validation
anonymous DefaultAwsRegion false none The available default AWS Regions -

xor

Name Type Required Restrictions Description Validation
anonymous OptInAwsRegion false none The available opt-in AWS Regions -

xor

Name Type Required Restrictions Description Validation
anonymous DisabledAwsRegion false none The disabled default AWS Regions -

BaseEvent

{
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
DetailType string true none none none

BaseEventDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string"
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none

BgpMapping

{
  "BgpPeerId": "string",
  "BgpStatus": "up"
}

Properties

Name Type Required Restrictions Description Validation
BgpPeerId string false none The BGP Peer ID of the VIF none
BgpStatus string false read-only The status of the BGP peer. none

Enumerated Values

Property Value
BgpStatus up
BgpStatus down
BgpStatus unknown

CatalogueData

{
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "A Workload to build a VPC in my org",
  "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "ManifestBody": "string",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "my-directory-service",
  "Operation": "CREATE",
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Protection": false,
  "Public": false,
  "Status": "NEW",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Version": "string"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId uuidv4 false none none -
CatalogueVersionId nullable-uuidv4 false none none -
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string true none Description of the Workload. maxLength: 1024
Id uuidv4 false none none -
ManifestBody string false none none none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Workload Catalogue Item to create. maxLength: 64, minLength: 2
Operation Operation false none none -
OrganisationId uuidv4 false none none -
Parameters Parameter false none none -
Protection boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Public boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Status CatalogueStatus false none Status of the Workload. -
Tags Tags false none none -
UserTaskId ro-uuidv4 false none none -
Version string false none none none

CatalogueStatus

"NEW"

Status of the Workload.

Properties

Name Type Required Restrictions Description Validation
anonymous string false read-only Status of the Workload. none

Enumerated Values

Property Value
anonymous NEW
anonymous UPLOADING
anonymous VALIDATING
anonymous ACTIVE
anonymous DELETED
anonymous FAILED

CatalogueVersionProperties

{
  "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "A Workload to build a VPC in my org",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Outputs": [
    "bread"
  ],
  "Public": false,
  "Status": "NEW",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "WorkloadVersion": "0.01"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId ro-uuidv4 true none none -
CreatedBy ro-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string false none Description of the Workload. maxLength: 1024
Id ro-uuidv4 false none none -
ManifestURL string false none HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Outputs [string]¦null false read-only none none
Public boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Status string false read-only Status of the Workload. none
UserTaskId ro-uuidv4 false none none -
WorkloadVersion string false read-only none none

Enumerated Values

Property Value
Status NEW
Status UPLOADING
Status VALIDATING
Status ACTIVE
Status DELETED
Status FAILED

CidrExclusion

{
  "Cidr": "10.128.0.0/19",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "datacenter exclusion",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "non-prod",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Cidr string true none CIDR Range in quad dot notation. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string¦null false none Longer description of what the CIDR Exclusion is used for. maxLength: 2048, minLength: 0
Id ro-uuidv4 false none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the CIDR Exclusion. maxLength: 128, minLength: 2
NetworkingHubId uuidv4 false none none -
Status string false read-only The status of the CIRD Exclusion. none
Tags NetworkingTags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

CidrRange

{
  "Cidr": "10.128.0.0/23",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "DefaultCidrRange": false,
  "Description": "datacenter ranges",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "LastAllocationTS": "2018-10-11T01:05:45.000Z",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "non-prod",
  "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Cidr string true none CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23 none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
DefaultCidrRange boolean false none Boolean value declaring if the range is the default CIDR Range none
Description string¦null false none Longer description of what the CIDR Range is used for. maxLength: 2048, minLength: 0
Id ro-uuidv4 true none none -
LastAllocationTS string(date-time) false read-only Created timestamp. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the CIDR Range. maxLength: 128, minLength: 2
NetworkingHubId ro-uuidv4 false none none -
Status string false read-only The status of the CIDR Range. none
Tags NetworkingTags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

CreateCatalogueDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "TraceId": "string",
  "WorkloadCatalogueItem": {
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Description": "A Workload to build a VPC in my org",
    "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "ManifestBody": "string",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "my-directory-service",
    "Operation": "CREATE",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Public": false,
    "Status": "NEW",
    "Tags": {
      "CostCode": "12345"
    },
    "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Version": "string"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
TraceId string false none none none
WorkloadCatalogueItem CatalogueData false none none -

CreateCatalogueEvent

{
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ManifestBody": "string",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "Operation": "CREATE",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Version": "string"
    }
  },
  "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TraceId": "string",
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId uuidv4 false none none -
CustomerId ro-uuidv4 false none none -
Detail CreateCatalogueDetail false none none -
TaskId uuidv4 true none none -
TraceId string true none none none

CreateVersionDetail

{
  "TraceId": "string",
  "WorkloadCatalogueItem": {
    "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Description": "A Workload to build a VPC in my org",
    "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
    "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
    "Operation": "CREATE",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Public": false,
    "Version": "0.01"
  },
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string"
}

Properties

Name Type Required Restrictions Description Validation
TraceId string false none none none
WorkloadCatalogueItem object false none none none
» CatalogueId ro-uuidv4 false none none -
» Description string false none Description of the Workload. maxLength: 1024
» ManifestBody string false none Raw text of a Manifest. Either this or ManifestURL must be provided. none
» ManifestURL string false none HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided. none
» Operation Operation false none none -
» OrganisationId ro-uuidv4 false none none -
» Parameters Parameter false none none -
» Public boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
» Version string false read-only none none

CreateVersionEvent

{
  "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Description": "A Workload to build a VPC in my org",
      "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Public": false,
      "Version": "0.01"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId ro-uuidv4 false none none -
CustomerId ro-uuidv4 true none none -
Detail CreateVersionDetail false none none -
TaskId ro-uuidv4 false none none -
TraceId string false none none none

CreateWorkloadDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "Workload": {
    "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Name": "my-workload-is-cool",
    "Operation": "CREATE",
    "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Region": "us-east-1",
    "Tags": {
      "CostCode": "12345"
    },
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string",
    "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
Workload WorkloadData false none none -

CreateWorkloadEvent

{
  "DetailType": "string",
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "WorkloadId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

allOf

Name Type Required Restrictions Description Validation
anonymous BaseEvent false none none -

and

Name Type Required Restrictions Description Validation
anonymous object false none none none
» Detail CreateWorkloadDetail false none none -
» WorkloadId ro-uuidv4 false none none -

Customer

{
  "CognitoUserId": "my-user-id",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Email": "stax.user@example.com",
  "FactoryVersion": "f8cf81b",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "My Business",
  "Status": "ACTIVE",
  "SupportPlan": "BUSINESS",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
CognitoUserId string false read-only Cognito User unique identifier. none
CreatedBy ro-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Email string(email) true none Email address of the User. maxLength: 128, minLength: 6
FactoryVersion GitHash false none none -
Id ro-uuidv4 false none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Account. maxLength: 64, minLength: 3
Status string false read-only Status of the Customer. none
SupportPlan string false none Stax Support Plan allocated to the Customer. none
UserTaskId ro-uuidv4 false none none -

Enumerated Values

Property Value
Status PROSPECT
Status NEW
Status INITIALIZING
Status ACTIVE
Status SUSPENDED
SupportPlan BASIC
SupportPlan BUSINESS
SupportPlan ENTERPRISE

DNSResolver

{
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "InboundIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Interfaces": 2,
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "dns",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "OutboundIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Id ro-uuidv4 true none none -
InboundIpAddresses [string]¦null false none The IP Addresses attached to the Inbound DNS Resolver. none
Interfaces integer true none The number of ENIs to attach to the DNS Resolvers. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Stax DNS Resolvers. maxLength: 50, minLength: 2
NetworkingHubId uuidv4 true none none -
OutboundIpAddresses [string]¦null false none The IP Addresses attached to the Outbound DNS Resolver. none
Status string false read-only The status of the Stax DNS Resolvers. none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

DNSRule

{
  "AwsRuleId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "DnsResolverId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "DomainName": "test.local",
  "ForwarderIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "on-premises",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AwsRuleId string¦null false read-only The AWS Route53 Resolver Rule Id. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
DnsResolverId ro-uuidv4 true none none -
DomainName string true none Domain name to forward DNS queries for. maxLength: 256, minLength: 2
ForwarderIpAddresses [string] true none The IP Addresses to forward DNS queries to. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of Stax DNS Rule. maxLength: 64, minLength: 2
Status string false read-only The status of the Stax DNS Rule. none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

DefaultAwsRegion

"ap-northeast-1"

The available default AWS Regions

Properties

Name Type Required Restrictions Description Validation
anonymous string false none The available default AWS Regions none

Enumerated Values

Property Value
anonymous ap-northeast-1
anonymous ap-northeast-2
anonymous ap-south-1
anonymous ap-southeast-1
anonymous ap-southeast-2
anonymous ca-central-1
anonymous eu-central-1
anonymous eu-north-1
anonymous eu-west-1
anonymous eu-west-2
anonymous eu-west-3
anonymous sa-east-1
anonymous us-east-1
anonymous us-east-2
anonymous us-west-1
anonymous us-west-2

DeleteCatalogueDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "TraceId": "string",
  "WorkloadCatalogueItem": {
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Description": "A Workload to build a VPC in my org",
    "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "ManifestBody": "string",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "my-directory-service",
    "Operation": "CREATE",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Public": false,
    "Status": "NEW",
    "Tags": {
      "CostCode": "12345"
    },
    "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Version": "string"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
TraceId string false none none none
WorkloadCatalogueItem CatalogueData false none none -

DeleteCatalogueEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ManifestBody": "string",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "Operation": "CREATE",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Version": "string"
    }
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail DeleteCatalogueDetail true none none -

DeleteVersionDetail

{
  "TraceId": "string",
  "WorkloadCatalogueVersion": {
    "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Description": "A Workload to build a VPC in my org",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Outputs": [
      "bread"
    ],
    "Public": false,
    "Status": "NEW",
    "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "WorkloadVersion": "0.01"
  },
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string"
}

Properties

Name Type Required Restrictions Description Validation
TraceId string false none none none
WorkloadCatalogueVersion CatalogueVersionProperties false none none -

DeleteVersionEvent

{
  "Detail": {
    "TraceId": "string",
    "WorkloadCatalogueVersion": {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Outputs": [
        "bread"
      ],
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "WorkloadVersion": "0.01"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail DeleteVersionDetail false none none -

DeleteWorkloadDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "TraceId": "string",
  "Workload": {
    "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Name": "my-workload-is-cool",
    "Operation": "CREATE",
    "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Region": "us-east-1",
    "Tags": {
      "CostCode": "12345"
    },
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string",
    "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
TraceId string false none none none
Workload WorkloadData false none none -

DeleteWorkloadEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail DeleteWorkloadDetail false none none -

DisabledAwsRegion

"ap-northeast-3"

The disabled default AWS Regions

Properties

Name Type Required Restrictions Description Validation
anonymous string false none The disabled default AWS Regions none

Enumerated Values

Property Value
anonymous ap-northeast-3

DxAssociation

{
  "AwsAssociationId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ],
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AwsAssociationId string¦null false read-only The AWS Id of the DX Association. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
DxGatewayId uuidv4 true none none -
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
NetworkingHubId uuidv4 true none none -
Prefixes [string] true none The CIDR Ranges to advertise to on-premises. none
Status string false read-only The status of the Stax DX Association. none
UserTaskId nullable-uuidv4 false none none -
VpcId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

DxConnection

{
  "Bandwidth": "50Mbps",
  "ConnectionId": "dxcon-abcdefgh",
  "ConnectionName": "SY4",
  "ConnectionState": "available",
  "Region": "ap-northeast-1",
  "Vlan": 4000
}

Properties

Name Type Required Restrictions Description Validation
Bandwidth string true none Bandwidth of the Direct Connect Connection. maxLength: 100, minLength: 2
ConnectionId string true none AWS Id of the Direct Connect Connection. maxLength: 100, minLength: 2
ConnectionName string true none Name of the Direct Connect Connection. maxLength: 100, minLength: 2
ConnectionState string true read-only State of the Direct Connect Connection. none
Region AwsRegion true none none -
Vlan integer¦null true none VLAN for the Direct Connect Connection. none

Enumerated Values

Property Value
ConnectionState ordering
ConnectionState requested
ConnectionState pending
ConnectionState available
ConnectionState down
ConnectionState deleting
ConnectionState deleted
ConnectionState rejected
ConnectionState unknown

DxGateway

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64512,
  "AwsGatewayId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "ExternalResource": false,
  "GatewayType": "TRANSIT",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Prod Gateway",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
Asn integer true none ASN to assign to the Direct Connect Gateway. none
AwsGatewayId string¦null false read-only The AWS Id of the Direct Connect Gateway. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
ExternalResource boolean false none Boolean value to determine if the resource did not originate from Stax. none
GatewayType string false read-only The type of the Stax DX Gateway. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Direct Connect Gateway. maxLength: 95, minLength: 2, pattern: (?!^[0-9]$)([a-zA-Z0-9-_' '])
OrganisationId ro-uuidv4 true none none -
Status string false read-only The status of the Stax DX Gateway. none
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
GatewayType TRANSIT
GatewayType PRIVATE
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

DxVif

{
  "Asn": 64512,
  "AwsConnectionId": "dxcon-abcdefgh",
  "AwsRouterIp": "192.168.0.2/30",
  "AwsVifId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "ExternalResource": false,
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "JumboMtu": false,
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Prod VIF",
  "Region": "ap-northeast-1",
  "RouterIp": "192.168.0.1/30",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VifType": "TRANSIT",
  "Vlan": 4000
}

Properties

Name Type Required Restrictions Description Validation
Asn integer true none ASN to assign to the Direct Connect VIF. none
AwsConnectionId string true none AWS Id of the Direct Connect Connection. maxLength: 128, minLength: 2
AwsRouterIp string true none The BGP peer IP configured on the AWS endpoint. none
AwsVifId string¦null false read-only The AWS Id of the Direct Connect VIF. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
DxGatewayId uuidv4 true none none -
ExternalResource boolean false none Boolean value to determine if the resource did not originate from Stax. none
Id ro-uuidv4 true none none -
JumboMtu boolean true none Boolean value to enable Jumbo Frames. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Direct Connect VIF. maxLength: 95, minLength: 2
Region AwsRegion true none none -
RouterIp string true none The BGP peer IP configured on your endpoint. none
Status string false read-only The status of the Stax DX VIF. none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -
VifType string true read-only The type of Direct Connect VIF. none
Vlan integer true none VLAN for the Direct Connect VIF. none

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
VifType TRANSIT
VifType PRIVATE

DxVifStatus

[
  {
    "BgpPeerId": "bgp-peer-id",
    "BgpStatus": "up"
  }
]

Properties

Name Type Required Restrictions Description Validation
anonymous [BgpMapping] false none none none

Error

{
  "Cause": "string",
  "Error": "string"
}

Properties

Name Type Required Restrictions Description Validation
Cause string false none none none
Error string false none none none

GatewayMap

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64512,
  "GatewayType": "TRANSIT",
  "Name": "Prod Gateway"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
Asn integer true none ASN to assign to the Direct Connect Gateway. none
GatewayType string true read-only The type of the Stax DX Gateway. none
Name string true none Name of the Direct Connect Gateway. maxLength: 95, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$

Enumerated Values

Property Value
GatewayType TRANSIT
GatewayType PRIVATE

GitHash

"f8cf81b"

Properties

Name Type Required Restrictions Description Validation
anonymous string false read-only none maxLength: 7, minLength: 7

Group

{
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "GroupType": "LOCAL",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "DevOps",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Users": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ]
}

Properties

Name Type Required Restrictions Description Validation
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
GroupType string true none Group Type identifies whether group is managed by stax (LOCAL) or externally (SCIM). none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Group. maxLength: 128, minLength: 3
OrganisationId ro-uuidv4 false none none -
Status string true none Status of the Group. none
UserTaskId nullable-uuidv4 false none none -
Users [ro-uuidv4] false none Array of IDs of Users belonging to the Group. none

Enumerated Values

Property Value
GroupType LOCAL
GroupType SCIM
Status NEW
Status ACTIVE
Status DELETED

GuardDutyConfiguration

{
  "Features": {
    "EBS_MALWARE_PROTECTION": {
      "EbsSnapshotPreservation": "NO_RETENTION",
      "Enable": true,
      "ScanResourceCriteria": {
        "Include": {
          "EC2_INSTANCE_TAG": [
            {
              "CostCode": "12345"
            }
          ]
        }
      }
    },
    "EKS_AUDIT_LOGS": {
      "Enable": true
    },
    "EKS_RUNTIME_MONITORING": {
      "EKS_ADDON_MANAGEMENT": true,
      "Enable": true
    },
    "LAMBDA_NETWORK_LOGS": {
      "Enable": true
    },
    "RDS_LOGIN_EVENTS": {
      "Enable": true
    },
    "S3_DATA_EVENTS": {
      "Enable": true
    }
  },
  "FindingPublishingFrequency": "FIFTEEN_MINUTES"
}

Properties

Name Type Required Restrictions Description Validation
Features object true none A list of GuardDuty features that will be configured for the organization. none
» EBS_MALWARE_PROTECTION object true none none none
»» EbsSnapshotPreservation string¦null true none Snapshot preservation settings. none
»» Enable boolean true none Whether to enable malware scanning none
»» ScanResourceCriteria any true none none none

oneOf

Name Type Required Restrictions Description Validation
»»» anonymous object¦null false none none none
»»»» Include object true none Scan EC2 instances and EBS volumes using inclusion tags none
»»»»» EC2_INSTANCE_TAG [ScanTags] true none Scan EC2 instances and EBS volumes using inclusion tags none

xor

Name Type Required Restrictions Description Validation
»»» anonymous object¦null false none none none
»»»» Exclude object true none Scan EC2 instances and EBS volumes using exclusion tags none
»»»»» EC2_INSTANCE_TAG [ScanTags] true none Scan EC2 instances and EBS volumes using exclusion tags none

continued

Name Type Required Restrictions Description Validation
» EKS_AUDIT_LOGS object true none Describes whether to monitor and generate findings from Kubernetes Audit Logs. none
»» Enable boolean true none Whether to enable findings from Kubernetes Audit Logs. none
» EKS_RUNTIME_MONITORING object true none EKS Runtime Monitoring provides runtime threat detection coverage for Amazon Elastic Kubernetes Service (Amazon EKS) nodes and containers within your AWS environment. none
»» EKS_ADDON_MANAGEMENT boolean¦null true none Bool to indicate whether 'EKS Runtime Monitoring manage agent automatically' is enabled. GuardDuty will fully automate the deployment of and update to the GuardDuty security agent for the EKS clusters. none
»» Enable boolean true none Bool to indicate whether 'EKS Runtime Monitoring' is enabled. none
» LAMBDA_NETWORK_LOGS object true none Describes whether to monitor lambda function network logs none
»» Enable boolean true none Whether to enable monitor lambda function network logs none
» RDS_LOGIN_EVENTS object true none Describes whether to monitor and generate findings from RDS Protection. none
»» Enable boolean true none Whether to enable findings from RDS Protection. none
» S3_DATA_EVENTS object true none Describes whether to monitor and generate findings on S3 data events. none
»» Enable boolean true none Whether to enable S3 Protection. none
FindingPublishingFrequency string true none A value that specifies how frequently updated findings are exported. none

Enumerated Values

Property Value
EbsSnapshotPreservation NO_RETENTION
EbsSnapshotPreservation RETENTION_WITH_FINDING
FindingPublishingFrequency FIFTEEN_MINUTES
FindingPublishingFrequency ONE_HOUR
FindingPublishingFrequency SIX_HOURS

GuardrailsConfiguration

{
  "RCP": {},
  "SCP": {
    "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
    "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
    "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
    "EBS_BLOCK_DIRECT_API_CALLS": true,
    "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
    "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
    "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
    "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
    "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
    "IAM_BLOCK_CREATING_IAM_USER": true,
    "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
    "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
    "IAM_BLOCK_ROOT_USER_ACCESS": true,
    "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
    "MACIE_BLOCK_SERVICE": true,
    "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
    "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
    "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
    "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
    "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
    "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
    "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
    "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
    "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
    "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
    "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
  }
}

A configuration that defines toggleable pre-built rules to construct security guardrails.

Properties

Name Type Required Restrictions Description Validation
RCP RcpGuardrail true none A mapping of guardrails to be enabled as resource control policies. -
SCP ScpGuardrail true none A mapping of guardrails to be enabled as service control policies. -

HubConnection

{
  "ImprovedAcceleration": false,
  "Name": "vpn-transit-connection",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "RoutingType": "DYNAMIC",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
ImprovedAcceleration boolean true none Boolean value to turn on AWS Global Accelerator and the AWS global network for improved performance none
Name string true none Name of Stax VPN Connection. maxLength: 251, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
NetworkingHubId uuidv4 true none none -
RoutingType string false none The type of routing for the VPN Connection, DYNAMIC or STATIC none
Tags NetworkingTags false none none -

Enumerated Values

Property Value
RoutingType DYNAMIC
RoutingType STATIC

HubPeering

{
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "DestinationAwsAccountId": "000011112222",
  "DestinationAwsRegion": "ap-northeast-1",
  "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
  "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "DestinationTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
  "ExternalResource": false,
  "HubPeeringTarget": "STAX_RESOURCE",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Prod-Shared",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "SourceAwsAccountId": "000011112222",
  "SourceAwsRegion": "ap-northeast-1",
  "SourceAwsTgwId": "tgw-0000aaaa1111bbbbb",
  "SourceNetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "SourceTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
DestinationAwsAccountId string¦null false none The AWS Account Id that contains the Destination TGW. maxLength: 12, minLength: 12, pattern: ^\d{12,12}$
DestinationAwsRegion nullable-AwsRegion false none The available default and opt-in AWS Regions -
DestinationAwsTgwId string¦null false none The AWS Id of the Destination TGW. maxLength: 21, minLength: 21, pattern: ^tgw-[a-zA-Z0-9]*$
DestinationNetworkingHubId nullable-uuidv4 false none none -
DestinationTgwPeeringAttachmentId string¦null false none The AWS Id of the Destination TGW Peering attachment. none
ExternalResource boolean false none Boolean value to determine if the resource did not originate from Stax. none
HubPeeringTarget string true read-only The target type to determine the actions against the destination. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none The Name of the Hub Peering. maxLength: 128, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
OrganisationId ro-uuidv4 true none none -
SourceAwsAccountId string¦null false none The AWS Account Id that contains the Source TGW. maxLength: 12, minLength: 12, pattern: ^\d{12,12}$
SourceAwsRegion nullable-AwsRegion false none The available default and opt-in AWS Regions -
SourceAwsTgwId string¦null false none The AWS Id of the Source TGW. maxLength: 21, minLength: 21, pattern: ^tgw-[a-zA-Z0-9]*$
SourceNetworkingHubId uuidv4 true none none -
SourceTgwPeeringAttachmentId string¦null false none The AWS Id of the Source TGW Peering attachment. none
Status string true read-only The status of the Hub Peering. none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
HubPeeringTarget STAX_RESOURCE
HubPeeringTarget STAX_ACCOUNT
HubPeeringTarget EXTERNAL
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status PENDING_ACCEPT
Status UPDATE_IN_PROGRESS

IdamUser

{
  "access": {},
  "attributes": {},
  "createdTimestamp": 0,
  "customerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "email": "stax.user@example.com",
  "emailVerified": true,
  "enabled": true,
  "firstName": "John",
  "id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "lastName": "Doe",
  "orgAlias": "string",
  "organisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "requiredActions": [
    "string"
  ],
  "role": "customer_admin",
  "totp": true
}

Properties

Name Type Required Restrictions Description Validation
access object false none none none
attributes object false none none none
createdTimestamp integer false none none none
customerId ro-uuidv4 false none none -
email string(email) true read-only Email address of User. maxLength: 128, minLength: 6
emailVerified boolean false none none none
enabled boolean false none none none
firstName string false none Given Name of the User. maxLength: 128, minLength: 0
id ro-uuidv4 true none none -
lastName string false none Family Name of the User. maxLength: 128, minLength: 0
orgAlias string false none none none
organisationId ro-uuidv4 false none none -
requiredActions [string] false none none none
role Role false none Stax role assigned to user. -
totp boolean false none none none

IdamUserRole

"customer_admin"

Stax role assigned to an IDAM user.

Properties

Name Type Required Restrictions Description Validation
anonymous string false none Stax role assigned to an IDAM user. none

Enumerated Values

Property Value
anonymous customer_admin
anonymous customer_operations
anonymous customer_user
anonymous customer_readonly
anonymous customer_costadmin

KeyValueRequestParameter

{
  "Key": "CostCode",
  "Value": "12345"
}

Properties

Name Type Required Restrictions Description Validation
Key string true none none none
Value string true none none none

MessageEventDetail

{
  "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TraceId": "string"
}

Properties

oneOf

Name Type Required Restrictions Description Validation
anonymous object false none none none
» CustomerId uuidv4 false none none -
» TaskId uuidv4 false none none -
» TraceId string false none none none

xor

Name Type Required Restrictions Description Validation
anonymous string false none none none

NetworkingHub

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64512,
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "my-hub",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "InterfaceEndpoints": [
    "ec2"
  ],
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "non-prod",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "PhzSuffix": "my-domain.cloud",
  "RedundantEndpoints": true,
  "Region": "ap-northeast-1",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VpnEcmpSupport": true
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
Asn integer false none A private Autonomous System Number (ASN) for the Amazon side of a BGP session none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string¦null false none Longer description of what the Stax Networking Hub is used for. maxLength: 2048, minLength: 0
Id ro-uuidv4 true none none -
InterfaceEndpoints [interface-endpoint] false none [A list of interface vpc endpoints] none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of Stax Networking Hub. maxLength: 238, minLength: 2
OrganisationId ro-uuidv4 false none none -
PhzSuffix string¦null false none The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set maxLength: 255, minLength: 2
RedundantEndpoints boolean false none Boolean value declaring if redundant Interface VPC Endpoints will be created none
Region AwsRegion true none none -
Status string false read-only The status of the Stax Networking Hub. none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -
VpnEcmpSupport boolean false none Boolean value declaring to enable or disable Equal Cost Multipath Protocol support none

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

NetworkingTags

{
  "CostCode": "12345"
}

Properties

Name Type Required Restrictions Description Validation
additionalProperties string false none none maxLength: 256, minLength: 1, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$

Null

null

Properties

None

Operation

"CREATE"

Properties

Name Type Required Restrictions Description Validation
anonymous string false none none none

Enumerated Values

Property Value
anonymous CREATE
anonymous READ
anonymous UPDATE
anonymous DELETE
anonymous accounts:CreateAccount
anonymous accounts:CreateAccountType
anonymous accounts:CloseAccount
anonymous accounts:DiscoverAccount
anonymous accounts:DiscoverAccounts
anonymous accounts:DeleteAccountType
anonymous accounts:OnboardAccount
anonymous accounts:ReadAccountTypes
anonymous accounts:ReadAccounts
anonymous accounts:UpdateAccount
anonymous accounts:UpdateAccountType
anonymous accounts:UpdateAccountTypeAccess
anonymous accounts:UpdateAccountTypeMembers
anonymous organisations:AttachPolicy
anonymous organisations:DetachPolicy
anonymous organisations:CreateOrganisationalUnit
anonymous organisations:DeleteOrganisationalUnit
anonymous organisations:ReadOrganisationalUnit
anonymous organisations:UpdateOrganisationalUnit
anonymous teams:CreateApiToken
anonymous teams:CreateGroup
anonymous teams:CreateUser
anonymous teams:DeleteApiToken
anonymous teams:DeleteGroup
anonymous teams:DeleteUser
anonymous teams:ReadApiTokens
anonymous teams:ReadGroups
anonymous teams:ReadUsers
anonymous teams:UpdateApiToken
anonymous teams:UpdateGroup
anonymous teams:UpdateGroupMembers
anonymous teams:UpdateUser
anonymous teams:UpdateUserPassword
anonymous workloads:CreateCatalogueItem
anonymous workloads:CreateCatalogueVersion
anonymous workloads:CreateWorkload
anonymous workloads:DeleteCatalogueItem
anonymous workloads:DeleteCatalogueVersion
anonymous workloads:DeleteWorkload
anonymous workloads:ReadWorkloadCatalogueItems
anonymous workloads:ReadWorkloads
anonymous workloads:UpdateWorkload
anonymous networking:CreateHub
anonymous networking:UpdateHub
anonymous networking:DeleteHub
anonymous networking:CreateVpc
anonymous networking:UpdateVpc
anonymous networking:DeleteVpc
anonymous networking:CreateDnsResolver
anonymous networking:UpdateDnsResolver
anonymous networking:DeleteDnsResolver
anonymous networking:CreateDnsRule
anonymous networking:UpdateDnsRule
anonymous networking:DeleteDnsRule
anonymous networking:CreateDxResource
anonymous networking:UpdateDxVif
anonymous networking:DeleteDxVif
anonymous networking:CreateDxAssociation
anonymous networking:UpdateDxAssociation
anonymous networking:DeleteDxGateway
anonymous networking:DeleteDxAssociation
anonymous networking:CreateVpnCustomerGateway
anonymous networking:UpdateVpnCustomerGateway
anonymous networking:DeleteVpnCustomerGateway
anonymous networking:CreateVpnConnection
anonymous networking:UpdateVpnConnection
anonymous networking:DeleteVpnConnection
anonymous networking:CreateHubPrefixList
anonymous networking:CreateVpcPrefixList
anonymous networking:UpdatePrefixList
anonymous networking:UpdateHubPrefixListAssociation
anonymous networking:UpdateVpcPrefixListAssociation
anonymous networking:DeletePrefixList
anonymous networking:CreateHubPeering
anonymous networking:UpdateHubPeering
anonymous networking:DeleteHubPeering
anonymous account_assurance:CreateHardenAccount
anonymous account_assurance:UpdateHardenAccount
anonymous account_assurance:HardenAccount
anonymous account_discovery:DiscoverAccounts
anonymous aws_account:CreateAwsAccounts
anonymous idam_account:IdamAccount
anonymous idam_user:CreateIdamUser
anonymous idam_user:UpdateIdamUser
anonymous idam_workload:CreateIdamWorkload
anonymous organisation:CreateOrganisation
anonymous organisation_assurance:OrganisationAssurance
anonymous organisation_billing:DeployEtl
anonymous organisation_billing:RegisterApn
anonymous stax_account:CreateStaxAccount
anonymous stax_account:CloseStaxAccount
anonymous stax_account:OnboardStaxAccount
anonymous stax_account:UpdateStaxAccount
anonymous customer:CreateCustomer
anonymous saga:CreateCustomer
anonymous saga:CreateOrganisation
anonymous saga:UpdateOrganisation
anonymous saga:CreateAccount
anonymous saga:CreateAwsAccounts
anonymous saga:OnboardAccount
anonymous saga:UpdateAccount
anonymous saga:UpdateOrgAccounts
anonymous saga:CloseAccount
anonymous saga:DiscoverAccount
anonymous services:ReadAccountConfiguration
anonymous services:ReadConfigurations
anonymous services:ReadGuardDutyConfiguration
anonymous services:ReadGuardrailsConfiguration
anonymous services:ReadRegionsConfiguration
anonymous services:ReadSecurityHubConfiguration
anonymous services:ConfigureAccount
anonymous services:ConfigureGuardDuty
anonymous services:ConfigureGuardrails
anonymous services:ConfigureRegions
anonymous services:ConfigureSecurityHub
anonymous policies:AttachPolicy
anonymous policies:CreatePolicy
anonymous policies:DeletePolicy
anonymous policies:DetachPolicy
anonymous policies:ReadPolicies
anonymous policies:UpdatePolicy

OperationStatus

"STARTED"

The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed.

Properties

Name Type Required Restrictions Description Validation
anonymous string false none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. none

Enumerated Values

Property Value
anonymous STARTED
anonymous PENDING
anonymous RUNNING
anonymous SUCCEEDED
anonymous FAILED

OptInAwsRegion

"af-south-1"

The available opt-in AWS Regions

Properties

Name Type Required Restrictions Description Validation
anonymous string false none The available opt-in AWS Regions none

Enumerated Values

Property Value
anonymous af-south-1
anonymous ap-east-1
anonymous ap-south-2
anonymous ap-southeast-3
anonymous ap-southeast-4
anonymous eu-central-2
anonymous eu-south-1
anonymous eu-south-2
anonymous il-central-1
anonymous me-central-1
anonymous me-south-1

Organisation

{
  "Alias": "my-stax-org",
  "AllowedDomains": [
    "@example.com",
    "@stax.io"
  ],
  "AttachedPolicies": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ],
  "AwsAccountEmailTemplate": "stax.user+${Stax::AccountId}@example.com",
  "AwsPartnerSupport": true,
  "AwsSupportType": "ENTERPRISE",
  "ComplianceType": "PCI",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ExternalStaxId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Features": {},
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "LandingZoneType": "STAX",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "default",
  "Region": "ap-northeast-1",
  "Regions": [
    "ap-southeast-2",
    "us-east-1"
  ],
  "SpotlightSsoURL": "string",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Alias string false none Alias for your Organisation. This alias will be used in the URL of your Stax Identity Broker. Allowed characters include a-z, 0-9 and hyphens (except start and end). maxLength: 32, minLength: 3
AllowedDomains [string]¦null false none Allowed email domains for the Organisation, this limits who can be invited to your Team. maxLength: 64, minLength: 3
AttachedPolicies [ro-uuidv4] false read-only none none
AwsAccountEmailTemplate string¦null false none AWS Accounts will be registered with email addresses fitting this pattern. Please ensure these email addresses are secured, as they can be used for Root Credential recovery. maxLength: 64, minLength: 3
AwsPartnerSupport boolean false none AWS Partner Led Support - if you have partner led support then Stax Support will open AWS Support cases on your behalf. none
AwsSupportType string false read-only Default AWS Support level set on Accounts in your Organisation. none
ComplianceType string¦null false read-only Compliance type for the Organisation. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
CustomerId ro-uuidv4 false none none -
ExternalStaxId ro-uuidv4 false none none -
Features object¦null false none none none
Id ro-uuidv4 true none none -
LandingZoneType string false read-only The type of Landing Zone for the Organisation. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string false none Name of the Organisation maxLength: 64, minLength: 3
Region DefaultAwsRegion false none The available default AWS Regions -
Regions [AwsRegion] false none A list of Available AWS Regions for the Organisation none
SpotlightSsoURL string false read-only none none
Status string false read-only Status of the Organisation. none
UserTaskId ro-uuidv4 false none none -

Enumerated Values

Property Value
AwsSupportType BASIC
AwsSupportType DEVELOPER
AwsSupportType BUSINESS
AwsSupportType ENTERPRISE
ComplianceType APRA
ComplianceType PCI
ComplianceType SOC2
LandingZoneType STAX
LandingZoneType VLZAWS
Status NEW
Status INITIALIZING
Status ACTIVE
Status SUSPENDED

OrganisationalUnit

{
  "AwsId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "ExternalResource": false,
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Security",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "OrganisationalUnitType": "ROOT",
  "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AwsId string¦null true none none maxLength: 128
CreatedBy nullable-uuidv4 true none none -
CreatedTS string(date-time) true read-only Created timestamp. none
ExternalResource boolean false none Boolean value to determine if the resource did not originate from Stax. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) true read-only Modified timestamp. none
Name string true none Name of the Organisational Unit. maxLength: 128, minLength: 3
OrganisationId ro-uuidv4 true none none -
OrganisationalUnitType string true read-only Type of the organisational unit. none
ParentOrganisationalUnitId nullable-uuidv4 true none none -
Status string true read-only Status of the organisational unit. none
Tags StaxTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
OrganisationalUnitType ROOT
OrganisationalUnitType STAX_DEFAULT
OrganisationalUnitType STAX_SECURITY
OrganisationalUnitType STAX_ACCOUNT_POOL
OrganisationalUnitType ORGANISATION_ROOT
OrganisationalUnitType CHILD
Status ACTIVE
Status CREATE_FAILED
Status CREATE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status DELETE_IN_PROGRESS
Status UPDATE_IN_PROGRESS

Pagination

{
  "NextOffset": 20,
  "PrevOffset": null,
  "Total": 100
}

Pagination metadata. Present when limit and offset parameters are supplied.

Properties

Name Type Required Restrictions Description Validation
NextOffset number¦null true none Offset value to provide to retrieve the next set of items. Null when there are no more pages to fetch. none
PrevOffset number¦null true none Offset value to provide to retrieve the previous set of items. Null when the first page is returned. none
Total number true none Total number of items in the full pagination set after filters are applied. none

Parameter

{
  "CostCode": "12345",
  "Dept": "Marketing"
}

Properties

Name Type Required Restrictions Description Validation
additionalProperties any false none none none

Policy

{
  "AwsId": "dc1a70bd-642f-41c6-9aa5-50b65e7d592e",
  "Content": {},
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "A Service Control Policy that denies access to all.",
  "ExternalResource": false,
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "DenyAll",
  "OrganisationAttachment": {
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Status": "ACTIVE",
    "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "PolicyOwner": "ORGANISATION",
  "PolicyType": "SCP",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AwsId string¦null true none The Aws Id of the Policy. maxLength: 128
Content object true none none none
CreatedBy nullable-uuidv4 true none none -
CreatedTS string(date-time) true read-only Created timestamp. none
Description string¦null true none Description of the Policy. maxLength: 512, minLength: 3
ExternalResource boolean true none Boolean value to determine if the resource did not originate from Stax. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) true read-only Modified timestamp. none
Name string true none Name of the Policy. maxLength: 128, minLength: 3
OrganisationAttachment object¦null true none none none
» CreatedBy nullable-uuidv4 true none none -
» CreatedTS string(date-time) true read-only Created timestamp. none
» Id ro-uuidv4 true none none -
» ModifiedTS string(date-time) true read-only Modified timestamp. none
» OrganisationId ro-uuidv4 true none none -
» PolicyId ro-uuidv4 true none none -
» Status string true read-only Status of the Organisation Policy. none
» UserTaskId nullable-uuidv4 false none none -
OrganisationId ro-uuidv4 true none none -
PolicyOwner string true read-only The Owner of the Policy. none
PolicyType string true read-only The Type of Policy. none
Status string true read-only Status of the Policy. none
Tags StaxTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_FAILED
Status CREATE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status DELETE_IN_PROGRESS
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
PolicyOwner AWS
PolicyOwner STAX
PolicyOwner ORGANISATION
PolicyType SCP
Status ACTIVE
Status CREATE_FAILED
Status CREATE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status DELETE_IN_PROGRESS
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

PolicyAttachment

{
  "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "PolicyAttachmentType": "ORGANISATIONAL_UNIT",
  "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AccountId nullable-uuidv4 true none none -
CreatedBy nullable-uuidv4 true none none -
CreatedTS string(date-time) true read-only Created timestamp. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) true read-only Modified timestamp. none
OrganisationId ro-uuidv4 true none none -
OrganisationalUnitId nullable-uuidv4 true none none -
PolicyAttachmentType string true read-only Type of the Policy Attachment. none
PolicyId uuidv4 true none none -
Status string true read-only Status of the Policy Attachment. none
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
PolicyAttachmentType STAX_MANDATORY
PolicyAttachmentType STAX_ORGANISATION
PolicyAttachmentType ORGANISATIONAL_UNIT
PolicyAttachmentType ACCOUNT
Status ACTIVE
Status CREATE_FAILED
Status CREATE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status DELETE_IN_PROGRESS
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

PrefixList

{
  "AwsPrefixListId": "string",
  "AwsTargetId": "BLACKHOLE",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "MaxEntries": 3,
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "example",
  "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "PrefixListType": "HUB",
  "RouteTableTypes": [
    "INFRASTRUCTURE",
    "ISOLATED"
  ],
  "Status": "ACTIVE",
  "SubnetTypes": [
    "PRIVATE",
    "RESTRICTED"
  ],
  "Tags": {
    "CostCode": "12345"
  },
  "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TargetType": "BLACKHOLE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VpcIds": [
    "a7220870-40fe-4235-abb3-4d42af0336c2",
    "7e542285-8b90-4b57-81e1-96e87e5ee443"
  ],
  "VpcTypes": [
    "TRANSIT",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Properties

Name Type Required Restrictions Description Validation
AwsPrefixListId string¦null false read-only The AWS Id of the Prefix List. none
AwsTargetId string¦null false read-only The AWS Id of either a VPN, VPC or Direct Connect Gateway to the target of the HUB Prefix List associations. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Entries [string] true none The CIDR Ranges to include in the Prefix List. none
Id ro-uuidv4 true none none -
MaxEntries integer true none The maximum number of CIDR entries that can exist in the Prefix List. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Stax Prefix List. maxLength: 245, minLength: 2
NetworkingHubId ro-uuidv4 true none none -
PrefixListType string true none The type of Prefix List. none
RouteTableTypes [string]¦null false none The TGW Route Table types to associate a HUB Prefix List with. none
Status string true read-only The status of the Stax Prefix List. none
SubnetTypes [string]¦null false none The subnet types to associate a VPC Prefix List with. none
Tags NetworkingTags false none none -
TargetId string¦null false none The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List. pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
TargetType string¦null false none The type of the target for the HUB Prefix List associations. none
UserTaskId nullable-uuidv4 false none none -
VpcIds [uuidv4]¦null false none The list of Stax VPC Ids to associate a VPC Prefix List with. none
VpcTypes [string]¦null false none The VPC types to associate a VPC Prefix List with. none
Zones [string]¦null false none The VPC Zones to associate a VPC or HUB Prefix List with. none

Enumerated Values

Property Value
PrefixListType VPC
PrefixListType HUB
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
TargetType BLACKHOLE
TargetType VPC
TargetType VPN
TargetType DIRECT_CONNECT_GATEWAY
TargetType HUB_PEERING

PrivateAssociation

{
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ],
  "VpcId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
Prefixes [string] true none The CIDR Ranges to advertise to on-premises. none
VpcId uuidv4 true none none -

RcpGuardrail

{}

A mapping of guardrails to be enabled as resource control policies.

Properties

None

RegionsConfiguration

{
  "Disabled": [
    "ap-northeast-1"
  ],
  "Enabled": [
    "ap-northeast-1"
  ]
}

Lists all AWS Regions and groups them by their enabled or disabled status, all AWS Regions must be supplied.

Properties

Name Type Required Restrictions Description Validation
Disabled [AwsRegion] true none The regions to disable for the Stax Organisation none
Enabled [AwsRegion] true none The regions to enable for the Stax Organisation none

Role

"customer_admin"

Stax role assigned to user.

Properties

Name Type Required Restrictions Description Validation
anonymous string false none Stax role assigned to user. none

Enumerated Values

Property Value
anonymous customer_root
anonymous customer_admin
anonymous customer_operations
anonymous customer_user
anonymous customer_readonly
anonymous customer_costadmin
anonymous api_admin
anonymous api_operations
anonymous api_user
anonymous api_readonly

ScanTags

{
  "CostCode": "12345"
}

Properties

Name Type Required Restrictions Description Validation
additionalProperties string false none none maxLength: 256, minLength: 0, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$

ScpGuardrail

{
  "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
  "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
  "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
  "EBS_BLOCK_DIRECT_API_CALLS": true,
  "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
  "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
  "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
  "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
  "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
  "IAM_BLOCK_CREATING_IAM_USER": true,
  "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
  "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
  "IAM_BLOCK_ROOT_USER_ACCESS": true,
  "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
  "MACIE_BLOCK_SERVICE": true,
  "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
  "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
  "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
  "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
  "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
  "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
  "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
  "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
  "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
  "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
  "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
}

A mapping of guardrails to be enabled as service control policies.

Properties

Name Type Required Restrictions Description Validation
ACCOUNT_BLOCK_CLOSING_ACCOUNT boolean false none none none
ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS boolean false none none none
AWSCONFIG_BLOCK_CHANGES_TO_SERVICE boolean false none none none
EBS_BLOCK_DIRECT_API_CALLS boolean false none none none
EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION boolean false none none none
EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS boolean false none none none
EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS boolean false none none none
EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS boolean false none none none
GUARDDUTY_BLOCK_CHANGES_TO_SERVICE boolean false none none none
IAM_BLOCK_CREATING_IAM_USER boolean false none none none
IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES boolean false none none none
IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES boolean false none none none
IAM_BLOCK_ROOT_USER_ACCESS boolean false none none none
LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS boolean false none none none
MACIE_BLOCK_SERVICE boolean false none none none
ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION boolean false none none none
RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES boolean false none none none
ROUTE53_BLOCK_CHANGES_TO_DOMAIN boolean false none none none
S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES boolean false none none none
S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS boolean false none none none
S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS boolean false none none none
SECURITYHUB_BLOCK_CHANGES_TO_SERVICE boolean false none none none
SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING boolean false none none none
SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES boolean false none none none
VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET boolean false none none none
VPC_BLOCK_DELETING_VPC_FLOW_LOGS boolean false none none none

SecurityHubConfiguration

{
  "Standards": {
    "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": true,
    "AWS_REGIONS": [
      "ap-southeast-2",
      "us-west-2"
    ],
    "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": true,
    "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": true,
    "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": true,
    "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": true,
    "NIST_SP_800_53_REVISION_5": true,
    "PCI_DSS_3_2_1": true,
    "PCI_DSS_4_0_1": true
  }
}

Properties

Name Type Required Restrictions Description Validation
Standards object true none none none
» AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0 boolean true none none none
» AWS_REGIONS [AwsRegion] true none List of AWS Regions to enable security hub standards in. none
» AWS_RESOURCE_TAGGING_STANDARD_1_0_0 boolean false none none none
» CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0 boolean true none none none
» CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0 boolean true none none none
» CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0 boolean false none none none
» NIST_SP_800_53_REVISION_5 boolean false none none none
» PCI_DSS_3_2_1 boolean true none none none
» PCI_DSS_4_0_1 boolean false none none none

ServiceConfiguration

{
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Enabled boolean true none Set to True if enabling an organisation service like guardduty. none
Exclusions [string]¦null true none The exclusions for the service configuration none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
OrganisationId ro-uuidv4 true none none -
Service string true read-only The service to configure none
Status string true read-only The status of the service configuration none
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Service SECURITYHUB
Service GUARDDUTY
Service REGIONS
Service ACCOUNT
Service GUARDRAILS
Status ACTIVE
Status INACTIVE
Status CONFIGURING
Status ERROR

StaxEvent

{
  "Detail": {
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail TaskEventDetail false none none -

StaxTags

{
  "CostCode": "12345"
}

Properties

Name Type Required Restrictions Description Validation
additionalProperties string false none none maxLength: 256, minLength: 1, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$

Tags

{
  "CostCode": "12345"
}

Properties

Name Type Required Restrictions Description Validation
additionalProperties string false none none none

TaskEventDetail

{
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string"
}

Properties

Name Type Required Restrictions Description Validation
TaskId ro-uuidv4 false none none -

TraceEventDetail

{
  "TraceId": "string",
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string"
}

Properties

Name Type Required Restrictions Description Validation
TraceId string false none none none

TransitAssociation

{
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ]
}

Properties

Name Type Required Restrictions Description Validation
NetworkingHubId uuidv4 true none none -
Prefixes [string] true none The CIDR Ranges to advertise to on-premises. none

TunnelMapping

{
  "TunnelName": "string",
  "TunnelStatus": "up"
}

Properties

Name Type Required Restrictions Description Validation
TunnelName string false none The name of VPN tunnel none
TunnelStatus string false read-only The status of the VPN tunnel. none

Enumerated Values

Property Value
TunnelStatus up
TunnelStatus down

UpdateCatalogueDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "TraceId": "string",
  "WorkloadCatalogueItem": {
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Description": "A Workload to build a VPC in my org",
    "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "ManifestBody": "string",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "my-directory-service",
    "Operation": "CREATE",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Public": false,
    "Status": "NEW",
    "Tags": {
      "CostCode": "12345"
    },
    "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Version": "string"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
TraceId string false none none none
WorkloadCatalogueItem CatalogueData false none none -

UpdateCatalogueEvent

{
  "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "WorkloadCatalogueItem": {
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ManifestBody": "string",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "Operation": "CREATE",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Version": "string"
    }
  },
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId ro-uuidv4 false none none -
CustomerId ro-uuidv4 false none none -
Detail UpdateCatalogueDetail true none none -
TaskId ro-uuidv4 false none none -
TraceId string false none none none

UpdateWorkloadDetail

{
  "Message": {
    "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string"
  },
  "Operation": "CREATE",
  "OperationStatus": "STARTED",
  "Severity": "string",
  "Workload": {
    "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Name": "my-workload-is-cool",
    "Operation": "CREATE",
    "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Parameters": {
      "CostCode": "12345",
      "Dept": "Marketing"
    },
    "Protection": false,
    "Region": "us-east-1",
    "Tags": {
      "CostCode": "12345"
    },
    "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "TraceId": "string",
    "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
  }
}

Properties

Name Type Required Restrictions Description Validation
Message MessageEventDetail false none none -
Operation Operation true none none -
OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Severity string true none none none
Workload WorkloadData false none none -

UpdateWorkloadEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "Workload": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "my-workload-is-cool",
      "Operation": "CREATE",
      "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Tags": {
        "CostCode": "12345"
      },
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string",
      "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  },
  "WorkloadId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail UpdateWorkloadDetail false none none -
WorkloadId ro-uuidv4 false none none -

User

{
  "AuthOrigin": "idam",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Email": "stax.user@example.com",
  "FirstName": "John",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "LastName": "Doe",
  "MFAEnabled": true,
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "John Doe",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Role": "customer_admin",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AuthOrigin string¦null false read-only none none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
CustomerId uuidv4 false none none -
Email string(email) true read-only Email address of User. maxLength: 128, minLength: 6
FirstName string¦null false none Given Name of the User. maxLength: 128, minLength: 0
Id ro-uuidv4 true none none -
LastName string¦null false none Family Name of the User. maxLength: 128, minLength: 0
MFAEnabled boolean¦null false read-only Identifies if multi-factor authentication is enabled. Null for federated users and true or false for local users. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Concatenation of first and last name. Defaults to email address if neither are present. maxLength: 128, minLength: 3
OrganisationId nullable-uuidv4 true none none -
Role Role false none Stax role assigned to user. -
Status string false none Status of the User. none
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status DISABLED
Status DELETED
Status INVITED
Status NEW

UserGroupMemberMap

{
  "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "UserId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
GroupId uuidv4 true none none -
UserId uuidv4 true none none -

VPC

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AwsVpcId": "string",
  "Cidr": "10.128.0.0/23",
  "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CreateFlowlogCwl": true,
  "CreateIgw": true,
  "CreateNat": true,
  "CreateVgw": true,
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "VPC for my particular application",
  "GatewayEndpoints": [
    "s3"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "non-prod",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "PhzId": "PHZAAEXAMPLE",
  "PhzPrefix": "dev",
  "RedundantNat": false,
  "Region": "ap-northeast-1",
  "Size": "SMALL",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "Type": "FLAT",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VgwAsn": 64513,
  "Zone": "non-prod"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
AwsVpcId string¦null false read-only The AWS VPC ID. none
Cidr string false none CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23 none
CidrRangeId uuidv4 false none none -
CreateFlowlogCwl boolean false none Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs none
CreateIgw boolean false none Boolean value declaring if Internet Gateway is enabled none
CreateNat boolean false none Boolean value declaring if NAT Gateways is enabled none
CreateVgw boolean false none Boolean value declaring if a Virtual Private Gateway is enabled none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string¦null false none Longer description of what the Stax VPC is used for. maxLength: 2048, minLength: 0
GatewayEndpoints [gateway-endpoint] false none [A list of gateway vpc endpoints] none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of Stax VPC maxLength: 255, minLength: 2
NetworkingHubId uuidv4 false none none -
PhzId string¦null false none The Route53 Private Hosted Zone Id for the VPC none
PhzPrefix string¦null false none The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set maxLength: 255, minLength: 2
RedundantNat boolean false none Boolean value declaring if redundant NAT Gateways will be created none
Region AwsRegion true none none -
Size string false none Size of the VPC. none
Status string false read-only The status of the Stax VPC. none
Tags NetworkingTags false none none -
Type string false none Type of VPC. The Type determines what Route Tables are attached to the VPC none
UserTaskId nullable-uuidv4 false none none -
VgwAsn integer¦null false none The ASN of the Virtual Private Gateway. none
Zone string¦null false none All 'Flat' VPCs in the same Zone can communicate to each other. maxLength: 213, minLength: 2

Enumerated Values

Property Value
Size SMALL
Size MEDIUM
Size LARGE
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
Type FLAT
Type ISOLATED
Type SHAREDSERVICES
Type TRANSIT

VifMap

{
  "Asn": 64513,
  "AwsConnectionId": "dxcon-abcdefgh",
  "AwsRouterIp": "192.168.0.2/30",
  "BgpAuthKey": "secret",
  "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "JumboMtu": false,
  "Name": "Prod VIF",
  "RouterIp": "192.168.0.1/30",
  "Tags": {
    "CostCode": "12345"
  },
  "Vlan": 4000
}

Properties

Name Type Required Restrictions Description Validation
Asn integer true none ASN to assign to the Direct Connect VIF. none
AwsConnectionId string true none AWS Id of the Direct Connect Connection. maxLength: 128, minLength: 2
AwsRouterIp string true none The BGP peer IP configured on the AWS endpoint. none
BgpAuthKey string true none The password that will be used to authenticate the BGP session. none
DxGatewayId uuidv4 false none none -
JumboMtu boolean true none Boolean value to enable Jumbo Frames. none
Name string true none Name of the Direct Connect VIF. maxLength: 95, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
RouterIp string true none The BGP peer IP configured on your endpoint. none
Tags NetworkingTags false none none -
Vlan integer true none VLAN for the Direct Connect VIF. none

VpcConnection

{
  "Name": "vpn-private-connection",
  "Tags": {
    "CostCode": "12345"
  },
  "VpcId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of Stax VPN Connection. maxLength: 251, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -
VpcId uuidv4 true none none -

VpnConnection

{
  "AwsVpnConnectionId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ImprovedAcceleration": false,
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Prod Gateway",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "RoutingType": "DYNAMIC",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "VpnConnectionType": "HUB",
  "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
AwsVpnConnectionId string¦null false read-only The AWS Id of the VPN Connection. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Id ro-uuidv4 false none none -
ImprovedAcceleration boolean false none Boolean value to turn on AWS Global Accelerator and the AWS global network for improved performance none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Customer Gateway. maxLength: 95, minLength: 2, pattern: (?!^[0-9]$)([a-zA-Z0-9-_' '])
NetworkingHubId uuidv4 false none none -
RoutingType string false none The type of routing for the VPN Connection, DYNAMIC or STATIC none
Status string false read-only The status of the Stax VPN Customer Gateway none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -
VpcId nullable-uuidv4 false none none -
VpnConnectionType string false read-only The type of VPN Connection. none
VpnCustomerGatewayId uuidv4 true none none -

Enumerated Values

Property Value
RoutingType DYNAMIC
RoutingType STATIC
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
VpnConnectionType HUB
VpnConnectionType VPC

VpnConnectionStatus

[
  {
    "TunnelName": "VPN Tunnel",
    "TunnelStatus": "up"
  }
]

Properties

Name Type Required Restrictions Description Validation
anonymous [TunnelMapping] false none none none

VpnCustomerGateway

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64512,
  "AwsVpnCustomerGatewayId": "string",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "IpAddress": "192.168.1.0",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "Prod Gateway",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Region": "ap-northeast-1",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
Asn integer true none ASN to assign to the Customer Gateway. none
AwsVpnCustomerGatewayId string¦null false read-only The AWS ID of the VPN Customer Gateway. none
CreatedBy nullable-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Id ro-uuidv4 false none none -
IpAddress string false none The IP address for the customer gateway's outside interface. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Customer Gateway. maxLength: 95, minLength: 2, pattern: (?!^[0-9]$)([a-zA-Z0-9-_' '])
OrganisationId ro-uuidv4 false none none -
Region AwsRegion false none none -
Status string false read-only The status of the Stax VPN Customer Gateway none
Tags NetworkingTags false none none -
UserTaskId nullable-uuidv4 false none none -

Enumerated Values

Property Value
Status ACTIVE
Status CREATE_IN_PROGRESS
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED

Workload

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "my-workload-is-cool",
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Protection": false,
  "Region": "us-east-1",
  "Status": "NEW",
  "Tags": {
    "CostCode": "12345"
  },
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
CatalogueId uuidv4 true none none -
CatalogueVersionId nullable-uuidv4 false none none -
CreatedBy ro-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none The Workload name. maxLength: 64, minLength: 2
OrganisationId uuidv4 false none none -
Parameters Parameter false none none -
Protection boolean false none Boolean value declaring if the Workload is protected from deletion none
Region string true none AWS Region the workload will be launched in maxLength: 32
Status string false read-only Status of the Workload. none
Tags Tags false none none -
UserTaskId ro-uuidv4 false none none -

Enumerated Values

Property Value
Status NEW
Status INITIALIZING
Status ACTIVE
Status CREATE_FAILED
Status DELETE_IN_PROGRESS
Status DELETED
Status DELETE_FAILED
Status UPDATE_IN_PROGRESS
Status UPDATE_FAILED
Status UPDATE_COMPLETE

WorkloadCatalogue

{
  "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "A Workload to build a VPC in my org",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Name": "my-directory-service",
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Protection": false,
  "Public": false,
  "Status": "NEW",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Versions": [
    {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Outputs": [
        "bread"
      ],
      "Parameters": [
        {
          "CostCode": "12345",
          "Dept": "Marketing"
        }
      ],
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "WorkloadVersion": "0.01"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
CatalogueVersionId nullable-uuidv4 false none none -
CreatedBy ro-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string false none Description of the Workload. maxLength: 1024
Id ro-uuidv4 true none none -
ModifiedTS string(date-time) false read-only Modified timestamp. none
Name string true none Name of the Workload Catalogue Item to create. maxLength: 64, minLength: 2
OrganisationId uuidv4 true none none -
Protection boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Public boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Status CatalogueStatus true none Status of the Workload. -
UserTaskId nullable-uuidv4 false none none -
Versions [WorkloadCatalogueVersion] false read-only none none

WorkloadCatalogueVersion

{
  "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Description": "A Workload to build a VPC in my org",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "ModifiedTS": "2018-10-11T01:05:45.000Z",
  "Outputs": [
    "bread"
  ],
  "Parameters": [
    {
      "CostCode": "12345",
      "Dept": "Marketing"
    }
  ],
  "Public": false,
  "Status": "NEW",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "WorkloadVersion": "0.01"
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId ro-uuidv4 false none none -
CreatedBy ro-uuidv4 false none none -
CreatedTS string(date-time) false read-only Created timestamp. none
Description string false none Description of the Workload. maxLength: 1024
Id ro-uuidv4 true none none -
ManifestURL string true none HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided. none
ModifiedTS string(date-time) false read-only Modified timestamp. none
Outputs [string]¦null false read-only none none
Parameters [Parameter] false none none none
Public boolean false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Status string true read-only Status of the Workload. none
UserTaskId nullable-uuidv4 false none none -
WorkloadVersion string true read-only none none

Enumerated Values

Property Value
Status NEW
Status UPLOADING
Status VALIDATING
Status ACTIVE
Status DELETED
Status FAILED

WorkloadData

{
  "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Name": "my-workload-is-cool",
  "Operation": "CREATE",
  "OrgId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Protection": false,
  "Region": "us-east-1",
  "Tags": {
    "CostCode": "12345"
  },
  "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TraceId": "string",
  "WorkloadId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
AccountId nullable-uuidv4 false none none -
CatalogueId uuidv4 false none none -
CatalogueVersionId nullable-uuidv4 false none none -
CreatedBy ro-uuidv4 false none none -
Name string¦null true none The Workload name. maxLength: 64, minLength: 2
Operation Operation false none none -
OrgId uuidv4 false none none -
OrganisationId uuidv4 false none none -
Parameters Parameter false none none -
Protection boolean¦null false none Boolean value declaring if the Workload Catalogue Item is public or private. none
Region string¦null false none AWS Region the workload will be launched in maxLength: 32
Tags Tags false none none -
TaskId uuidv4 false none none -
TraceId string true none none none
WorkloadId uuidv4 false none none -

accounts.CloseAccount

{
  "Id": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
Id uuidv4 true none none -

accounts.CloseAccountResponse

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
CustomerId ro-uuidv4 false none none -
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none
TaskId ro-uuidv4 false none none -
TraceId string false none none none

accounts.CreateAccount

{
  "AccountType": "development",
  "AwsAccountAlias": "string",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountType any true none none none

anyOf

Name Type Required Restrictions Description Validation
» anonymous string false none none none

or

Name Type Required Restrictions Description Validation
» anonymous ro-uuidv4 false none none -

continued

Name Type Required Restrictions Description Validation
AwsAccountAlias string¦null false none The IAM alias for the account maxLength: 48, minLength: 1, pattern: ^[a-z0-9](([a-z0-9]¦-(?!-))*[a-z0-9])?$
Name string true none Name of the Account. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$
OrganisationalUnitId nullable-uuidv4 false none none -
Tags StaxTags false none none -

accounts.CreateAccountResponse

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Account": {
      "AccountType": "development",
      "AwsAccountAlias": "string",
      "Name": "automation",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Tags": {
        "CostCode": "12345"
      }
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
CustomerId ro-uuidv4 false none none -
Detail object true none none none
» Account object false none none none
»» AccountType any false none none none

anyOf

Name Type Required Restrictions Description Validation
»»» anonymous string false none none none

or

Name Type Required Restrictions Description Validation
»»» anonymous ro-uuidv4 false none none -

continued

Name Type Required Restrictions Description Validation
»» AwsAccountAlias string¦null false none The IAM alias for the account maxLength: 48, minLength: 1, pattern: ^[a-z0-9](([a-z0-9]¦-(?!-))*[a-z0-9])?$
»» Name string false none none none
»» Operation Operation false none none -
»» OrganisationId ro-uuidv4 false none none -
»» Tags StaxTags false none none -
» Message string false none none none
» Operation Operation false none none -
» OperationStatus OperationStatus false none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none
TaskId ro-uuidv4 false none none -
TraceId string false none none none

accounts.CreateAccountType

{
  "Name": "Development"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of the Account Type. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$

accounts.CreateAccountTypeResponse

{
  "Detail": {
    "AccountType": {
      "Accounts": [],
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Development",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Policies": [],
      "Roles": [],
      "Status": "ACTIVE",
      "StaxCreated": true
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» AccountType AccountType true none none -
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none

accounts.DeleteAccountTypeResponse

{
  "AccountTypes": {
    "Accounts": [],
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "Development",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Policies": [],
    "Roles": [],
    "Status": "ACTIVE",
    "StaxCreated": true
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountTypes AccountType true none none -

accounts.DiscoverAccount

{}

Properties

None

accounts.DiscoverAccounts

{}

Properties

None

accounts.DiscoverAccountsResponse

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string",
  "DetailType": "string",
  "Detail": {
    "TraceId": "string",
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  }
}

Properties

allOf

Name Type Required Restrictions Description Validation
anonymous object false none none none
» CustomerId ro-uuidv4 true none none -
» TaskId ro-uuidv4 true none none -
» TraceId string true none none none

and

Name Type Required Restrictions Description Validation
anonymous BaseEvent false none none -

and

Name Type Required Restrictions Description Validation
anonymous object false none none none
» Detail TraceEventDetail false none none -

accounts.OnboardAccount

{
  "AccountType": "Development",
  "AwsAccountId": "012345678901",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountType any true none none none

anyOf

Name Type Required Restrictions Description Validation
» anonymous string false none none none

or

Name Type Required Restrictions Description Validation
» anonymous uuidv4 false none none -

continued

Name Type Required Restrictions Description Validation
AwsAccountId string true none AWS Account Id. maxLength: 12, minLength: 12
Name string false none Name of the Account. maxLength: 64, minLength: 2
OrganisationalUnitId nullable-uuidv4 false none none -
Tags StaxTags false none none -

accounts.ReadAccountTypes

{
  "AccountTypes": [
    {
      "Accounts": [],
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Development",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Policies": [],
      "Roles": [],
      "Status": "ACTIVE",
      "StaxCreated": true
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
AccountTypes [AccountType] true none none none

accounts.ReadAccounts

{
  "Accounts": [
    {
      "AWSLoginURLs": {
        "admin": "string",
        "developer": "string",
        "readonly": "string"
      },
      "AccountRole": "MEMBER",
      "AccountType": "string",
      "AllocatedTS": "2018-10-11T01:05:45.000Z",
      "AssuranceState": "ACTIVE",
      "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
      "AwsAccountAlias": "string",
      "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
      "AwsAccountId": "012345678901",
      "AwsAccountStatusId": "string",
      "AwsLoginURL": "string",
      "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Email": "stax.user@example.com",
      "FactoryVersion": "f8cf81b",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LatestCost": 72.52,
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "Name": "bakery",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrgsOuId": "string",
      "Origin": "STAX",
      "Status": "ACTIVE",
      "StaxCreated": true,
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ],
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  }
}

Properties

Name Type Required Restrictions Description Validation
Accounts [Account] true none none none
Paging Pagination false none Pagination metadata. Present when limit and offset parameters are supplied. -

accounts.UpdateAccount

{
  "AccountType": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AwsAccountAlias": "aws-iam-alias",
  "Name": "bakery",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountType uuidv4 false none none -
AwsAccountAlias string¦null false none The IAM alias for the account maxLength: 48, minLength: 1, pattern: ^[a-z0-9](([a-z0-9]¦-(?!-))*[a-z0-9])?$
Name string false none Name of the Account. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$
OrganisationalUnitId nullable-uuidv4 false none none -
Tags StaxTags false none none -

accounts.UpdateAccountResponse

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Account": {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "AccountName": "automation",
      "AccountType": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Name": "automation",
      "Operation": "CREATE",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Tags": {
        "CostCode": "12345"
      }
    },
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
CustomerId ro-uuidv4 false none none -
Detail object true none none none
» Account object false none none none
»» AccountId ro-uuidv4 false none none -
»» AccountName string false none none none
»» AccountType ro-uuidv4 false none none -
»» Name string false none none none
»» Operation Operation false none none -
»» OrganisationId ro-uuidv4 false none none -
»» Tags StaxTags false none none -
» Message string false none none none
» Operation Operation false none none -
» OperationStatus OperationStatus false none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none
TaskId ro-uuidv4 false none none -
TraceId string false none none none

accounts.UpdateAccountType

{
  "Name": "Development"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of the Account Type. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9+\-=._:/@ ]*$

accounts.UpdateAccountTypeAccess

{
  "AddRoles": [
    {
      "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoleName": "admin"
    }
  ],
  "RemoveRoles": []
}

Properties

Name Type Required Restrictions Description Validation
AddRoles [AccountTypeAccessMap] false none none none
RemoveRoles [AccountTypeAccessMap] false none none none

accounts.UpdateAccountTypeAccessEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

accounts.UpdateAccountTypeMembers

{
  "Members": [
    {
      "AccountId": "B4407766-E821-450D-B7C8-9EA38B58C432",
      "AccountTypeId": "B4407766-E821-450D-B7C8-9EA38B58C432"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Members [AccountTypeMemberMap] true none none none

accounts.UpdateAccountTypeMembersEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
» TaskId nullable-uuidv4 true none none -
DetailType string true none none none

accounts.UpdateAccountTypeResponse

{
  "AccountTypes": {
    "Accounts": [],
    "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "CreatedTS": "2018-10-11T01:05:45.000Z",
    "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "ModifiedTS": "2018-10-11T01:05:45.000Z",
    "Name": "Development",
    "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
    "Policies": [],
    "Roles": [],
    "Status": "ACTIVE",
    "StaxCreated": true
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountTypes AccountType true none none -

gateway-endpoint

"s3"

A list of gateway vpc endpoints

Properties

Name Type Required Restrictions Description Validation
anonymous string false none A list of gateway vpc endpoints none

Enumerated Values

Property Value
anonymous dynamodb
anonymous s3

interface-endpoint

"ec2"

A list of interface vpc endpoints

Properties

Name Type Required Restrictions Description Validation
anonymous string false none A list of interface vpc endpoints none

Enumerated Values

Property Value
anonymous access-analyzer
anonymous application-autoscaling
anonymous appmesh-envoy-management
anonymous appstream.api
anonymous appstream.streaming
anonymous athena
anonymous autoscaling
anonymous autoscaling-plans
anonymous awsconnector
anonymous backup
anonymous clouddirectory
anonymous cloudformation
anonymous cloudtrail
anonymous codeartifact.api
anonymous codeartifact.repositories
anonymous codebuild
anonymous codecommit
anonymous codedeploy
anonymous codedeploy-commands-secure
anonymous codepipeline
anonymous config
anonymous datasync
anonymous dms
anonymous ebs
anonymous ec2
anonymous ec2messages
anonymous ecr.api
anonymous ecr.dkr
anonymous ecs
anonymous ecs-agent
anonymous ecs-telemetry
anonymous elasticfilesystem
anonymous elasticfilesystem-fips
anonymous elasticloadbalancing
anonymous email-smtp
anonymous events
anonymous execute-api
anonymous fsx
anonymous git-codecommit
anonymous glue
anonymous imagebuilder
anonymous kinesis-firehose
anonymous kinesis-streams
anonymous kms
anonymous lambda
anonymous logs
anonymous mgn
anonymous monitoring
anonymous notebook
anonymous qldb.session
anonymous rds
anonymous rds-data
anonymous rekognition
anonymous s3interface
anonymous sagemaker.api
anonymous sagemaker.runtime
anonymous secretsmanager
anonymous securityhub
anonymous servicecatalog
anonymous sms
anonymous sns
anonymous sqs
anonymous ssm
anonymous ssmmessages
anonymous storagegateway
anonymous sts
anonymous transfer
anonymous transfer.server
anonymous workspaces
anonymous xray

networking.CreateCidrExclusion

{
  "Cidr": "10.128.0.0/19",
  "Description": "This Reservation blocks out existing legacy VPCs",
  "Name": "legacy-vpcs",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Cidr string true none CIDR Range in quad dot notation. none
Description string false none Longer description of what the CIDR Exclusion is used for. maxLength: 2048, minLength: 0
Name string true none Name of the CIDR Exclusion. maxLength: 128, minLength: 2
Tags NetworkingTags false none none -

networking.CreateCidrRange

{
  "Cidr": "10.128.0.0/23",
  "Description": "CIDR Range used for team ABCD application 1234",
  "Name": "prod",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Cidr string true none CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23 none
Description string false none Longer description of what the CIDR Range is used for. maxLength: 2048, minLength: 0
Name string true none Name of the CIDR Range. maxLength: 128, minLength: 2
Tags NetworkingTags false none none -

networking.CreateDnsResolver

{
  "Name": "dns",
  "NumberOfInterfaces": 2,
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of Stax DNS Resolver. maxLength: 50, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
NumberOfInterfaces integer true none The number of ENIs to attach to the Stax DNS Resolvers. none
Tags NetworkingTags false none none -

networking.CreateDnsResolverEvent

{
  "Detail": {
    "DnsResolver": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» DnsResolver object true none none none
»» Id ro-uuidv4 true none none -
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateDnsRule

{
  "DomainName": "test.local",
  "ForwarderIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Name": "on-premises",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
DomainName string true none Domain name to forward DNS queries for. maxLength: 256, minLength: 2, pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
ForwarderIpAddresses [string] true none The IP Addresses to forward DNS queries to. none
Name string true none Name of Stax DNS Rule. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -

networking.CreateDnsRuleEvent

{
  "Detail": {
    "DnsRule": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» DnsRule object true none none none
»» Id ro-uuidv4 true none none -
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateDxAssociation

{
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ]
}

Properties

oneOf

Name Type Required Restrictions Description Validation
anonymous TransitAssociation false none none -

xor

Name Type Required Restrictions Description Validation
anonymous PrivateAssociation false none none -

networking.CreateDxAssociationEvent

{
  "Detail": {
    "DxAssociation": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» DxAssociation object true none none none
»» Id ro-uuidv4 true none none -
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateDxResource

{
  "Gateway": {
    "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "Asn": 64512,
    "GatewayType": "TRANSIT",
    "Name": "Prod Gateway"
  },
  "Vif": {
    "Asn": 64513,
    "AwsConnectionId": "dxcon-abcdefgh",
    "AwsRouterIp": "192.168.0.2/30",
    "BgpAuthKey": "secret",
    "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
    "JumboMtu": false,
    "Name": "Prod VIF",
    "RouterIp": "192.168.0.1/30",
    "Tags": {
      "CostCode": "12345"
    },
    "Vlan": 4000
  }
}

Properties

Name Type Required Restrictions Description Validation
Gateway GatewayMap false none none -
Vif VifMap false none none -

networking.CreateDxResourceEvent

{
  "Detail": {
    "DxResource": {
      "Gateway": {
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
      },
      "Vif": {
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
      }
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» DxResource object true none none none
»» Gateway object false none none none
»»» Id ro-uuidv4 false none none -
»» Vif object false none none none
»»» Id ro-uuidv4 false none none -
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateHub

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "AmazonSideAsn": 64512,
  "Cidr": "10.128.0.0/22",
  "CidrExclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ],
  "CidrRangeName": "myrange",
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateNatGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "This Hub is for a team ABCD applications",
  "GatewayEndpoints": [
    "s3"
  ],
  "InterfaceEndpoints": [
    "ec2"
  ],
  "Name": "prod",
  "PhzSuffix": "my-domain.cloud",
  "RedundantEndpoints": true,
  "RedundantNat": true,
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513,
  "VpnEcmpSupport": true
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
AmazonSideAsn integer false none A private Autonomous System Number (ASN) for the Amazon side of a BGP session maximum: 65534, minimum: 64512
Cidr string true none CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /22 for the Transit VPC none
CidrExclusions [CidrExclusion] false none none none
CidrRangeName string false none Name of the CIDR Range where the Transit VPC lives. maxLength: 128, minLength: 0, pattern: ^[a-zA-Z0-9-_ ]*$
CreateCloudwatchVpcFlowlogs boolean false none Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs none
CreateInternetGateway boolean true none Boolean value declaring to create an Internet Gateway none
CreateNatGateway boolean true none Boolean value declaring to create a NAT Gateway none
CreateVirtualPrivateGateway boolean false none Boolean value declaring to create a Virtual Private Gateway none
Description string false none Longer description of what the Stax Networking Hub is used for. maxLength: 2048, minLength: 0
GatewayEndpoints [gateway-endpoint] false none [A list of gateway vpc endpoints] none
InterfaceEndpoints [interface-endpoint] false none [A list of interface vpc endpoints] none
Name string true none Name of Stax Networking Hub. maxLength: 238, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
PhzSuffix string false none The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set ```maxLength: 255, minLength: 0, pattern: ^(([a-zA-Z0-9]¦[a-zA-Z0-9][a-zA-Z0-9-][a-zA-Z0-9]).)([A-Za-z0-9]
RedundantEndpoints boolean false none Boolean value declaring if redundant Interface VPC Endpoints will be created none
RedundantNat boolean false none Boolean value declaring to create redundant NAT Gateways none
Region AwsRegion true none none -
Tags NetworkingTags false none none -
VirtualPrivateGatewayAsn integer false none ASN to assign to the Virtual Private Gateway none
VpnEcmpSupport boolean false none Boolean value declaring to enable or disable Equal Cost Multipath Protocol support none

networking.CreateHubEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "NetworkingHub": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» NetworkingHub object true none none none
»» Id ro-uuidv4 true none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateHubPeering

{
  "DestinationAwsAccountId": "000011112222",
  "DestinationAwsRegion": "ap-northeast-1",
  "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
  "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "HubPeeringTarget": "STAX_RESOURCE",
  "Name": "Prod-Shared",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
DestinationAwsAccountId string¦null false none The AWS Account Id that contains the Destination TGW. maxLength: 12, minLength: 12, pattern: ^\d{12,12}$
DestinationAwsRegion nullable-AwsRegion false none The available default and opt-in AWS Regions -
DestinationAwsTgwId string¦null false none The AWS Id of the Destination TGW. maxLength: 21, minLength: 21, pattern: ^tgw-[a-zA-Z0-9]*$
DestinationNetworkingHubId nullable-uuidv4 false none none -
HubPeeringTarget string true read-only The target type to determine the actions against the destination. none
Name string true none The Name of the Hub Peering. maxLength: 128, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -

Enumerated Values

Property Value
HubPeeringTarget STAX_RESOURCE
HubPeeringTarget STAX_ACCOUNT
HubPeeringTarget EXTERNAL

networking.CreateHubPeeringEvent

{
  "Detail": {
    "HubPeering": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» HubPeering object true none none none
»» Id ro-uuidv4 true none none -
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateHubPrefixList

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "RouteTableTypes": [
    "INFRASTRUCTURE",
    "ISOLATED"
  ],
  "Tags": {
    "CostCode": "12345"
  },
  "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TargetType": "BLACKHOLE",
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Properties

Name Type Required Restrictions Description Validation
Entries [string] true none The CIDR Ranges to include in the Prefix List. none
MaxEntries integer true none The maximum number of CIDR entries that can exist in the Prefix List. none
Name string true none Name of the Stax Prefix List. maxLength: 245, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
RouteTableTypes [string] false none The TGW Route Table types to associate a HUB Prefix List with. none
Tags NetworkingTags false none none -
TargetId string false none The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List. pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
TargetType string true none The type of the target for the HUB Prefix List associations. none
Zones [string] false none The VPC Zones to associate a HUB Prefix List with. none

Enumerated Values

Property Value
TargetType BLACKHOLE
TargetType VPC
TargetType VPN
TargetType DIRECT_CONNECT_GATEWAY
TargetType HUB_PEERING

networking.CreatePrefixListEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PrefixList": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» PrefixList object true none none none
»» Id ro-uuidv4 true none none -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.CreateVpc

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "VPC for a non-prod microservice",
  "GatewayEndpoints": [
    "s3"
  ],
  "Name": "dev-ms-customers",
  "PhzPrefix": "dev",
  "Region": "ap-northeast-1",
  "Size": "SMALL",
  "Tags": {
    "CostCode": "12345"
  },
  "Type": "ISOLATED",
  "VirtualPrivateGatewayAsn": 64513,
  "Zone": "my-zone"
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
CidrRangeId uuidv4 true none none -
CreateCloudwatchVpcFlowlogs boolean false none Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs none
CreateInternetGateway boolean true none Boolean value declaring to create an Internet Gateway none
CreateVirtualPrivateGateway boolean false none Boolean value declaring to create a Virtual Private Gateway none
Description string false none Longer description of what the Stax VPC is used for. maxLength: 2048, minLength: 0
GatewayEndpoints [gateway-endpoint] false none [A list of gateway vpc endpoints] none
Name string true none Name of Stax VPC maxLength: 255, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
PhzPrefix string false none The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set ```maxLength: 255, minLength: 0, pattern: ^(([a-zA-Z0-9]¦[a-zA-Z0-9][a-zA-Z0-9-][a-zA-Z0-9]).)([A-Za-z0-9]
Region AwsRegion true none none -
Size string true none Size of the VPC. none
Tags NetworkingTags false none none -
Type string true none Type of VPC. The Type determines what Route Tables are attached to the VPC none
VirtualPrivateGatewayAsn integer false none ASN to assign to the Virtual Private Gateway none
Zone string¦null false none All 'Flat' VPCs in the same Zone can communicate to each other. maxLength: 213, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$

Enumerated Values

Property Value
Size SMALL
Size MEDIUM
Size LARGE
Type ISOLATED
Type FLAT
Type SHAREDSERVICES

networking.CreateVpcEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VPC": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
» VPC object true none none none
»» Id ro-uuidv4 true none none -
DetailType string true none none none

networking.CreateVpcPrefixList

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "SubnetTypes": [
    "PRIVATE",
    "RESTRICTED"
  ],
  "Tags": {
    "CostCode": "12345"
  },
  "VpcIds": [
    "a7220870-40fe-4235-abb3-4d42af0336c2",
    "7e542285-8b90-4b57-81e1-96e87e5ee443"
  ],
  "VpcTypes": [
    "TRANSIT",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Properties

Name Type Required Restrictions Description Validation
Entries [string] true none The CIDR Ranges to include in the Prefix List. none
MaxEntries integer true none The maximum number of CIDR entries that can exist in the Prefix List. none
Name string true none Name of the Stax Prefix List. maxLength: 245, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
SubnetTypes [string] false none The subnet types to associate a VPC Prefix List with. none
Tags NetworkingTags false none none -
VpcIds [uuidv4] false none The list of Stax VPC Ids to associate a VPC Prefix List with. none
VpcTypes [string] false none The VPC types to associate a VPC Prefix List with. none
Zones [string] false none The VPC Zones to associate a VPC Prefix List with. none

networking.CreateVpnConnection

{
  "ImprovedAcceleration": false,
  "Name": "vpn-transit-connection",
  "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "RoutingType": "DYNAMIC",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

oneOf

Name Type Required Restrictions Description Validation
anonymous HubConnection false none none -

xor

Name Type Required Restrictions Description Validation
anonymous VpcConnection false none none -

networking.CreateVpnConnectionEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VpnConnection": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
» VpnConnection object true none none none
»» Id ro-uuidv4 true none none -
DetailType string true none none none

networking.CreateVpnCustomerGateway

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Asn": 64513,
  "IpAddress": "1.1.1.1",
  "Name": "vpn-gw",
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
Asn integer true none ASN to assign to the VPN Customer Gateway. maximum: 65534, minimum: 64512
IpAddress string true none The Internet-routable IP address for the customer gateway's outside interface. The address must be static. none
Name string true none Name of Stax VPN Customer Gateway. maxLength: 251, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Region AwsRegion true none none -
Tags NetworkingTags false none none -

networking.CreateVpnCustomerGatewayEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string",
    "VpnCustomerGateway": {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
» VpnCustomerGateway object true none none none
»» Id ro-uuidv4 true none none -
DetailType string true none none none

networking.DeleteDnsResolverEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteDnsRuleEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteDxAssociationEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteDxGatewayEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteDxVifEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteHubEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteHubPeeringEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeletePrefixListEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteVpcEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteVpnConnectionEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.DeleteVpnCustomerGatewayEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.ReadCidrExclusions

{
  "Exclusions": [
    {
      "Cidr": "10.128.0.0/19",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "datacenter exclusion",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Exclusions [CidrExclusion] true none none none

networking.ReadCidrRanges

{
  "Ranges": [
    {
      "Cidr": "10.128.0.0/23",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DefaultCidrRange": false,
      "Description": "datacenter ranges",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastAllocationTS": "2018-10-11T01:05:45.000Z",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Ranges [CidrRange] true none none none

networking.ReadDnsResolvers

{
  "DnsResolvers": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Interfaces": 2,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "dns",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OutboundIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DnsResolvers [DNSResolver] true none none none

networking.ReadDnsRules

{
  "DnsRules": [
    {
      "AwsRuleId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DnsResolverId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DomainName": "test.local",
      "ForwarderIpAddresses": [
        "192.168.0.1",
        "192.168.0.2"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "on-premises",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DnsRules [DNSRule] true none none none

networking.ReadDxAssociations

{
  "DxAssociations": [
    {
      "AwsAssociationId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Prefixes": [
        "192.168.0.0/24",
        "192.168.1.0/24"
      ],
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DxAssociations [DxAssociation] true none none none

networking.ReadDxConnections

{
  "DxConnections": [
    {
      "Bandwidth": "50Mbps",
      "ConnectionId": "dxcon-abcdefgh",
      "ConnectionName": "SY4",
      "ConnectionState": "available",
      "Region": "ap-northeast-1",
      "Vlan": 4000
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DxConnections [DxConnection] true none none none

networking.ReadDxGateways

{
  "DxGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "GatewayType": "TRANSIT",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DxGateways [DxGateway] true none none none

networking.ReadDxVifStatus

{
  "DxVifStatus": [
    {
      "BgpPeerId": "bgp-peer-id",
      "BgpStatus": "up"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DxVifStatus DxVifStatus false none none -

networking.ReadDxVifs

{
  "DxVifs": [
    {
      "Asn": 64512,
      "AwsConnectionId": "dxcon-abcdefgh",
      "AwsRouterIp": "192.168.0.2/30",
      "AwsVifId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DxGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "JumboMtu": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod VIF",
      "Region": "ap-northeast-1",
      "RouterIp": "192.168.0.1/30",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VifType": "TRANSIT",
      "Vlan": 4000
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
DxVifs [DxVif] true none none none

networking.ReadHubPeerings

{
  "HubPeerings": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "DestinationAwsAccountId": "000011112222",
      "DestinationAwsRegion": "ap-northeast-1",
      "DestinationAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "DestinationNetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "DestinationTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "ExternalResource": false,
      "HubPeeringTarget": "STAX_RESOURCE",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod-Shared",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "SourceAwsAccountId": "000011112222",
      "SourceAwsRegion": "ap-northeast-1",
      "SourceAwsTgwId": "tgw-0000aaaa1111bbbbb",
      "SourceNetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "SourceTgwPeeringAttachmentId": "tgw-attach-0000aaaa1111bbbbb",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
HubPeerings [HubPeering] true none none none

networking.ReadHubs

{
  "Hubs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "my-hub",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "InterfaceEndpoints": [
        "ec2"
      ],
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PhzSuffix": "my-domain.cloud",
      "RedundantEndpoints": true,
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnEcmpSupport": true
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Hubs [NetworkingHub] true none none none

networking.ReadPrefixLists

{
  "PrefixLists": [
    {
      "AwsPrefixListId": "string",
      "AwsTargetId": "BLACKHOLE",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Entries": [
        "192.168.0.1/32",
        "192.168.0.2/32"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "MaxEntries": 3,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "example",
      "NetworkingHubId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PrefixListType": "HUB",
      "RouteTableTypes": [
        "INFRASTRUCTURE",
        "ISOLATED"
      ],
      "Status": "ACTIVE",
      "SubnetTypes": [
        "PRIVATE",
        "RESTRICTED"
      ],
      "Tags": {
        "CostCode": "12345"
      },
      "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TargetType": "BLACKHOLE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcIds": [
        "a7220870-40fe-4235-abb3-4d42af0336c2",
        "7e542285-8b90-4b57-81e1-96e87e5ee443"
      ],
      "VpcTypes": [
        "TRANSIT",
        "ISOLATED"
      ],
      "Zones": [
        "ZONE1",
        "ZONE2"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
PrefixLists [PrefixList] true none none none

networking.ReadVpcs

{
  "Vpcs": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "AwsVpcId": "string",
      "Cidr": "10.128.0.0/23",
      "CidrRangeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreateFlowlogCwl": true,
      "CreateIgw": true,
      "CreateNat": true,
      "CreateVgw": true,
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "VPC for my particular application",
      "GatewayEndpoints": [
        "s3"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "non-prod",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "PhzId": "PHZAAEXAMPLE",
      "PhzPrefix": "dev",
      "RedundantNat": false,
      "Region": "ap-northeast-1",
      "Size": "SMALL",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "Type": "FLAT",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VgwAsn": 64513,
      "Zone": "non-prod"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Vpcs [VPC] true none none none

networking.ReadVpnConnectionStatus

{
  "VpnConnectionStatus": [
    {
      "TunnelName": "VPN Tunnel",
      "TunnelStatus": "up"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
VpnConnectionStatus VpnConnectionStatus false none none -

networking.ReadVpnConnections

{
  "VpnConnections": [
    {
      "AwsVpnConnectionId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ImprovedAcceleration": false,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "NetworkingHubId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "RoutingType": "DYNAMIC",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpcId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "VpnConnectionType": "HUB",
      "VpnCustomerGatewayId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
VpnConnections [VpnConnection] true none none none

networking.ReadVpnCustomerGateways

{
  "VpnCustomerGateways": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Asn": 64512,
      "AwsVpnCustomerGatewayId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "IpAddress": "192.168.1.0",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Prod Gateway",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Region": "ap-northeast-1",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
VpnCustomerGateways [VpnCustomerGateway] true none none none

networking.UpdateCidrExclusion

{
  "Description": "string",
  "Name": "data-center",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Description string false none Longer description of what the CIDR Exclusion is used for. maxLength: 2048
Name string false none Name of the CIDR Exclusion. maxLength: 128, minLength: 2
Tags NetworkingTags false none none -

networking.UpdateCidrRange

{
  "Description": "CIDR Range used for team ABCD application 1234",
  "Name": "prod",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Description string false none Longer description of what the CIDR Range is used for. maxLength: 2048
Name string false none Name of the CIDR Range. maxLength: 128, minLength: 2
Tags NetworkingTags false none none -

networking.UpdateDnsResolver

{
  "Name": "dns",
  "NumberOfInterfaces": 2,
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string false none Name of Stax DNS Resolver. maxLength: 50, minLength: 2
NumberOfInterfaces integer false none The number of ENIs to attach to the DNS Resolvers. none
Tags NetworkingTags false none none -

networking.UpdateDnsResolverEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateDnsRule

{
  "ForwarderIpAddresses": [
    "192.168.0.1",
    "192.168.0.2"
  ],
  "Name": "on-premises",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
ForwarderIpAddresses [string] false none The IP Addresses to forward DNS queries to. none
Name string false none Name of Stax DNS Rule. maxLength: 64, minLength: 2
Tags NetworkingTags false none none -

networking.UpdateDnsRuleEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateDxAssociation

{
  "Prefixes": [
    "192.168.0.0/24",
    "192.168.1.0/24"
  ]
}

Properties

Name Type Required Restrictions Description Validation
Prefixes [string] false none The CIDR Ranges to advertise to on-premises. none

networking.UpdateDxAssociationEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateDxVif

{
  "JumboMtu": false,
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
JumboMtu boolean false none Boolean value to enable Jumbo Frames. none
Tags NetworkingTags false none none -

networking.UpdateDxVifEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateHub

{
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateNatGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "This Hub is for connectivity from headquaters to VPC workloads",
  "GatewayEndpoints": [
    "s3"
  ],
  "InterfaceEndpoints": [
    "ec2"
  ],
  "Name": "prod",
  "PhzSuffix": "my-domain.cloud",
  "RedundantEndpoints": true,
  "RedundantNat": true,
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513
}

Properties

Name Type Required Restrictions Description Validation
CreateCloudwatchVpcFlowlogs boolean false none Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs none
CreateInternetGateway boolean false none Boolean value declaring to create an Internet Gateway none
CreateNatGateway boolean false none Boolean value declaring to create a NAT Gateway none
CreateVirtualPrivateGateway boolean false none Boolean value declaring to create a Virtual Private Gateway none
Description string false none Longer description of what the Stax Networking Hub is used for. maxLength: 2048
GatewayEndpoints [gateway-endpoint] false none [A list of gateway vpc endpoints] none
InterfaceEndpoints [interface-endpoint] false none [A list of interface vpc endpoints] none
Name string false none Name of Stax Networking Hub maxLength: 238, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
PhzSuffix string false none The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set ```maxLength: 255, minLength: 0, pattern: ^(([a-zA-Z0-9]¦[a-zA-Z0-9][a-zA-Z0-9-][a-zA-Z0-9]).)([A-Za-z0-9]
RedundantEndpoints boolean false none Boolean value declaring if redundant Interface VPC Endpoints will be created none
RedundantNat boolean false none Boolean value declaring to create redundant NAT Gateways none
Tags NetworkingTags false none none -
VirtualPrivateGatewayAsn integer false none ASN to assign to the Virtual Private Gateway none

networking.UpdateHubEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateHubPeering

{
  "Name": "Prod-Shared",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string false none The Name of the Hub Peering. maxLength: 128, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -

networking.UpdateHubPeeringEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateHubPrefixListAssociation

{
  "RouteTableTypes": [
    "INFRASTRUCTURE",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Properties

Name Type Required Restrictions Description Validation
RouteTableTypes [string] false none The TGW Route Table types to associate a HUB Prefix List with. none
Zones [string] false none The VPC Zones to associate a HUB Prefix List with. none

networking.UpdatePrefixList

{
  "Entries": [
    "192.168.0.1/32",
    "192.168.0.2/32"
  ],
  "MaxEntries": 3,
  "Name": "example",
  "Tags": {
    "CostCode": "12345"
  },
  "TargetId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "TargetType": "BLACKHOLE"
}

Properties

Name Type Required Restrictions Description Validation
Entries [string] false none The CIDR Ranges to include in the Prefix List. none
MaxEntries integer false none The maximum number of CIDR entries that can exist in the Prefix List. none
Name string false none Name of the Stax Prefix List. maxLength: 245, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -
TargetId string false none The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List. pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
TargetType string false none The type of the target for the HUB Prefix List associations. none

Enumerated Values

Property Value
TargetType BLACKHOLE
TargetType VPC
TargetType VPN
TargetType DIRECT_CONNECT_GATEWAY
TargetType HUB_PEERING

networking.UpdatePrefixListAssociationEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdatePrefixListEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateVpc

{
  "CreateCloudwatchVpcFlowlogs": true,
  "CreateInternetGateway": true,
  "CreateVirtualPrivateGateway": true,
  "Description": "string",
  "GatewayEndpoints": [
    "s3"
  ],
  "Name": "prod",
  "PhzPrefix": "dev",
  "Tags": {
    "CostCode": "12345"
  },
  "VirtualPrivateGatewayAsn": 64513
}

Properties

Name Type Required Restrictions Description Validation
CreateCloudwatchVpcFlowlogs boolean false none Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs none
CreateInternetGateway boolean false none Boolean value declaring to create an Internet Gateway none
CreateVirtualPrivateGateway boolean false none Boolean value declaring to create a Virtual Private Gateway none
Description string false none Longer description of what this VPC is used for. maxLength: 2048
GatewayEndpoints [gateway-endpoint] false none [A list of gateway vpc endpoints] none
Name string false none Name of the Stax VPC maxLength: 255, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
PhzPrefix string false none The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set ```maxLength: 255, minLength: 0, pattern: ^(([a-zA-Z0-9]¦[a-zA-Z0-9][a-zA-Z0-9-][a-zA-Z0-9]).)([A-Za-z0-9]
Tags NetworkingTags false none none -
VirtualPrivateGatewayAsn integer false none ASN to assign to the Virtual Private Gateway none

networking.UpdateVpcEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateVpcPrefixListAssociation

{
  "SubnetTypes": [
    "PRIVATE",
    "RESTRICTED"
  ],
  "VpcIds": [
    "a7220870-40fe-4235-abb3-4d42af0336c2",
    "7e542285-8b90-4b57-81e1-96e87e5ee443"
  ],
  "VpcTypes": [
    "TRANSIT",
    "ISOLATED"
  ],
  "Zones": [
    "ZONE1",
    "ZONE2"
  ]
}

Properties

Name Type Required Restrictions Description Validation
SubnetTypes [string] false none The subnet types to associate a VPC Prefix List with. none
VpcIds [uuidv4] false none The list of Stax VPC Ids to associate a VPC Prefix List with. none
VpcTypes [string] false none The VPC types to associate a VPC Prefix List with. none
Zones [string] false none The VPC Zones to associate a VPC Prefix List with. none

networking.UpdateVpnConnection

{
  "Name": "new-vpn-gw",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string false none Name of Stax VPN Connection. maxLength: 251, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -

networking.UpdateVpnConnectionEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

networking.UpdateVpnCustomerGateway

{
  "Name": "vpn-gw",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string false none Name of Stax VPN Customer Gateway. maxLength: 251, minLength: 2, pattern: ^[a-zA-Z0-9-_ ]*$
Tags NetworkingTags false none none -

networking.UpdateVpnCustomerGatewayEvent

{
  "Detail": {
    "Message": {
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TaskId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "TraceId": "string"
    },
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message MessageEventDetail false none none -
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

nullable-AwsRegion

"ap-northeast-1"

The available default and opt-in AWS Regions

Properties

Name Type Required Restrictions Description Validation
anonymous string¦null false none The available default and opt-in AWS Regions none

Enumerated Values

Property Value
anonymous ap-northeast-1
anonymous ap-northeast-2
anonymous ap-south-1
anonymous ap-southeast-1
anonymous ap-southeast-2
anonymous ca-central-1
anonymous eu-central-1
anonymous eu-north-1
anonymous eu-west-1
anonymous eu-west-2
anonymous eu-west-3
anonymous sa-east-1
anonymous us-east-1
anonymous us-east-2
anonymous us-west-1
anonymous us-west-2
anonymous af-south-1
anonymous ap-east-1
anonymous ap-south-2
anonymous ap-southeast-3
anonymous ap-southeast-4
anonymous eu-central-2
anonymous eu-south-1
anonymous eu-south-2
anonymous il-central-1
anonymous me-central-1
anonymous me-south-1

nullable-DefaultAwsRegion

"ap-northeast-1"

The available default AWS Regions

Properties

Name Type Required Restrictions Description Validation
anonymous string¦null false none The available default AWS Regions none

Enumerated Values

Property Value
anonymous ap-northeast-1
anonymous ap-northeast-2
anonymous ap-south-1
anonymous ap-southeast-1
anonymous ap-southeast-2
anonymous ca-central-1
anonymous eu-central-1
anonymous eu-north-1
anonymous eu-west-1
anonymous eu-west-2
anonymous eu-west-3
anonymous sa-east-1
anonymous us-east-1
anonymous us-east-2
anonymous us-west-1
anonymous us-west-2

nullable-uuidv4

"e893d7e0-9306-11e9-bc42-526af7764f64"

Properties

Name Type Required Restrictions Description Validation
anonymous string¦null false none none pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

organisations.AttachPolicy

{
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
}

Properties

Name Type Required Restrictions Description Validation
OrganisationId uuidv4 false none none -

organisations.AttachPolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

organisations.CreateOrganisationalUnit

{
  "Name": "DenyAll",
  "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of the Organisational Unit. maxLength: 128, minLength: 1, pattern: ^[\s\S]*$
ParentOrganisationalUnitId nullable-uuidv4 true none none -
Tags Tags false none none -

organisations.CreateOrganisationalUnitEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» OrganisationalUnit object true none none none
»» OrganisationalUnitId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

organisations.DeleteOrganisationalUnitEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» OrganisationalUnit object true none none none
»» OrganisationalUnitId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

organisations.DetachPolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

organisations.ReadOrganisationalUnitAccounts

{
  "Accounts": [
    {
      "AWSLoginURLs": {
        "admin": "string",
        "developer": "string",
        "readonly": "string"
      },
      "AccountRole": "MEMBER",
      "AccountType": "string",
      "AllocatedTS": "2018-10-11T01:05:45.000Z",
      "AssuranceState": "ACTIVE",
      "AssuranceStateReason": "AWS GuardDuty Hardening has failed",
      "AwsAccountAlias": "string",
      "AwsAccountCanonicalUserId": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
      "AwsAccountId": "012345678901",
      "AwsAccountStatusId": "string",
      "AwsLoginURL": "string",
      "CreatedBy": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Email": "stax.user@example.com",
      "FactoryVersion": "f8cf81b",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LatestCost": 72.52,
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "Name": "bakery",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrgsOuId": "string",
      "Origin": "STAX",
      "Status": "ACTIVE",
      "StaxCreated": true,
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Accounts [Account] true none none none

organisations.ReadOrganisationalUnits

{
  "OrganisationalUnits": [
    {
      "AwsId": "string",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "Security",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitType": "ROOT",
      "ParentOrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
OrganisationalUnits [OrganisationalUnit] true none none none

organisations.ReadOrganisations

{
  "Organisations": [
    {
      "Alias": "my-stax-org",
      "AllowedDomains": [
        "@example.com",
        "@stax.io"
      ],
      "AttachedPolicies": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ],
      "AwsAccountEmailTemplate": "stax.user+${Stax::AccountId}@example.com",
      "AwsPartnerSupport": true,
      "AwsSupportType": "ENTERPRISE",
      "ComplianceType": "PCI",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ExternalStaxId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Features": {},
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LandingZoneType": "STAX",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "default",
      "Region": "ap-northeast-1",
      "Regions": [
        "ap-southeast-2",
        "us-east-1"
      ],
      "SpotlightSsoURL": "string",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Organisations [Organisation] false none none none

organisations.UpdateOrganisationalUnit

{
  "Name": "Root",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Name string false none Name of the Organisational Unit. maxLength: 128, minLength: 1, pattern: ^[\s\S]*$
Tags Tags false none none -

organisations.UpdateOrganisationalUnitEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "OrganisationalUnit": {
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» OrganisationalUnit object true none none none
»» OrganisationalUnitId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

policies.AttachPolicy

{
  "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
AccountId nullable-uuidv4 false none none -
OrganisationalUnitId nullable-uuidv4 false none none -

anyOf

Name Type Required Restrictions Description Validation
anonymous object false none none none

or

Name Type Required Restrictions Description Validation
anonymous object false none none none

policies.AttachPolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PolicyAttachment": {
      "PolicyAttachmentId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» PolicyAttachment object true none none none
»» PolicyAttachmentId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

policies.CreatePolicy

{
  "Description": "A service control policy that denies access to all.",
  "Name": "DenyAll",
  "Policy": "string",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Description string true none Description of the Policy. maxLength: 1024, minLength: 3
Name string true none Name of the Policy. maxLength: 128, minLength: 3
Policy string true none none none
Tags StaxTags false none none -

policies.CreatePolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Policy object true none none none
»» PolicyId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

policies.DeletePolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Policy object true none none none
»» PolicyId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

policies.DetachPolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "PolicyAttachment": {
      "PolicyAttachmentId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» PolicyAttachment object true none none none
»» PolicyAttachmentId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

policies.ReadPolicies

{
  "Policies": [
    {
      "AwsId": "dc1a70bd-642f-41c6-9aa5-50b65e7d592e",
      "Content": {},
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Service Control Policy that denies access to all.",
      "ExternalResource": false,
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DenyAll",
      "OrganisationAttachment": {
        "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "CreatedTS": "2018-10-11T01:05:45.000Z",
        "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "ModifiedTS": "2018-10-11T01:05:45.000Z",
        "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64",
        "Status": "ACTIVE",
        "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
      },
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyOwner": "ORGANISATION",
      "PolicyType": "SCP",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Policies [Policy] true none none none

policies.ReadPolicyAttachments

{
  "PolicyAttachments": [
    {
      "AccountId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "OrganisationalUnitId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "PolicyAttachmentType": "ORGANISATIONAL_UNIT",
      "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
PolicyAttachments [PolicyAttachment] true none none none

policies.UpdatePolicy

{
  "Description": "A service control policy that denies access to all.",
  "Name": "DenyAll",
  "Policy": "string",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Description string false none Description of the Policy. maxLength: 1024, minLength: 3
Name string false none Name of the Policy. maxLength: 128, minLength: 3
Policy string false none none none
Tags StaxTags false none none -

policies.UpdatePolicyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Policy": {
      "PolicyId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    },
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Policy object true none none none
»» PolicyId ro-uuidv4 true none none -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

public.CheckAlias

{
  "Alias": {
    "Status": "The company alias provided is available"
  }
}

Properties

Name Type Required Restrictions Description Validation
Alias object true none none none
» Status string true none none none

Enumerated Values

Property Value
Status The company alias provided is available
Status The company alias provided is already in use by another customer and cannot be used

public.ReadConfig

{
  "API": {
    "endpoints": [
      {
        "endpoint": "string",
        "name": "string",
        "region": "ap-northeast-1"
      }
    ]
  },
  "Analytics": {
    "disable": true
  },
  "ApiAuth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "AppSync": {
    "analytics": {
      "endpoint": "string",
      "region": "ap-northeast-1"
    },
    "core": {
      "endpoint": "string",
      "region": "ap-northeast-1"
    },
    "graphqlEndpoint": "string",
    "region": "ap-northeast-1"
  },
  "Auth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "Features": [
    "string"
  ],
  "Juma": {
    "controlplaneRegion": "ap-northeast-1",
    "domainName": "string",
    "fullDomainName": "string",
    "masterAccountId": 0,
    "stage": "string"
  },
  "JumaAuth": {
    "identityPoolId": "string",
    "mandatorySignIn": true,
    "region": "ap-northeast-1",
    "userPoolId": "string",
    "userPoolWebClientId": "string"
  },
  "Sentry": {
    "dsn": "string",
    "projectName": "string"
  }
}

Properties

Name Type Required Restrictions Description Validation
API object true none none none
» endpoints [object] true none none none
»» endpoint string true none none none
»» name string true none none none
»» region DefaultAwsRegion true none The available default AWS Regions -
Analytics object true none none none
» disable boolean true none none none
ApiAuth object true none none none
» identityPoolId string true none none none
» mandatorySignIn boolean true none none none
» region DefaultAwsRegion true none The available default AWS Regions -
» userPoolId string true none none none
» userPoolWebClientId string true none none none
AppSync object true none none none
» analytics object true none none none
»» endpoint string true none none none
»» region DefaultAwsRegion true none The available default AWS Regions -
» core object true none none none
»» endpoint string true none none none
»» region DefaultAwsRegion true none The available default AWS Regions -
» graphqlEndpoint string true none none none
» region DefaultAwsRegion true none The available default AWS Regions -
Auth object true none none none
» identityPoolId string true none none none
» mandatorySignIn boolean true none none none
» region DefaultAwsRegion true none The available default AWS Regions -
» userPoolId string false none none none
» userPoolWebClientId string false none none none
Features [string] true none none none
Juma object true none none none
» controlplaneRegion DefaultAwsRegion true none The available default AWS Regions -
» domainName string true none none none
» fullDomainName string true none none none
» masterAccountId integer true none none none
» stage string true none none none
JumaAuth object true none none none
» identityPoolId string true none none none
» mandatorySignIn boolean true none none none
» region DefaultAwsRegion true none The available default AWS Regions -
» userPoolId string true none none none
» userPoolWebClientId string true none none none
Sentry object true none none none
» dsn string true none none none
» projectName string true none none none

ro-uuidv4

"e893d7e0-9306-11e9-bc42-526af7764f64"

Properties

Name Type Required Restrictions Description Validation
anonymous string false read-only none pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

services.ConfigureAccount

{
  "Configuration": {
    "AlternateContacts": [
      {
        "AlternateContactType": "BILLING",
        "EmailAddress": "string",
        "Name": "string",
        "PhoneNumber": "string",
        "Title": "string"
      }
    ],
    "EC2": {
      "EBSEncryptionByDefault": true,
      "ImageBlockPublicAccess": true,
      "SnapshotBlockPublicAccess": true
    },
    "S3": {
      "BlockPublicAccess": true
    }
  }
}

Properties

Name Type Required Restrictions Description Validation
Configuration AccountConfiguration true none none -

services.ConfigureAccountEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string true none none none

services.ConfigureGuardDuty

{
  "Configuration": {
    "Features": {
      "EBS_MALWARE_PROTECTION": {
        "EbsSnapshotPreservation": "NO_RETENTION",
        "Enable": true,
        "ScanResourceCriteria": {
          "Include": {
            "EC2_INSTANCE_TAG": [
              {
                "CostCode": "12345"
              }
            ]
          }
        }
      },
      "EKS_AUDIT_LOGS": {
        "Enable": true
      },
      "EKS_RUNTIME_MONITORING": {
        "EKS_ADDON_MANAGEMENT": true,
        "Enable": true
      },
      "LAMBDA_NETWORK_LOGS": {
        "Enable": true
      },
      "RDS_LOGIN_EVENTS": {
        "Enable": true
      },
      "S3_DATA_EVENTS": {
        "Enable": true
      }
    },
    "FindingPublishingFrequency": "FIFTEEN_MINUTES"
  },
  "Enabled": true
}

Properties

Name Type Required Restrictions Description Validation
Configuration GuardDutyConfiguration true none none -
Enabled boolean true none Boolean to indicate whether to enable/disable GuardDuty service. none

services.ConfigureGuardDutyEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string true none none none

services.ConfigureGuardrails

{
  "Configuration": {
    "RCP": {},
    "SCP": {
      "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
      "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
      "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
      "EBS_BLOCK_DIRECT_API_CALLS": true,
      "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
      "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
      "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
      "IAM_BLOCK_CREATING_IAM_USER": true,
      "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
      "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
      "IAM_BLOCK_ROOT_USER_ACCESS": true,
      "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
      "MACIE_BLOCK_SERVICE": true,
      "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
      "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
      "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
      "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
      "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
      "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
      "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
      "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
      "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
      "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
      "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
    }
  }
}

Properties

Name Type Required Restrictions Description Validation
Configuration GuardrailsConfiguration true none A configuration that defines toggleable pre-built rules to construct security guardrails. -

services.ConfigureGuardrailsEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string true none none none

services.ConfigureRegions

{
  "Configuration": {
    "Disabled": [
      "ap-northeast-1"
    ],
    "Enabled": [
      "ap-northeast-1"
    ]
  }
}

Properties

Name Type Required Restrictions Description Validation
Configuration RegionsConfiguration true none Lists all AWS Regions and groups them by their enabled or disabled status, all AWS Regions must be supplied. -

services.ConfigureRegionsEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string true none none none

services.ConfigureSecurityHub

{
  "Configuration": {
    "Standards": {
      "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": true,
      "AWS_REGIONS": [
        "ap-southeast-2",
        "us-west-2"
      ],
      "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": true,
      "NIST_SP_800_53_REVISION_5": true,
      "PCI_DSS_3_2_1": true,
      "PCI_DSS_4_0_1": true
    }
  },
  "Enabled": true
}

Properties

Name Type Required Restrictions Description Validation
Configuration SecurityHubConfiguration true none none -
Enabled boolean true none Boolean to indicate whether to enable/disable securityhub service. none

services.ConfigureSecurityHubEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string true none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string true none none none

services.ReadAccountConfiguration

{
  "Configuration": {
    "AlternateContacts": [
      {
        "AlternateContactType": "BILLING",
        "EmailAddress": "string",
        "Name": "string",
        "PhoneNumber": "string",
        "Title": "string"
      }
    ],
    "EC2": {
      "EBSEncryptionByDefault": true,
      "ImageBlockPublicAccess": true,
      "SnapshotBlockPublicAccess": true
    },
    "S3": {
      "BlockPublicAccess": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Configuration AccountConfiguration true none none -

services.ReadConfigurations

{
  "ServiceConfigurations": [
    {
      "Configuration": {},
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Enabled": true,
      "Exclusions": [
        "string"
      ],
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2019-03-11T01:11:40.000Z",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Service": "SECURITYHUB",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
ServiceConfigurations [allOf] true none none none
» Configuration any true none none none

anyOf

Name Type Required Restrictions Description Validation
»» anonymous Null false none none -

or

Name Type Required Restrictions Description Validation
»» anonymous AccountConfiguration false none none -

or

Name Type Required Restrictions Description Validation
»» anonymous SecurityHubConfiguration false none none -

or

Name Type Required Restrictions Description Validation
»» anonymous GuardDutyConfiguration false none none -

or

Name Type Required Restrictions Description Validation
»» anonymous RegionsConfiguration false none Lists all AWS Regions and groups them by their enabled or disabled status, all AWS Regions must be supplied. -

or

Name Type Required Restrictions Description Validation
»» anonymous GuardrailsConfiguration false none A configuration that defines toggleable pre-built rules to construct security guardrails. -

services.ReadGuardDutyConfiguration

{
  "Configuration": {
    "Features": {
      "EBS_MALWARE_PROTECTION": {
        "EbsSnapshotPreservation": "NO_RETENTION",
        "Enable": true,
        "ScanResourceCriteria": {
          "Include": {
            "EC2_INSTANCE_TAG": [
              {
                "CostCode": "12345"
              }
            ]
          }
        }
      },
      "EKS_AUDIT_LOGS": {
        "Enable": true
      },
      "EKS_RUNTIME_MONITORING": {
        "EKS_ADDON_MANAGEMENT": true,
        "Enable": true
      },
      "LAMBDA_NETWORK_LOGS": {
        "Enable": true
      },
      "RDS_LOGIN_EVENTS": {
        "Enable": true
      },
      "S3_DATA_EVENTS": {
        "Enable": true
      }
    },
    "FindingPublishingFrequency": "FIFTEEN_MINUTES"
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Configuration GuardDutyConfiguration true none none -

services.ReadGuardrailsConfiguration

{
  "Configuration": {
    "RCP": {},
    "SCP": {
      "ACCOUNT_BLOCK_CLOSING_ACCOUNT": true,
      "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": true,
      "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": true,
      "EBS_BLOCK_DIRECT_API_CALLS": true,
      "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": true,
      "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": true,
      "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": true,
      "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": true,
      "IAM_BLOCK_CREATING_IAM_USER": true,
      "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": true,
      "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": true,
      "IAM_BLOCK_ROOT_USER_ACCESS": true,
      "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": true,
      "MACIE_BLOCK_SERVICE": true,
      "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": true,
      "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": true,
      "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": true,
      "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": true,
      "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": true,
      "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": true,
      "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": true,
      "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": true,
      "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": true,
      "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": true,
      "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Configuration GuardrailsConfiguration true none A configuration that defines toggleable pre-built rules to construct security guardrails. -

services.ReadRegionsConfiguration

{
  "Configuration": {
    "Disabled": [
      "ap-northeast-1"
    ],
    "Enabled": [
      "ap-northeast-1"
    ]
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Configuration RegionsConfiguration true none Lists all AWS Regions and groups them by their enabled or disabled status, all AWS Regions must be supplied. -

services.ReadSecurityHubConfiguration

{
  "Configuration": {
    "Standards": {
      "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": true,
      "AWS_REGIONS": [
        "ap-southeast-2",
        "us-west-2"
      ],
      "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": true,
      "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": true,
      "NIST_SP_800_53_REVISION_5": true,
      "PCI_DSS_3_2_1": true,
      "PCI_DSS_4_0_1": true
    }
  },
  "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "CreatedTS": "2018-10-11T01:05:45.000Z",
  "Enabled": true,
  "Exclusions": [
    "string"
  ],
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "ModifiedTS": "2019-03-11T01:11:40.000Z",
  "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Service": "SECURITYHUB",
  "Status": "ACTIVE",
  "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Configuration SecurityHubConfiguration true none none -

tasks.ReadTask

{
  "Accounts": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ],
  "Logs": [
    "string"
  ],
  "Status": "STARTED",
  "Users": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ],
  "Workloads": [
    "e893d7e0-9306-11e9-bc42-526af7764f64"
  ]
}

Properties

Name Type Required Restrictions Description Validation
Accounts [ro-uuidv4] false none none none
Logs [string] true none none none
Status OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
Users [ro-uuidv4] false none none none
Workloads [ro-uuidv4] false none none none

tasks.ReadTasks

{
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  },
  "Tasks": [
    {
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Resources": [
        {
          "ResourceId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "ResourceType": "string"
        }
      ],
      "Status": "STARTED",
      "Type": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Paging Pagination false none Pagination metadata. Present when limit and offset parameters are supplied. -
Tasks [object] true none none none
» Id ro-uuidv4 true none none -
» Resources [object] false none none none
»» ResourceId ro-uuidv4 true none none -
»» ResourceType string true none none none
» Status OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Type string true none none none

teams.CreateApiToken

{
  "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
  "Name": "gitlab-cicd",
  "Role": "api_admin",
  "StoreToken": true,
  "Tags": {
    "CostCode": "12345"
  },
  "TokenKeyId": "alias/my-custom-key"
}

Properties

Name Type Required Restrictions Description Validation
Description string false none Longer description of what this Token is used for. maxLength: 1024, minLength: 0
Name string true none Name of API Token maxLength: 64, minLength: 2, pattern: ^([0-9a-zA-Z_.-]+)$
Role ApiRole true none Stax role assigned to an API Token. -
StoreToken boolean false none Store the Access and Secret key in SSM, in your security account. none
Tags Tags false none none -
TokenKeyId string false none If you choose to store your keys in SSM, encrypt them with this KMS Key maxLength: 128, minLength: 7, pattern: ^([a-zA-Z0-9:/_-]+)$

teams.CreateApiTokenResponse

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "SecretKey": "stringstringstringstringstringst",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
ApiTokens [object] true none none none
» AccessKey ro-uuidv4 true none none -
» CreatedBy nullable-uuidv4 false none none -
» CreatedTS string(date-time) false read-only Created timestamp. none
» Description string false none Longer description of what this Token is used for. maxLength: 1024
» ModifiedTS string(date-time) false read-only Created timestamp. none
» Name string false none Name of API Token maxLength: 64, minLength: 2, pattern: ^([0-9a-zA-Z_.-]+)$
» Role ApiRole false none Stax role assigned to an API Token. -
» SecretKey string false none none maxLength: 32, minLength: 32
» Status string false none Status of the User. none
» Tags Tags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status DELETED

teams.CreateGroup

{
  "Name": "devops"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of User Group maxLength: 64, minLength: 2

teams.CreateGroupEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string",
  "GroupId": "e893d7e0-9306-11e9-bc42-526af7764f64"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none
GroupId ro-uuidv4 true none none -

teams.CreateUser

{
  "Email": "stax.user@example.com",
  "FirstName": "John",
  "LastName": "Doe",
  "Role": "customer_admin"
}

Properties

Name Type Required Restrictions Description Validation
Email string(email) true none Email address of User. maxLength: 128, minLength: 6
FirstName string true none Given Name of the User. maxLength: 128, minLength: 1
LastName string true none Family Name of the User. maxLength: 128, minLength: 1
Role IdamUserRole false none Stax role assigned to an IDAM user. -

teams.CreateUserEvent

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
CustomerId ro-uuidv4 false none none -
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string false none none none

teams.DeleteApiTokenResponse

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
ApiTokens [object] true none none none
» AccessKey ro-uuidv4 true none none -
» CreatedBy nullable-uuidv4 false none none -
» CreatedTS string(date-time) false read-only Created timestamp. none
» Description string false none Longer description of what this Token is used for. maxLength: 1024, minLength: 0
» ModifiedTS string(date-time) false read-only Modified timestamp. none
» Name string false none Name of API Token maxLength: 64, minLength: 2, pattern: ^([0-9a-zA-Z_.-]+)$
» Role ApiRole false none Stax role assigned to an API Token. -
» Status string false none Status of the Token. none
» Tags Tags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status DELETED

teams.DeleteGroupEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

teams.DeleteUserResponse

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Users [User] true none none none

teams.ReadApiTokens

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
ApiTokens [object] true none none none
» AccessKey ro-uuidv4 true none none -
» CreatedBy nullable-uuidv4 false none none -
» CreatedTS string(date-time) false read-only Created timestamp. none
» Description string true none Longer description of what this Token is used for. maxLength: 1024, minLength: 0
» ModifiedTS string(date-time) false read-only Modified timestamp. none
» Name string true none Name of API Token maxLength: 64, minLength: 2, pattern: ^([0-9a-zA-Z_.-]+)$
» Role ApiRole true none Stax role assigned to an API Token. -
» Status string true none Status of the Token. none
» Tags Tags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status DELETED

teams.ReadGroupsResponse

{
  "Groups": [
    {
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "GroupType": "LOCAL",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "DevOps",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Users": [
        "e893d7e0-9306-11e9-bc42-526af7764f64"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Groups [Group] true none none none

teams.ReadIdamUsers

{
  "Users": [
    {
      "access": {},
      "attributes": {},
      "createdTimestamp": 0,
      "customerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "email": "stax.user@example.com",
      "emailVerified": true,
      "enabled": true,
      "firstName": "John",
      "id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "lastName": "Doe",
      "orgAlias": "string",
      "organisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "requiredActions": [
        "string"
      ],
      "role": "customer_admin",
      "totp": true
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Users [IdamUser] true none none none

teams.ReadUsers

{
  "Users": [
    {
      "AuthOrigin": "idam",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "CustomerId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Email": "stax.user@example.com",
      "FirstName": "John",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "LastName": "Doe",
      "MFAEnabled": true,
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "John Doe",
      "OrganisationId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Role": "customer_admin",
      "Status": "ACTIVE",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Users [User] true none none none

teams.UpdateApiToken

{
  "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
  "Role": "api_admin",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
Description string false none Longer description of what this Token is used for. maxLength: 1024, minLength: 2
Role ApiRole false none Stax role assigned to an API Token. -
Tags Tags false none none -

teams.UpdateApiTokenResponse

{
  "ApiTokens": [
    {
      "AccessKey": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "gitlab-cicd",
      "Role": "api_admin",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
ApiTokens [object] true none none none
» AccessKey ro-uuidv4 true none none -
» CreatedBy nullable-uuidv4 false none none -
» CreatedTS string(date-time) false read-only Created timestamp. none
» Description string false none Longer description of what this Token is used for. maxLength: 1024, minLength: 0
» ModifiedTS string(date-time) false read-only Modified timestamp. none
» Name string false none Name of API Token maxLength: 64, minLength: 2, pattern: ^([0-9a-zA-Z_.-]+)$
» Role ApiRole false none Stax role assigned to an API Token. -
» Status string false none Status of the Token. none
» Tags Tags false none none -

Enumerated Values

Property Value
Status ACTIVE
Status DELETED

teams.UpdateGroup

{
  "Name": "devops"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none Name of User Group maxLength: 64, minLength: 2

teams.UpdateGroupEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

teams.UpdateGroupMembers

{
  "AddMembers": [
    {
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "UserId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ],
  "RemoveMembers": [
    {
      "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "UserId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
AddMembers [UserGroupMemberMap] false none none none
RemoveMembers [UserGroupMemberMap] false none none none

teams.UpdateGroupMembersEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TaskId ro-uuidv4 true none none -
DetailType string true none none none

teams.UpdateUser

{
  "Email": "stax.user@example.com",
  "FirstName": "John",
  "LastName": "Doe",
  "Role": "customer_admin",
  "Status": "ACTIVE"
}

Properties

Name Type Required Restrictions Description Validation
Email string(email) false none Email address of User. maxLength: 128, minLength: 6
FirstName string false none Given Name of the User. maxLength: 128, minLength: 0
LastName string false none Family Name of the User. maxLength: 128, minLength: 0
Role IdamUserRole false none Stax role assigned to an IDAM user. -
Status string false none Status of User. none

Enumerated Values

Property Value
Status ACTIVE
Status DISABLED

teams.UpdateUserEvent

{
  "CustomerId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string",
  "TaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "TraceId": "string"
}

Properties

Name Type Required Restrictions Description Validation
CustomerId ro-uuidv4 false none none -
Detail object true none none none
» Message string false none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none
TaskId ro-uuidv4 true none none -
TraceId string false none none none

teams.UpdateUserInvite

{}

Properties

None

teams.UpdateUserInviteEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

teams.UpdateUserPassword

{}

Properties

None

teams.UpdateUserPasswordEvent

{
  "Detail": {
    "Message": "string",
    "Operation": "CREATE",
    "OperationStatus": "STARTED",
    "Severity": "string",
    "TraceId": "string"
  },
  "DetailType": "string"
}

Properties

Name Type Required Restrictions Description Validation
Detail object true none none none
» Message string true none none none
» Operation Operation true none none -
» OperationStatus OperationStatus true none The status of an operation within Stax. This status is returned as part of the response for an asynchronous request and as the status of a Task. STARTED indicates that a request/Task has been received by Stax and is awaiting a worker. PENDING indicates that the Task has been picked up by a worker and is in queue. RUNNING indicates that the Task is active and being processed by a worker. SUCCEEDED indicates that the Task has completed successfully. FAILED indicates that the Task failed. -
» Severity string false none none none
» TraceId string false none none none
DetailType string true none none none

uuidv4

"ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"

Properties

Name Type Required Restrictions Description Validation
anonymous string false none none pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

workloads.Catalogue

{
  "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  },
  "WorkloadCatalogueItems": [
    {
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-directory-service",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Protection": false,
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "Versions": [
        {
          "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedTS": "2018-10-11T01:05:45.000Z",
          "Description": "A Workload to build a VPC in my org",
          "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
          "ModifiedTS": "2018-10-11T01:05:45.000Z",
          "Outputs": [
            "bread"
          ],
          "Parameters": [
            {
              "CostCode": "12345",
              "Dept": "Marketing"
            }
          ],
          "Public": false,
          "Status": "NEW",
          "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "WorkloadVersion": "0.01"
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
OrganisationId uuidv4 true none none -
Paging Pagination false none Pagination metadata. Present when limit and offset parameters are supplied. -
WorkloadCatalogueItems [WorkloadCatalogue] true none none none

workloads.CreateCatalogueItem

{
  "Description": "A Workload to build a VPC in my org",
  "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "Name": "my-directory-service",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Tags": {
    "CostCode": "12345"
  },
  "Version": "1.0.2"
}

Properties

Name Type Required Restrictions Description Validation
Description string true none Description of the Workload. maxLength: 1024
ManifestBody string false none Raw text of a Manifest. Either this or ManifestURL must be provided. none
ManifestURL string false none HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided. none
Name string true none Name of the Workload Catalogue Item to create. maxLength: 64, minLength: 2
Parameters Parameter false none none -
Tags Tags false none none -
Version string true none Version of the Workload Catalogue Item to create. maxLength: 128

workloads.CreateCatalogueVersion

{
  "Description": "A Workload to build a VPC in my org",
  "ManifestBody": "Resources:\n    - VPC:\n        Type: AWS::Cloudformation\n        TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
  "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
  "Parameters": {
    "CostCode": "12345",
    "Dept": "Marketing"
  },
  "Tags": {
    "CostCode": "12345"
  },
  "Version": "1.0.2"
}

Properties

Name Type Required Restrictions Description Validation
Description string true none Description of the Workload Item Version maxLength: 1024
ManifestBody string false none Raw text of a Manifest. Either this or ManifestURL must be provided. none
ManifestURL string false none HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided. none
Parameters Parameter false none none -
Tags Tags false none none -
Version string true none Version of the Workload Catalogue Item to create. maxLength: 128

workloads.CreateWorkload

{
  "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
  "Name": "my-workload-is-cool",
  "Parameters": [
    {
      "Key": "CostCode",
      "Value": "12345"
    }
  ],
  "Region": "ap-northeast-1",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AccountId uuidv4 true none none -
CatalogueId uuidv4 true none none -
CatalogueVersionId uuidv4 false none none -
Id ro-uuidv4 false none none -
Name string true none The Workload name. maxLength: 64, minLength: 2, pattern: ^[a-zA-Z][-a-zA-Z0-9]*$
Parameters [KeyValueRequestParameter] false none none none
Region AwsRegion true none none -
Tags Tags false none none -

workloads.ReadCatalogueItems

{
  "WorkloadCatalogues": [
    {
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Paging": {
        "NextOffset": 20,
        "PrevOffset": null,
        "Total": 100
      },
      "WorkloadCatalogueItems": [
        {
          "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "CreatedTS": "2018-10-11T01:05:45.000Z",
          "Description": "A Workload to build a VPC in my org",
          "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "ModifiedTS": "2018-10-11T01:05:45.000Z",
          "Name": "my-directory-service",
          "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
          "Protection": false,
          "Public": false,
          "Status": "NEW",
          "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
          "Versions": [
            {
              "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "CreatedTS": "2018-10-11T01:05:45.000Z",
              "Description": "A Workload to build a VPC in my org",
              "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
              "ModifiedTS": "2018-10-11T01:05:45.000Z",
              "Outputs": [
                "bread"
              ],
              "Parameters": [
                {
                  "CostCode": "12345",
                  "Dept": "Marketing"
                }
              ],
              "Public": false,
              "Status": "NEW",
              "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
              "WorkloadVersion": "0.01"
            }
          ]
        }
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
WorkloadCatalogues [workloads.Catalogue] true none none none

workloads.ReadCatalogueManifest

{
  "url": "string"
}

Properties

Name Type Required Restrictions Description Validation
url string true none none none

workloads.ReadCatalogueTemplate

{
  "url": "string"
}

Properties

Name Type Required Restrictions Description Validation
url string true none none none

workloads.ReadCatalogueVersion

{
  "Versions": [
    {
      "CatalogueId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Description": "A Workload to build a VPC in my org",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ManifestURL": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Outputs": [
        "bread"
      ],
      "Parameters": [
        {
          "CostCode": "12345",
          "Dept": "Marketing"
        }
      ],
      "Public": false,
      "Status": "NEW",
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "WorkloadVersion": "0.01"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Versions [WorkloadCatalogueVersion] true none none none

workloads.ReadWorkloads

{
  "account_ids": "string",
  "account_names": "string",
  "account_types": "string",
  "catalogue_ids": "string",
  "catalogue_names": "string",
  "catalogue_version": "string",
  "catalogue_version_id": "string",
  "filter": "string",
  "id_filter": "string",
  "include_tags": true,
  "limit": 0,
  "name": "string",
  "offset": 0,
  "sort": "Id",
  "sort_order": "ASC"
}

Properties

Name Type Required Restrictions Description Validation
account_ids string false none Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs. none
account_names string false none Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names. none
account_types string false none Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types. none
catalogue_ids string false none Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs. none
catalogue_names string false none Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names. none
catalogue_version string false none Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids none
catalogue_version_id string false none Only return Workloads launched from this Stax Workload Catalogue Version ID. none
filter string false none Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.
Filter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.
none
id_filter string false none Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs. none
include_tags boolean false none Do you want all the Tags? none
limit integer false none Pagination - The number of items per page to return. Must be used with offset none
name string false none The Name of the Workloads to return. none
offset integer false none Pagination - The page number to return. Must be used with limit none
sort string false none The field to sort on. none
sort_order string false none The sort order - up or down. none

Enumerated Values

Property Value
sort Id
sort Name
sort AccountId
sort CatalogueId
sort CatalogueVersionId
sort Region
sort Status
sort UserTaskId
sort CreatedBy
sort CreatedTS
sort ModifiedTS
sort FactoryVersion
sort_order ASC
sort_order DESC

workloads.ReadWorkloadsResponse

{
  "Paging": {
    "NextOffset": 20,
    "PrevOffset": null,
    "Total": 100
  },
  "Workloads": [
    {
      "AccountId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "CatalogueVersionId": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedBy": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "CreatedTS": "2018-10-11T01:05:45.000Z",
      "Id": "e893d7e0-9306-11e9-bc42-526af7764f64",
      "ModifiedTS": "2018-10-11T01:05:45.000Z",
      "Name": "my-workload-is-cool",
      "OrganisationId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
      "Parameters": {
        "CostCode": "12345",
        "Dept": "Marketing"
      },
      "Protection": false,
      "Region": "us-east-1",
      "Status": "NEW",
      "Tags": {
        "CostCode": "12345"
      },
      "UserTaskId": "e893d7e0-9306-11e9-bc42-526af7764f64"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Paging Pagination false none Pagination metadata. Present when limit and offset parameters are supplied. -
Workloads [Workload] true none none none

workloads.UpdateWorkload

{
  "CatalogueId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "CatalogueVersionId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
  "Parameters": [
    {
      "Key": "CostCode",
      "Value": "12345"
    }
  ],
  "Protection": true,
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
CatalogueId uuidv4 false none none -
CatalogueVersionId uuidv4 false none none -
Parameters [KeyValueRequestParameter] false none none none
Protection boolean false none none none
Tags Tags false none none -

Stax Permission Sets API v20210321

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Implementation of Stax Permission Sets API

Base URLs:

Terms of service Web: Support

Authentication

PermissionSets

List permission sets for an organisation

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets', headers = headers)

print(r.json())

GET /permission-sets

Return list of permission sets

Parameters

Name In Type Required Description
limit query integer(int64) false Pagination. The maxmimum number of records to return
page_token query string false Encoded pagination token used to fetch the page of data.
status query array[string] false Filter the returned results by "Status"
created_by query array[string] false Filter the returned results using the "CreatedBy" attribute

Enumerated Values

Parameter Value
status ACTIVE
status DELETED

Example responses

200 Response

{
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  },
  "PermissionSets": [
    {
      "AWSManagedPolicies": [
        {
          "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
        }
      ],
      "CreatedBy": "string",
      "CreatedTS": "2019-08-24T14:15:22Z",
      "Description": "Custom Permission Set",
      "Id": "12345678-1234-1234-1234-123456789012",
      "InlinePolicies": [
        {
          "Name": "string",
          "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
        }
      ],
      "MaxSessionDuration": 3600,
      "ModifiedBy": "string",
      "ModifiedTS": "2019-08-24T14:15:22Z",
      "Name": "myPermissionSetName",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success. ListPermissionSets
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

Create permission set

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.idam.au1.staxapp.cloud/20210321/permission-sets', headers = headers)

print(r.json())

POST /permission-sets

Create permission set

Body parameter

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "Description": "Custom Permission Set",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "Name": "myPermissionSetName",
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
body body CreatePermissionSetRecord false none

Example responses

201 Response

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "CreatedBy": "string",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "Description": "Custom Permission Set",
  "Id": "12345678-1234-1234-1234-123456789012",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "Name": "myPermissionSetName",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
201 Created Success. PermissionSetRecord
400 Bad Request Bad Request. Error creating resource. Check JSON request. ErrorResponse
409 Conflict Conflict. Error creating permission set, the specified Name already exists. ErrorResponse
500 Internal Server Error Internal Server Error. Error creating resource. ErrorResponse

List AWS managed policies

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/aws-managed-policies', headers = headers)

print(r.json())

GET /permission-sets/aws-managed-policies

Returns a list of AWS managed policies.

Example responses

200 Response

{
  "AWSManagedPolicies": [
    {
      "Arn": "string",
      "AttachmentCount": 0,
      "CreateDate": "2019-08-24T14:15:22Z",
      "DefaultVersionId": "string",
      "IsAttachable": true,
      "Path": "string",
      "PermissionsBoundaryUsageCount": 0,
      "PolicyId": "string",
      "PolicyName": "string",
      "UpdateDate": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success. ListAWSManagedPolicies
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

Delete permission set

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}', headers = headers)

print(r.json())

DELETE /permission-sets/{permission_set_id}

Delete the specified permission set

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID

Example responses

200 Response

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "CreatedBy": "string",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "Description": "Custom Permission Set",
  "Id": "12345678-1234-1234-1234-123456789012",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "Name": "myPermissionSetName",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
200 OK Success. PermissionSetRecord
400 Bad Request Bad Request. Error deleting resource. Check JSON request. ErrorResponse
404 Not Found Not Found. The specified resource was not found. ErrorResponse
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retriving the specified resource. ErrorResponse

Get permission set

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}', headers = headers)

print(r.json())

GET /permission-sets/{permission_set_id}

Return the specified permission set

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID

Example responses

200 Response

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "CreatedBy": "string",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "Description": "Custom Permission Set",
  "Id": "12345678-1234-1234-1234-123456789012",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "Name": "myPermissionSetName",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
200 OK Success. PermissionSetRecord
404 Not Found Not Found. The specified resource was not found. ErrorResponse
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retriving the specified resource. ErrorResponse

Update permission set

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}', headers = headers)

print(r.json())

PUT /permission-sets/{permission_set_id}

Update the specified permission set

Body parameter

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "Description": "Custom Permission Set",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "Tags": {
    "CostCode": "12345"
  }
}

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID
body body UpdatePermissionSetRecord false none

Example responses

200 Response

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "CreatedBy": "string",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "Description": "Custom Permission Set",
  "Id": "12345678-1234-1234-1234-123456789012",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "Name": "myPermissionSetName",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Responses

Status Meaning Description Schema
200 OK Success. PermissionSetRecord
400 Bad Request Bad Request. Error creating resource, check JSON request. ErrorResponse
404 Not Found Not Found. The specified resource was not found. ErrorResponse
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retriving the specified resource. ErrorResponse

Roles

List roles

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/roles', headers = headers)

print(r.json())

GET /permission-sets/roles

Returns list of role assignments for an organisation. Optionally filter by a single account.

Parameters

Name In Type Required Description
page_token query string false Encoded pagination token used to fetch the page of data.
account_id query ID false Stax Account ID

Example responses

200 Response

{
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  },
  "Roles": [
    {
      "AWSAccountId": "string",
      "AssignmentId": "12345678-1234-1234-1234-123456789012",
      "DeploymentId": "12345678-1234-1234-1234-123456789012",
      "PermissionSetId": "12345678-1234-1234-1234-123456789012",
      "RoleArn": "arn:aws:iam::123456789012:role/staxid/myPermissionSetName",
      "RoleName": "myPermissionSetName",
      "Status": "ACTIVE"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success. ListRoles
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

List my roles

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/roles/me', headers = headers)

print(r.json())

GET /permission-sets/roles/me

Returns list of role assignments for the user making the request. Only applies to Users (including federated users) and does not apply to Stax API Tokens. Optionally filter by a single account.

Parameters

Name In Type Required Description
page_token query string false Encoded pagination token used to fetch the page of data.
limit query integer(int64) false Pagination. The maxmimum number of records to return

Example responses

200 Response

{
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  },
  "Roles": [
    {
      "AWSAccountId": "string",
      "AssignmentId": "12345678-1234-1234-1234-123456789012",
      "DeploymentId": "12345678-1234-1234-1234-123456789012",
      "PermissionSetId": "12345678-1234-1234-1234-123456789012",
      "RoleArn": "arn:aws:iam::123456789012:role/staxid/myPermissionSetName",
      "RoleName": "myPermissionSetName",
      "Status": "ACTIVE"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success. ListRoles
403 Forbidden Forbidden. When the requesting identity does not have access to the endpoint, for example when callled by a Stax API token. ErrorResponse
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

Assignments

Get assignments

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}/assignments', headers = headers)

print(r.json())

GET /permission-sets/{permission_set_id}/assignments

Return assignments for the specified permission set

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID
limit query integer(int64) false Pagination. The maxmimum number of records to return
page_token query string false Encoded pagination token used to fetch the page of data.
status query array[string] false Filter the returned results by "Status"
created_by query array[string] false Filter the returned results using the "CreatedBy" attribute
group query array[string] false Filter the returned results using the "GroupID" attribute
account_type query array[string] false Filter the returned results using the "AccountTypeID" attribute

Enumerated Values

Parameter Value
status CREATE_REQUESTED
status UPDATE_REQUESTED
status DEPLOYMENT_IN_PROGRESS
status DEPLOYMENT_FAILED
status DEPLOYMENT_COMPLETE
status DELETE_REQUESTED
status DELETE_IN_PROGRESS
status DELETE_FAILED
status DELETE_COMPLETE

Example responses

200 Response

{
  "Assignments": [
    {
      "AccountTypeId": "12345678-1234-1234-1234-123456789012",
      "CreatedBy": "12345678-1234-1234-1234-123456789012",
      "CreatedTS": "2019-08-24T14:15:22Z",
      "GroupId": "12345678-1234-1234-1234-123456789012",
      "Id": "12345678-1234-1234-1234-123456789012",
      "ModifiedBy": "string",
      "ModifiedTS": "2019-08-24T14:15:22Z",
      "PermissionSetId": "12345678-1234-1234-1234-123456789012",
      "Status": "CREATE_REQUESTED"
    }
  ],
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  }
}

Responses

Status Meaning Description Schema
200 OK Success. ListAssignmentRecords
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retriving the specified resource. ErrorResponse

Create assignments

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}/assignments', headers = headers)

print(r.json())

POST /permission-sets/{permission_set_id}/assignments

Create assignment for the specified permission set

Body parameter

[
  {
    "AccountTypeId": "12345678-1234-1234-1234-123456789012",
    "GroupId": "12345678-1234-1234-1234-123456789012"
  }
]

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID
body body CreateAssignmentsRequest false none

Example responses

200 Response

[
  {
    "AccountTypeId": "12345678-1234-1234-1234-123456789012",
    "CreatedBy": "12345678-1234-1234-1234-123456789012",
    "CreatedTS": "2019-08-24T14:15:22Z",
    "GroupId": "12345678-1234-1234-1234-123456789012",
    "Id": "12345678-1234-1234-1234-123456789012",
    "ModifiedBy": "string",
    "ModifiedTS": "2019-08-24T14:15:22Z",
    "PermissionSetId": "12345678-1234-1234-1234-123456789012",
    "Status": "CREATE_REQUESTED"
  }
]

Responses

Status Meaning Description Schema
200 OK Success. AssignmentRecords
400 Bad Request Bad Request. Error creating resource. Check JSON request. ErrorResponse
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

Delete assignment

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}/assignments/{assignment_id}', headers = headers)

print(r.json())

DELETE /permission-sets/{permission_set_id}/assignments/{assignment_id}

Delete a specified assignment

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID
assignment_id path ID true Assignment ID

Example responses

200 Response

{
  "AccountTypeId": "12345678-1234-1234-1234-123456789012",
  "CreatedBy": "12345678-1234-1234-1234-123456789012",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "GroupId": "12345678-1234-1234-1234-123456789012",
  "Id": "12345678-1234-1234-1234-123456789012",
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "PermissionSetId": "12345678-1234-1234-1234-123456789012",
  "Status": "CREATE_REQUESTED"
}

Responses

Status Meaning Description Schema
200 OK Success. AssignmentRecord
400 Bad Request Bad Request. ErrorResponse
429 Too Many Requests Too Many Requests. When too many requests are made to the resource. ErrorResponse
500 Internal Server Error Internal Server Error. Error retriving the specified resource. ErrorResponse

Redeploy assignment

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.put('https://api.idam.au1.staxapp.cloud/20210321/permission-sets/{permission_set_id}/assignments/{assignment_id}', headers = headers)

print(r.json())

PUT /permission-sets/{permission_set_id}/assignments/{assignment_id}

Redeploy the specified assignment

Parameters

Name In Type Required Description
permission_set_id path ID true Permission Set ID
assignment_id path ID true Assignment ID

Example responses

200 Response

{
  "AccountTypeId": "12345678-1234-1234-1234-123456789012",
  "CreatedBy": "12345678-1234-1234-1234-123456789012",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "GroupId": "12345678-1234-1234-1234-123456789012",
  "Id": "12345678-1234-1234-1234-123456789012",
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "PermissionSetId": "12345678-1234-1234-1234-123456789012",
  "Status": "CREATE_REQUESTED"
}

Responses

Status Meaning Description Schema
200 OK Success. AssignmentRecord
400 Bad Request Bad Request. ErrorResponse
404 Not Found Not Found. The specified resource was not found. ErrorResponse
500 Internal Server Error Internal Server Error. ErrorResponse

Public

Get the OpenAPI specification document for this API.

Code samples

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.idam.au1.staxapp.cloud/20210321/public/api-document', headers = headers)

print(r.json())

GET /public/api-document

Get the OpenAPI specification document for this API.

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK Success Inline
500 Internal Server Error Internal Server Error. Error retrieving resources. ErrorResponse

Response Schema

Schemas

AWSManagedPolicyRecord

{
  "Arn": "string",
  "AttachmentCount": 0,
  "CreateDate": "2019-08-24T14:15:22Z",
  "DefaultVersionId": "string",
  "IsAttachable": true,
  "Path": "string",
  "PermissionsBoundaryUsageCount": 0,
  "PolicyId": "string",
  "PolicyName": "string",
  "UpdateDate": "2019-08-24T14:15:22Z"
}

Properties

Name Type Required Restrictions Description Validation
Arn string false none none none
AttachmentCount integer(int64) false none none none
CreateDate string(date-time) false none none none
DefaultVersionId string false none none none
IsAttachable boolean false none none none
Path string false none none none
PermissionsBoundaryUsageCount integer(int64) false none none none
PolicyId string false none none none
PolicyName string true none none none
UpdateDate string(date-time) false none none none

AssignmentRecord

{
  "AccountTypeId": "12345678-1234-1234-1234-123456789012",
  "CreatedBy": "12345678-1234-1234-1234-123456789012",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "GroupId": "12345678-1234-1234-1234-123456789012",
  "Id": "12345678-1234-1234-1234-123456789012",
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "PermissionSetId": "12345678-1234-1234-1234-123456789012",
  "Status": "CREATE_REQUESTED"
}

Properties

Name Type Required Restrictions Description Validation
AccountTypeId ID true none none -
CreatedBy ID true none none -
CreatedTS string(date-time) true none none none
GroupId ID true none none -
Id ID true none none -
ModifiedBy string false none Stax User ID of the user that last modified the resource none
ModifiedTS string(date-time) false none The timestamp of when the last modification was made none
PermissionSetId ID true none none -
Status AssignmentRecordStatus true none none -

AssignmentRecordStatus

"CREATE_REQUESTED"

Properties

Name Type Required Restrictions Description Validation
anonymous string false none none none

Enumerated Values

Property Value
anonymous CREATE_REQUESTED
anonymous UPDATE_REQUESTED
anonymous DEPLOYMENT_IN_PROGRESS
anonymous DEPLOYMENT_FAILED
anonymous DEPLOYMENT_COMPLETE
anonymous DELETE_REQUESTED
anonymous DELETE_IN_PROGRESS
anonymous DELETE_FAILED
anonymous DELETE_COMPLETE

AssignmentRecords

[
  {
    "AccountTypeId": "12345678-1234-1234-1234-123456789012",
    "CreatedBy": "12345678-1234-1234-1234-123456789012",
    "CreatedTS": "2019-08-24T14:15:22Z",
    "GroupId": "12345678-1234-1234-1234-123456789012",
    "Id": "12345678-1234-1234-1234-123456789012",
    "ModifiedBy": "string",
    "ModifiedTS": "2019-08-24T14:15:22Z",
    "PermissionSetId": "12345678-1234-1234-1234-123456789012",
    "Status": "CREATE_REQUESTED"
  }
]

Properties

Name Type Required Restrictions Description Validation
anonymous [AssignmentRecord] false none none none

CreateAssignmentsRequest

[
  {
    "AccountTypeId": "12345678-1234-1234-1234-123456789012",
    "GroupId": "12345678-1234-1234-1234-123456789012"
  }
]

The assignments to create. Limited to 1 assignment

Properties

Name Type Required Restrictions Description Validation
AccountTypeId ID true none none -
GroupId ID true none none -

CreatePermissionSetRecord

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "Description": "Custom Permission Set",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "Name": "myPermissionSetName",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AWSManagedPolicies [PermissionSetAWSManagedPolicy] false none none maxItems: 10
Description string false none none maxLength: 1000, pattern: ^[\w\s\/+=,.@-]+$
InlinePolicies [PermissionSetInlinePolicy] false none none maxItems: 10
MaxSessionDuration integer false none none maximum: 43200, minimum: 3600
Name string true none Name of the permission set. This will become the name of the role in an account, case sensitive. Prefixes 'stax' and 'idam' are not allowed. maxLength: 64, minLength: 1, pattern: ^[\w+=,.@-]+$
Tags Tags false none Tags dictionary. Key must be <= 100 characters. Value <= 256. Pattern: ^[\w\s.:/=+-@]+$ -

Error

{
  "Code": 0,
  "Message": "string"
}

Properties

Name Type Required Restrictions Description Validation
Code integer(int32) true none Error code none
Message string true none Error message none

ErrorResponse

{
  "Error": {
    "Code": 0,
    "Message": "string"
  }
}

Properties

Name Type Required Restrictions Description Validation
Error Error true none none -

ID

"12345678-1234-1234-1234-123456789012"

Properties

Name Type Required Restrictions Description Validation
anonymous string(uuid) false none none maxLength: 36, minLength: 36, pattern: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

ListAWSManagedPolicies

{
  "AWSManagedPolicies": [
    {
      "Arn": "string",
      "AttachmentCount": 0,
      "CreateDate": "2019-08-24T14:15:22Z",
      "DefaultVersionId": "string",
      "IsAttachable": true,
      "Path": "string",
      "PermissionsBoundaryUsageCount": 0,
      "PolicyId": "string",
      "PolicyName": "string",
      "UpdateDate": "2019-08-24T14:15:22Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
AWSManagedPolicies [AWSManagedPolicyRecord] true none none none

ListAssignmentRecords

{
  "Assignments": [
    {
      "AccountTypeId": "12345678-1234-1234-1234-123456789012",
      "CreatedBy": "12345678-1234-1234-1234-123456789012",
      "CreatedTS": "2019-08-24T14:15:22Z",
      "GroupId": "12345678-1234-1234-1234-123456789012",
      "Id": "12345678-1234-1234-1234-123456789012",
      "ModifiedBy": "string",
      "ModifiedTS": "2019-08-24T14:15:22Z",
      "PermissionSetId": "12345678-1234-1234-1234-123456789012",
      "Status": "CREATE_REQUESTED"
    }
  ],
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  }
}

Properties

Name Type Required Restrictions Description Validation
Assignments AssignmentRecords true none none -
Paging Paging false none none -

ListPermissionSets

{
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  },
  "PermissionSets": [
    {
      "AWSManagedPolicies": [
        {
          "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
        }
      ],
      "CreatedBy": "string",
      "CreatedTS": "2019-08-24T14:15:22Z",
      "Description": "Custom Permission Set",
      "Id": "12345678-1234-1234-1234-123456789012",
      "InlinePolicies": [
        {
          "Name": "string",
          "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
        }
      ],
      "MaxSessionDuration": 3600,
      "ModifiedBy": "string",
      "ModifiedTS": "2019-08-24T14:15:22Z",
      "Name": "myPermissionSetName",
      "Status": "ACTIVE",
      "Tags": {
        "CostCode": "12345"
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Paging Paging false none none -
PermissionSets [PermissionSetRecord] true none none none

ListRoles

{
  "Paging": {
    "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
  },
  "Roles": [
    {
      "AWSAccountId": "string",
      "AssignmentId": "12345678-1234-1234-1234-123456789012",
      "DeploymentId": "12345678-1234-1234-1234-123456789012",
      "PermissionSetId": "12345678-1234-1234-1234-123456789012",
      "RoleArn": "arn:aws:iam::123456789012:role/staxid/myPermissionSetName",
      "RoleName": "myPermissionSetName",
      "Status": "ACTIVE"
    }
  ]
}

Properties

Name Type Required Restrictions Description Validation
Paging Paging false none none -
Roles [RoleRecord] true none none none

Paging

{
  "NextToken": "ThlNjc5MjUwNDMzMAThlNjc5MjUwNDMzMA"
}

Properties

Name Type Required Restrictions Description Validation
NextToken string¦null false none Pagination - The token value for requesting the next page to fetch. minLength: 1

PermissionSetAWSManagedPolicy

{
  "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
}

Properties

Name Type Required Restrictions Description Validation
PolicyArn string true none none minLength: 1

PermissionSetInlinePolicy

{
  "Name": "string",
  "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
}

Properties

Name Type Required Restrictions Description Validation
Name string true none none maxLength: 128, minLength: 1, pattern: ^[\w+=,.@-]+$
Policy string true none none minLength: 1

PermissionSetRecord

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "CreatedBy": "string",
  "CreatedTS": "2019-08-24T14:15:22Z",
  "Description": "Custom Permission Set",
  "Id": "12345678-1234-1234-1234-123456789012",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "ModifiedBy": "string",
  "ModifiedTS": "2019-08-24T14:15:22Z",
  "Name": "myPermissionSetName",
  "Status": "ACTIVE",
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AWSManagedPolicies [PermissionSetAWSManagedPolicy]¦null false none none maxItems: 10
CreatedBy string true none Stax User ID of the user that created the resource none
CreatedTS string(date-time) true none none none
Description string false none none maxLength: 1000, pattern: ^[\w\s\/+=,.@-]+$
Id ID true none none -
InlinePolicies [PermissionSetInlinePolicy]¦null false none none maxItems: 10
MaxSessionDuration integer false none none maximum: 43200, minimum: 3600
ModifiedBy string false none Stax User ID of the user that last modified the resource none
ModifiedTS string(date-time) false none The timestamp of when the last modification was made none
Name string true none none maxLength: 64, minLength: 1, pattern: ^[\w+=,.@-]+$
Status PermissionSetStatus true none none -
Tags Tags false none Tags dictionary. Key must be <= 100 characters. Value <= 256. Pattern: ^[\w\s.:/=+-@]+$ -

PermissionSetStatus

"ACTIVE"

Properties

Name Type Required Restrictions Description Validation
anonymous string false none none none

Enumerated Values

Property Value
anonymous ACTIVE
anonymous DELETED

RoleRecord

{
  "AWSAccountId": "string",
  "AssignmentId": "12345678-1234-1234-1234-123456789012",
  "DeploymentId": "12345678-1234-1234-1234-123456789012",
  "PermissionSetId": "12345678-1234-1234-1234-123456789012",
  "RoleArn": "arn:aws:iam::123456789012:role/staxid/myPermissionSetName",
  "RoleName": "myPermissionSetName",
  "Status": "ACTIVE"
}

Properties

Name Type Required Restrictions Description Validation
AWSAccountId string true none none none
AssignmentId ID true none none -
DeploymentId ID true none none -
PermissionSetId ID true none none -
RoleArn string true none none none
RoleName string true none none pattern: ^[\w+=,.@-]+$
Status string true none none none

Enumerated Values

Property Value
Status ACTIVE
Status UPDATE_IN_PROGRESS

Tags

{
  "CostCode": "12345"
}

Tags dictionary. Key must be <= 100 characters. Value <= 256. Pattern: ^[\w\s.:/=+-@]+$

Properties

Name Type Required Restrictions Description Validation
additionalProperties string false none none none

UpdatePermissionSetRecord

{
  "AWSManagedPolicies": [
    {
      "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess"
    }
  ],
  "Description": "Custom Permission Set",
  "InlinePolicies": [
    {
      "Name": "string",
      "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"
    }
  ],
  "MaxSessionDuration": 3600,
  "Tags": {
    "CostCode": "12345"
  }
}

Properties

Name Type Required Restrictions Description Validation
AWSManagedPolicies [PermissionSetAWSManagedPolicy] false none none maxItems: 10
Description string false none none maxLength: 1000, pattern: ^[\w\s\/+=,.@-]+$
InlinePolicies [PermissionSetInlinePolicy] false none none maxItems: 10
MaxSessionDuration integer false none none maximum: 43200, minimum: 3600
Tags Tags false none Tags dictionary. Key must be <= 100 characters. Value <= 256. Pattern: ^[\w\s.:/=+-@]+$ -