diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 91fd933..d1d1d5f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,14 +9,17 @@ on:
jobs:
build:
name: Compile and Test 🔨
+ strategy:
+ matrix:
+ python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
runs-on: ubuntu-latest
steps:
- name: Clone Repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # 4.1.6
- - name: Setup Python 3.9
+ - name: Setup Python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # 5.1.0
with:
- python-version: '3.9'
+ python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: make install
- name: Run tests
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index b9a75af..180e9fe 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -3,4 +3,4 @@ repos:
rev: stable
hooks:
- id: black
- language_version: python3.6
+ language_version: python3.9
diff --git a/Makefile b/Makefile
index a31785d..ebdb78e 100644
--- a/Makefile
+++ b/Makefile
@@ -26,15 +26,14 @@ install:
lint: install
${ISORT} --diff staxapp/*.py
- ${BLACK} -t py37 --check --diff staxapp/
+ ${BLACK} -t py39 --check --diff staxapp/
format:
${ISORT} --apply staxapp/*.py
- ${BLACK} -t py37 staxapp/*.py
- ${BLACK} -t py37 staxapp/data/*.json
+ ${BLACK} -t py39 staxapp/*.py
download-schema:
- curl --fail --compressed -s -o staxapp/data/schema.json https://api.au1.staxapp.cloud/20190206/public/api-document
+ curl --fail --compressed -s -o staxapp/data/schema.json https://api.au1.staxapp.cloud/20190206/public/oas3-document
bundle-test: install
diff --git a/pyproject.toml b/pyproject.toml
index 0e45ce4..0e7fe95 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.black]
line-length = 88
-target-version = ['py36', 'py37']
+target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
include = '\.pyi?$'
exclude = '''
/(
diff --git a/requirements.txt b/requirements.txt
index aca013e..4de3632 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,7 +9,8 @@ pytest
pytest-cov
responses
requests
+setuptools
pyjwt
boto3
aws_requests_auth
-openapi-spec-validator==0.2.9
\ No newline at end of file
+openapi-spec-validator
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 3880c37..d09a759 100755
--- a/setup.py
+++ b/setup.py
@@ -35,7 +35,7 @@ def get_version():
include_package_data=True,
package_data={"staxapp": ["data/*.json"]},
zip_safe=False,
- python_requires=">=3.6",
+ python_requires=">=3.9",
project_urls={"GitHub": "https://github.com/stax-labs/lib-stax-python-sdk"},
classifiers=[
'Development Status :: 4 - Beta',
@@ -44,9 +44,10 @@ def get_version():
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
+ 'Programming Language :: Python :: 3.11',
+ 'Programming Language :: Python :: 3.12',
+ 'Programming Language :: Python :: 3.13',
],
)
diff --git a/staxapp/__init__.py b/staxapp/__init__.py
index 9c73af2..f708a9b 100644
--- a/staxapp/__init__.py
+++ b/staxapp/__init__.py
@@ -1 +1 @@
-__version__ = "1.3.1"
+__version__ = "1.3.2"
diff --git a/staxapp/config.py b/staxapp/config.py
index d0f7520..fb575f4 100644
--- a/staxapp/config.py
+++ b/staxapp/config.py
@@ -132,7 +132,7 @@ def branch(cls):
@classmethod
def schema_url(cls):
- return f"https://{cls.hostname}/{cls.API_VERSION}/public/api-document"
+ return f"https://{cls.hostname}/{cls.API_VERSION}/public/oas3-document"
@classmethod
def get_auth_class(cls):
diff --git a/staxapp/contract.py b/staxapp/contract.py
index b733f59..8885335 100644
--- a/staxapp/contract.py
+++ b/staxapp/contract.py
@@ -1,7 +1,6 @@
import json
import logging
import os
-from contextlib import suppress
import requests
from jsonschema import validate as json_validate
@@ -53,7 +52,7 @@ def validate(cls, data, component):
@staticmethod
def default_swagger_template() -> dict:
- # Get the default swagger template from https://api.au1.staxapp.cloud/20190206/public/api-document
+ # Get the default swagger template from https://api.au1.staxapp.cloud/20190206/public/oas3-document
schema_response = requests.get(Config.GetDefaultConfig().schema_url()).json()
template = dict(
openapi="3.0.0",
diff --git a/staxapp/data/schema.json b/staxapp/data/schema.json
index 1b1885a..5b38371 100644
--- a/staxapp/data/schema.json
+++ b/staxapp/data/schema.json
@@ -1,11174 +1,20611 @@
{
- "components": {
- "requestBodies": {},
- "responses": {},
- "schemas": {
- "Account": {
- "properties": {
- "AWSLoginURLs": {
- "properties": {
- "admin": {
- "type": "string"
- },
- "developer": {
- "type": "string"
- },
- "readonly": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "AccountType": {
- "type": "string"
- },
- "AllocatedTS": {
- "description": "Allocated timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "AssuranceState": {
- "description": "Hardening state of the Account.",
- "enum": [
- "NONE",
- "UPDATING",
- "ACTIVE",
- "ERROR"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "AssuranceStateReason": {
- "description": "Descriptive reason for the current AssuranceState.",
- "example": "AWS GuardDuty Hardening has failed",
- "readOnly": true,
- "type": "string"
- },
- "AwsAccountId": {
- "description": "AWS Account Id.",
- "example": "012345678901",
- "maxLength": 12,
- "minLength": 12,
- "readOnly": true,
- "type": "string"
- },
- "AwsAccountStatusId": {
- "type": "string"
- },
- "AwsLoginURL": {
- "type": "string"
- },
- "CreatedBy": {
- "description": "UUID of the account creator.",
- "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "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}",
- "readOnly": true,
- "type": "string"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Email": {
- "description": "Email address of account owner.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "LatestCost": {
- "example": 72.52,
- "readOnly": true,
- "type": "number"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2019-03-11T01:11:40.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Account.",
- "example": "bakery",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "OrgsOuId": {
- "type": "string"
- },
- "Origin": {
- "description": "Origin of the Account.",
- "enum": [
- "STAX",
- "External"
- ],
- "example": "STAX",
- "readOnly": true,
- "type": "string"
- },
- "Status": {
- "description": "Status of the Account.",
- "enum": [
- "ACTIVE",
- "AWSERROR",
- "CLOSED",
- "DISCOVERED",
- "ERROR",
- "INITIALIZING",
- "MAINTENANCE",
- "NEW",
- "NOAWS",
- "SUSPENDED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "StaxCreated": {
- "type": "boolean"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "required": [
- "OrganisationId",
- "Name"
- ],
- "type": "object"
- },
- "AccountTask": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseTask"
- }
- ],
- "properties": {
- "Accounts": {
- "items": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "AccountType": {
- "properties": {
- "Accounts": {
- "example": [],
- "type": "array"
- },
- "CreatedBy": {
- "description": "UUID of the account creator.",
- "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "nullable": true,
- "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}",
- "readOnly": true,
- "type": "string"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of Account Type.",
- "example": "Development",
- "maxLength": 64,
- "minLength": 3,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Policies": {
- "example": [],
- "type": "array"
- },
- "Roles": {
- "example": [],
- "type": "array"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "example": "ACTIVE"
- },
- "StaxCreated": {
- "type": "boolean"
- }
- },
- "required": [
- "OrganisationId",
- "Name"
- ],
- "type": "object"
- },
- "AccountTypeAccessMap": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "AccountTypeId",
- "GroupId",
- "RoleName"
- ]
- },
- {
- "required": [
- "AccountTypeName",
- "GroupId",
- "RoleName"
- ]
- },
- {
- "required": [
- "AccountTypeId",
- "GroupName",
- "RoleName"
- ]
- },
- {
- "required": [
- "AccountTypeName",
- "GroupName",
- "RoleName"
- ]
- }
- ],
- "properties": {
- "AccountTypeId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AccountTypeName": {
- "type": "string"
- },
- "GroupId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "GroupName": {
- "type": "string"
- },
- "RoleName": {
- "$ref": "#\/components\/schemas\/AwsAccessRole"
- }
- },
- "type": "object"
- },
- "AccountTypeMemberMap": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "AccountTypeId",
- "AccountId"
- ]
- },
- {
- "required": [
- "AccountTypeName",
- "AccountId"
- ]
- }
- ],
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AccountTypeId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AccountTypeName": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "AccountTypePolicyMap": {
- "additionalProperties": false,
- "anyOf": [
- {
- "required": [
- "AccountTypeId",
- "PolicyId"
- ]
- },
- {
- "required": [
- "AccountTypeName",
- "PolicyId"
- ]
- }
- ],
- "properties": {
- "AccountTypeId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AccountTypeName": {
- "type": "string"
- },
- "PolicyId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "type": "object"
- },
- "Alias": {
- "properties": {
- "Alias": {
- "properties": {
- "Status": {
- "enum": [
- "The company alias provided is available",
- "The company alias provided is already in use by another customer and cannot be used"
- ],
- "example": "The company alias provided is available",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "AliasInUse": {
- "properties": {
- "Alias": {
- "properties": {
- "Status": {
- "enum": [
- "The company alias provided is available",
- "The company alias provided is already in use by another customer and cannot be used"
- ],
- "example": "The company alias provided is already in use by another customer and cannot be used",
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "ApiRole": {
- "description": "Stax role assigned to an API Token.",
- "enum": [
- "api_admin",
- "api_user",
- "api_readonly"
- ],
- "type": "string"
- },
- "AwsAccessRole": {
- "description": "AWS access roles enabled for an account type.",
- "enum": [
- "admin",
- "developer",
- "readonly"
- ],
- "type": "string"
- },
- "AwsRegion": {
- "description": "AWS Region",
- "enum": [
- "ap-northeast-1",
- "ap-northeast-2",
- "ap-south-1",
- "ap-southeast-1",
- "ap-southeast-2",
- "ca-central-1",
- "eu-central-1",
- "eu-north-1",
- "eu-west-1",
- "eu-west-2",
- "eu-west-3",
- "sa-east-1",
- "us-east-1",
- "us-east-2",
- "us-west-1",
- "us-west-2"
- ],
- "type": "string"
- },
- "BaseEvent": {
- "properties": {
- "DetailType": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "BaseEventDetail": {
- "properties": {
- "Message": {
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OperationStatus": {
- "$ref": "#\/components\/schemas\/OperationStatus"
- },
- "Severity": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "BaseTask": {
- "properties": {
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Status": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CidrExclusion": {
- "additionalProperties": false,
- "properties": {
- "Cidr": {
- "description": "CIDR Range in quad dot notation.",
- "example": "10.128.0.0\/19",
- "type": "string"
- },
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Longer description of what the CIDR Exclusion is used for.",
- "example": "datacenter exclusion",
- "maxLength": 512,
- "minLength": 0,
- "type": "string"
- }
- ]
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Exclusion.",
- "example": "non-prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NetworkingHubId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Status": {
- "description": "The status of the CIRD Exclusion.",
- "enum": [
- "ACTIVE",
- "DELETED",
- "CREATE_FAILED",
- "DELETE_FAILED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "Cidr"
- ],
- "type": "object"
- },
- "CidrRange": {
- "properties": {
- "Cidr": {
- "description": "CIDR Range in quad dot notation. This range is a private network range with a size between \/8 to \/23",
- "example": "10.128.0.0\/23",
- "type": "string"
- },
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "DefaultCidrRange": {
- "description": "Boolean value declaring if the range is the default CIDR Range",
- "example": false,
- "type": "boolean"
- },
- "Description": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Longer description of what the CIDR Range is used for.",
- "example": "datacenter ranges",
- "maxLength": 512,
- "minLength": 0,
- "type": "string"
- }
- ]
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "LastAllocationTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Range.",
- "example": "non-prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NetworkingHubId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Status": {
- "description": "The status of the CIDR Range.",
- "enum": [
- "ACTIVE",
- "DELETED",
- "CREATE_FAILED",
- "DELETE_FAILED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "Cidr"
- ],
- "type": "object"
- },
- "Config": {
- "properties": {
- "API": {
- "properties": {
- "endpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/ConfigEndpoint"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "Analytics": {
- "properties": {
- "disable": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ApiAuth": {
- "properties": {
- "identityPoolId": {
- "type": "string"
- },
- "mandatorySignIn": {
- "type": "boolean"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "userPoolId": {
- "type": "string"
- },
- "userPoolWebClientId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "AppSync": {
- "properties": {
- "analytics": {
- "properties": {
- "endpoint": {
- "type": "string"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- }
- },
- "type": "object"
- },
- "core": {
- "properties": {
- "endpoint": {
- "type": "string"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- }
- },
- "type": "object"
- },
- "graphqlEndpoint": {
- "type": "string"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- }
- },
- "type": "object"
- },
- "Auth": {
- "properties": {
- "identityPoolId": {
- "type": "string"
- },
- "mandatorySignIn": {
- "type": "boolean"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "userPoolId": {
- "type": "string"
- },
- "userPoolWebClientId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Juma": {
- "properties": {
- "controlplaneRegion": {
- "type": "string"
- },
- "domainName": {
- "type": "string"
- },
- "fullDomainName": {
- "type": "string"
- },
- "stage": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "JumaAuth": {
- "properties": {
- "identityPoolId": {
- "type": "string"
- },
- "mandatorySignIn": {
- "type": "boolean"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "userPoolId": {
- "type": "string"
- },
- "userPoolWebClientId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Sentry": {
- "properties": {
- "dsn": {
- "type": "string"
- },
- "projectName": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Zone": {
- "properties": {
- "key": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "required": [
- "Auth",
- "API"
- ],
- "type": "object"
- },
- "ConfigEndpoint": {
- "properties": {
- "endpoint": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- }
- },
- "type": "object"
- },
- "CreateCatalogueDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "TraceId": {
- "type": "string"
- },
- "WorkloadCatalogueItem": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "Name": {
- "description": "Name of the Workload Catalogue Item to create.",
- "example": "my-directory-service",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "Version": {
- "example": "0.01",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "CreateCatalogueEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "$ref": "#\/components\/schemas\/CreateCatalogueDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CreatePolicyDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Policy": {
- "properties": {
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Description": {
- "description": "Description of the Policy.",
- "example": "A service control policy that denies access to all.",
- "maxLength": 1024,
- "minLength": 3,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Policy.",
- "example": "DenyAll",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Policy": {
- "type": "string"
- },
- "PolicyId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "CreatePolicyEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/CreatePolicyDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "CreateVersionDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "TraceId": {
- "type": "string"
- },
- "WorkloadCatalogueItem": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "ManifestBody": {
- "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
- "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3:\/\/{JumaArtifactBucket}\/workload-vpc\/vpc-2-tier-no-NAT.yml\n",
- "type": "string"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Version": {
- "example": "0.01",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "CreateVersionEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "$ref": "#\/components\/schemas\/CreateVersionDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "CreateWorkloadDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Workload": {
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Region": {
- "description": "AWS Region the workload will be launched in",
- "example": "us-east-1",
- "maxLength": 32,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "TraceId": {
- "type": "string"
- },
- "WorkloadId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "CreateWorkloadEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/CreateWorkloadDetail"
- },
- "WorkloadId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "Customer": {
- "properties": {
- "CognitoUserId": {
- "description": "Cognito User unique identifier.",
- "example": "my-user-id",
- "readOnly": true,
- "type": "string"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Email": {
- "description": "Email address of the User.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "type": "string"
- },
- "FactoryVersion": {
- "$ref": "#\/components\/schemas\/GitHash"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Account.",
- "example": "My Business",
- "maxLength": 64,
- "minLength": 3,
- "type": "string"
- },
- "Status": {
- "description": "Status of the Customer.",
- "enum": [
- "PROSPECT",
- "NEW",
- "INITIALIZING",
- "ACTIVE",
- "SUSPENDED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "SupportPlan": {
- "description": "Stax Support Plan allocated to the Customer.",
- "enum": [
- "BASIC",
- "BUSINESS",
- "ENTERPRISE"
- ],
- "example": "BUSINESS",
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "required": [
- "Name",
- "Email"
- ],
- "type": "object"
- },
- "DNSResolver": {
- "additionalProperties": false,
- "properties": {
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "InboundIpAddresses": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The IP Addresses attached to the Inbound DNS Resolver.",
- "example": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- ]
- },
- "Interfaces": {
- "description": "The number of ENIs to attach to the DNS Resolvers.",
- "example": 2,
- "type": "integer"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Stax DNS Resolvers.",
- "example": "dns",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NetworkingHubId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "OutboundIpAddresses": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The IP Addresses attached to the Outbound DNS Resolver.",
- "example": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- ]
- },
- "Status": {
- "description": "The status of the Stax DNS Resolvers.",
- "enum": [
- "ACTIVE",
- "CREATE_IN_PROGRESS",
- "CREATE_FAILED",
- "DELETE_IN_PROGRESS",
- "DELETED",
- "DELETE_FAILED",
- "UPDATE_IN_PROGRESS"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- }
- },
- "required": [
- "Name",
- "NetworkingHubId",
- "Interfaces"
- ],
- "type": "object"
- },
- "DNSRule": {
- "additionalProperties": false,
- "properties": {
- "AwsRuleId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The AWS Route53 Resolver Rule Id.",
- "readOnly": true,
- "type": "string"
- }
- ]
- },
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "DnsResolverId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "DomainName": {
- "description": "Domain name to forward DNS queries for.",
- "example": "test.local",
- "maxLength": 128,
- "minLength": 2,
- "type": "string"
- },
- "ForwarderIpAddresses": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The IP Addresses to forward DNS queries to.",
- "example": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- ]
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of Stax DNS Rule.",
- "example": "on-premises",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Status": {
- "description": "The status of the Stax DNS Rule.",
- "enum": [
- "ACTIVE",
- "CREATE_IN_PROGRESS",
- "CREATE_FAILED",
- "DELETE_IN_PROGRESS",
- "DELETED",
- "DELETE_FAILED",
- "UPDATE_IN_PROGRESS"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- }
- },
- "required": [
- "Name",
- "DomainName",
- "DnsResolverId"
- ],
- "type": "object"
- },
- "DeleteCatalogueDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "AdditionalMetaData": {
- "properties": {
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Workload Catalogue Item to create.",
- "example": "my-directory-service",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Protection": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Status": {
- "description": "Status of the Workload.",
- "enum": [
- "NEW",
- "UPLOADING",
- "VALIDATING",
- "ACTIVE",
- "DELETED",
- "FAILED"
- ],
- "example": "NEW",
- "readOnly": true,
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "TraceId": {
- "type": "string"
- },
- "WorkloadCatalogueItem": {
- "$ref": "#\/components\/schemas\/Operation"
- }
- },
- "type": "object"
- },
- "DeleteCatalogueEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "$ref": "#\/components\/schemas\/DeleteCatalogueDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DeletePolicyDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Policy": {
- "properties": {
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "PolicyId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "DeletePolicyEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/DeletePolicyDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "DeleteVersionDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "AdditionalMetaData": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Outputs": {
- "items": {
- "example": "bread",
- "type": "string"
- },
- "nullable": true,
- "readOnly": true,
- "type": "array"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Status": {
- "description": "Status of the Workload.",
- "enum": [
- "NEW",
- "UPLOADING",
- "VALIDATING",
- "ACTIVE",
- "DELETED",
- "FAILED"
- ],
- "example": "NEW",
- "readOnly": true,
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "WorkloadCatalogueName": {
- "description": "Name of the Workload Catalogue Item to create.",
- "example": "my-directory-service",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "WorkloadVersion": {
- "example": "0.01",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "TraceId": {
- "type": "string"
- },
- "WorkloadCatalogueVersion": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "DeleteVersionEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "$ref": "#\/components\/schemas\/DeleteVersionDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DeleteWorkloadDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Workload": {
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Region": {
- "description": "AWS Region the workload will be launched in",
- "example": "us-east-1",
- "maxLength": 32,
- "type": "string"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "TraceId": {
- "type": "string"
- },
- "WorkloadId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "DeleteWorkloadEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/DeleteWorkloadDetail"
- }
- },
- "type": "object"
- },
- "Error": {
- "properties": {
- "Cause": {
- "type": "string"
- },
- "Error": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "GetTasks": {
- "properties": {
- "Tasks": {
- "$ref": "#\/components\/schemas\/Task"
- }
- },
- "type": "object"
- },
- "GitHash": {
- "example": "f8cf81b",
- "maxLength": 7,
- "minLength": 7,
- "readOnly": true,
- "type": "string"
- },
- "Group": {
- "properties": {
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Group.",
- "example": "DevOps",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Status": {
- "description": "Status of the Group.",
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "example": "ACTIVE",
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Users": {
- "description": "Array of IDs of Users belonging to the Group.",
- "items": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "type": "array"
- }
- },
- "required": [
- "Id",
- "Name"
- ],
- "type": "object"
- },
- "IdamUser": {
- "properties": {
- "id": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "required": [
- "id"
- ],
- "type": "object"
- },
- "NetworkingHub": {
- "additionalProperties": false,
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Asn": {
- "description": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session",
- "example": 64512,
- "type": "integer"
- },
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Longer description of what the Stax Networking Hub is used for.",
- "example": "my-hub",
- "maxLength": 512,
- "minLength": 0,
- "type": "string"
- }
- ]
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "InterfaceEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/interface-endpoint"
- },
- "type": "array"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of Stax Networking Hub.",
- "example": "non-prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "PhzSuffix": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
- "example": "my-domain.cloud",
- "type": "string"
- }
- ]
- },
- "Region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "Status": {
- "description": "The status of the Stax Networking Hub.",
- "enum": [
- "ACTIVE",
- "CREATE_IN_PROGRESS",
- "CREATE_FAILED",
- "DELETE_IN_PROGRESS",
- "DELETED",
- "DELETE_FAILED",
- "UPDATE_IN_PROGRESS"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- }
- },
- "required": [
- "Name",
- "AccountId",
- "Region"
- ],
- "type": "object"
- },
- "Operation": {
- "enum": [
- "CREATE",
- "READ",
- "UPDATE",
- "DELETE",
- "accounts:CreateAccount",
- "accounts:CreateAccountType",
- "accounts:DiscoverAccounts",
- "accounts:DeleteAccountType",
- "accounts:ReadAccountTypes",
- "accounts:ReadAccounts",
- "accounts:UpdateAccount",
- "accounts:UpdateAccountType",
- "accounts:UpdateAccountTypeAccess",
- "accounts:UpdateAccountTypeMembers",
- "accounts:UpdatePolicies",
- "organisations:AttachPolicy",
- "organisations:CreatePolicy",
- "organisations:DeletePolicy",
- "organisations:DetachPolicy",
- "organisations:ReadPolicies",
- "organisations:UpdatePolicy",
- "teams:CreateApiToken",
- "teams:CreateGroup",
- "teams:CreateUser",
- "teams:DeleteApiToken",
- "teams:DeleteGroup",
- "teams:DeleteUser",
- "teams:ReadApiTokens",
- "teams:ReadGroups",
- "teams:ReadUsers",
- "teams:UpdateApiToken",
- "teams:UpdateGroup",
- "teams:UpdateGroupMembers",
- "teams:UpdateUser",
- "teams:UpdateUserPassword",
- "workloads:CreateCatalogueItem",
- "workloads:CreateCatalogueVersion",
- "workloads:CreateWorkload",
- "workloads:DeleteCatalogueItem",
- "workloads:DeleteCatalogueVersion",
- "workloads:DeleteWorkload",
- "workloads:ReadWorkloadCatalogueItems",
- "workloads:ReadWorkloads",
- "workloads:UpdateWorkload",
- "networking:CreateHub",
- "networking:UpdateHub",
- "networking:DeleteHub",
- "networking:CreateVpc",
- "networking:UpdateVpc",
- "networking:DeleteVpc",
- "networking:CreateDnsResolver",
- "networking:UpdateDnsResolver",
- "networking:DeleteDnsResolver",
- "networking:CreateDnsRule",
- "networking:UpdateDnsRule",
- "networking:DeleteDnsRule"
- ],
- "type": "string"
- },
- "OperationStatus": {
- "enum": [
- "STARTED",
- "RUNNING",
- "SUCCEEDED",
- "FAILED",
- "TIMED_OUT",
- "ABORTED"
- ],
- "type": "string"
- },
- "Organisation": {
- "properties": {
- "Alias": {
- "description": "Alias for your Organisation. This alias will be used in the URL of your Stax Identity Broker.",
- "example": "my-stax-org",
- "maxLength": 64,
- "minLength": 3,
- "type": "string"
- },
- "AllowedDomains": {
- "description": "Allowed email domains for the Organisation, this limits who can be invited to your Team.",
- "example": "@example.com,@stax.io",
- "maxLength": 64,
- "minLength": 3,
- "nullable": true,
- "type": "string"
- },
- "AttachedPolicies": {
- "items": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "readOnly": true,
- "type": "array"
- },
- "AwsAccountEmailTemplate": {
- "description": "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.",
- "example": "stax.user+${Stax::AccountId}@example.com",
- "maxLength": 64,
- "minLength": 3,
- "nullable": true,
- "type": "string"
- },
- "AwsPartnerSupport": {
- "description": "AWS Partner Led Support - if you have partner led support then Stax Support will open AWS Support cases on your behalf.",
- "type": "boolean"
- },
- "AwsSupportType": {
- "description": "Default AWS Support level set on Accounts in your Organisation.",
- "enum": [
- "BASIC",
- "DEVELOPER",
- "BUSINESS",
- "ENTERPRISE"
- ],
- "example": "ENTERPRISE",
- "readOnly": true,
- "type": "string"
- },
- "CreatedBy": {
- "anyOf": [
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- {
- "nullable": true
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ExternalStaxId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Organisation",
- "example": "default",
- "maxLength": 64,
- "minLength": 3,
- "type": "string"
- },
- "Region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "SpotlightSsoURL": {
- "readOnly": true,
- "type": "string"
- },
- "Status": {
- "description": "Status of the Organisation.",
- "enum": [
- "NEW",
- "INITIALIZING",
- "ACTIVE",
- "SUSPENDED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "Pagination": {
- "description": "Pagination metadata. Present when limit and offset parameters are supplied.",
- "properties": {
- "NextOffset": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Offset value to provide to retrieve the next set of items. Null when there are no more pages to fetch.",
- "example": 20,
- "type": "number"
- }
- ]
- },
- "PrevOffset": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Offset value to provide to retrieve the previous set of items. Null when the first page is returned.",
- "example": null,
- "type": "number"
- }
- ]
- },
- "Total": {
- "description": "Total number of items in the full pagination set after filters are applied.",
- "example": 100,
- "type": "number"
- }
- },
- "required": [
- "Total",
- "NextOffset",
- "PrevOffset"
- ],
- "type": "object"
- },
- "Parameter": {
- "example": {
- "Key": "Bread",
- "Value": "Croissant"
- },
- "nullable": true,
- "properties": {
- "Key": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "oneOf": [
- {
- "maxLength": 4096,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "integer"
- }
- ]
- }
- },
- "type": "object"
- },
- "Policy": {
- "properties": {
- "AttachableTo": {
- "description": "Whether a policy is org only or account type only, or both",
- "enum": [
- "ORG",
- "ACCOUNT_TYPE",
- "ANY"
- ],
- "example": "ANY",
- "readOnly": false,
- "type": "string"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Description of the Policy.",
- "example": "A service control policy that denies access to all.",
- "maxLength": 1024,
- "minLength": 3,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Mandatory": {
- "description": "Boolean value declaring if the policy is mandatory or not.",
- "example": false,
- "type": "boolean"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Policy.",
- "example": "DenyAll",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Policy": {
- "type": "string"
- },
- "Public": {
- "description": "Boolean value declaring if the policy is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Status": {
- "description": "Status of the policy.",
- "enum": [
- "ACTIVE",
- "DELETED",
- "FAILED"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "Resource": {
- "properties": {
- "ResourceId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ResourceType": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Role": {
- "description": "Stax role assigned to user.",
- "enum": [
- "customer_root",
- "customer_admin",
- "customer_user",
- "customer_readonly"
- ],
- "example": "customer_admin",
- "type": "string"
- },
- "StaxEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Details": {
- "$ref": "#\/components\/schemas\/TaskEventDetail"
- }
- }
- },
- "Tags": {
- "anyOf": [
- {
- "additionalProperties": {
- "type": "string"
- },
- "maxProperties": 100,
- "minProperties": 1,
- "type": "object"
- },
- {
- "nullable": true
- }
- ],
- "example": {
- "CostCode": "12345"
- }
- },
- "Task": {
- "$ref": "#\/components\/schemas\/WorkloadTask"
- },
- "TaskEventDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- }
- },
- "TraceEventDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "TraceId": {
- "type": "string"
- }
- }
- },
- "UpdateCatalogueDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "TraceId": {
- "type": "string"
- },
- "WorkloadCatalogueItem": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Version": {
- "example": "0.01",
- "readOnly": true,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "UpdateCatalogueEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "$ref": "#\/components\/schemas\/UpdateCatalogueDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UpdatePolicyDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Policy": {
- "properties": {
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "description": "Name of the Policy.",
- "example": "DenyAll",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "PolicyId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "UpdatePolicyEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/UpdatePolicyDetail"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "UpdateWorkloadDetail": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEventDetail"
- }
- ],
- "properties": {
- "Workload": {
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrgId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Region": {
- "description": "AWS Region the workload will be launched in",
- "example": "us-east-1",
- "maxLength": 32,
- "type": "string"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "TraceId": {
- "type": "string"
- },
- "WorkloadId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "UpdateWorkloadEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- }
- ],
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/UpdateWorkloadDetail"
- },
- "WorkloadId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- "User": {
- "properties": {
- "AuthOrigin": {
- "example": "idam",
- "readOnly": true,
- "type": "string"
- },
- "CreatedBy": {
- "oneOf": [
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- {
- "nullable": true
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "CustomerId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Description": {
- "example": "Marketing User",
- "nullable": true,
- "type": "string"
- },
- "Email": {
- "description": "Email address of User.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "readOnly": true,
- "type": "string"
- },
- "FirstName": {
- "oneOf": [
- {
- "description": "Given Name of the User.",
- "example": "John",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- {
- "nullable": true
- }
- ]
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "LastName": {
- "oneOf": [
- {
- "description": "Family Name of the User.",
- "example": "Doe",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- {
- "nullable": true
- }
- ]
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Concatenation of first and last name. Defaults to email address if neither are present.",
- "example": "John Doe",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "PhoneNumber": {
- "description": "Phone number of User in E.164 format.",
- "example": "+61491570006",
- "nullable": true,
- "pattern": "^\\+[1-9]\\d{4,14}$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/Role"
- },
- "Status": {
- "description": "Status of the User.",
- "enum": [
- "ACTIVE",
- "DISABLED",
- "DELETED",
- "INVITED",
- "NEW"
- ],
- "example": "ACTIVE",
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "required": [
- "Id",
- "Email",
- "Name",
- "OrganisationId"
- ],
- "type": "object"
- },
- "UserGroupMemberMap": {
- "additionalProperties": false,
- "properties": {
- "GroupId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "UserId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "type": "object"
- },
- "UserTask": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseTask"
- }
- ],
- "properties": {
- "Users": {
- "items": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "VPC": {
- "additionalProperties": false,
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AwsVpcId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The AWS VPC ID.",
- "readOnly": true,
- "type": "string"
- }
- ]
- },
- "Cidr": {
- "description": "CIDR Range in quad dot notation. This range is a private network range with a size between \/8 to \/23",
- "example": "10.128.0.0\/23",
- "type": "string"
- },
- "CidrRangeId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CreateIgw": {
- "description": "Boolean value declaring if Internet Gateway is enabled",
- "example": true,
- "type": "boolean"
- },
- "CreateNat": {
- "description": "Boolean value declaring if NAT Gateways is enabled",
- "example": true,
- "type": "boolean"
- },
- "CreatedBy": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "Longer description of what the Stax VPC is used for.",
- "example": "VPC for my particular application",
- "maxLength": 2048,
- "minLength": 0,
- "type": "string"
- }
- ]
- },
- "GatewayEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/gateway-endpoint"
- },
- "type": "array"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of Stax VPC",
- "example": "non-prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NetworkingHubId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "PhzId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The Route53 Private Hosted Zone Id for the VPC",
- "example": "PHZAAEXAMPLE",
- "type": "string"
- }
- ]
- },
- "PhzPrefix": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
- "example": "dev",
- "type": "string"
- }
- ]
- },
- "RedundantNat": {
- "description": "Boolean value declaring if redundant NAT Gateways will be created",
- "example": false,
- "type": "boolean"
- },
- "Region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "Size": {
- "description": "Size of the VPC.",
- "enum": [
- "SMALL",
- "MEDIUM",
- "LARGE"
- ],
- "example": "SMALL",
- "type": "string"
- },
- "Status": {
- "description": "The status of the Stax VPC.",
- "enum": [
- "ACTIVE",
- "CREATE_IN_PROGRESS",
- "CREATE_FAILED",
- "DELETE_IN_PROGRESS",
- "DELETED",
- "DELETE_FAILED",
- "UPDATE_IN_PROGRESS"
- ],
- "example": "ACTIVE",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "Type": {
- "description": "Type of VPC. The Type determines what Route Tables are attached to the VPC",
- "enum": [
- "FLAT",
- "ISOLATED",
- "SHAREDSERVICES",
- "TRANSIT"
- ],
- "example": "FLAT",
- "type": "string"
- },
- "UserTaskId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- ]
- },
- "Zone": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "All 'Flat' VPCs in the same Zone can communicate to each other.",
- "example": "non-prod",
- "maxLength": 32,
- "minLength": 2,
- "type": "string"
- }
- ]
- }
- },
- "required": [
- "Name",
- "AccountId",
- "Region"
- ],
- "type": "object"
- },
- "Workload": {
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- ]
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Protection": {
- "description": "Boolean value declaring if the Workload is protected from deletion",
- "example": false,
- "type": "boolean"
- },
- "Region": {
- "description": "AWS Region the workload will be launched in",
- "example": "us-east-1",
- "maxLength": 32,
- "type": "string"
- },
- "Status": {
- "description": "Status of the Workload.",
- "enum": [
- "NEW",
- "INITIALIZING",
- "ACTIVE",
- "CREATE_FAILED",
- "DELETE_IN_PROGRESS",
- "DELETED",
- "DELETE_FAILED",
- "UPDATE_IN_PROGRESS",
- "UPDATE_FAILED",
- "UPDATE_COMPLETE"
- ],
- "example": "NEW",
- "readOnly": true,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "required": [
- "Name",
- "CatalogueId",
- "AccountId",
- "Region"
- ],
- "type": "object"
- },
- "WorkloadCatalogue": {
- "properties": {
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Workload Catalogue Item to create.",
- "example": "my-directory-service",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Protection": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Status": {
- "description": "Status of the Workload.",
- "enum": [
- "NEW",
- "UPLOADING",
- "VALIDATING",
- "ACTIVE",
- "DELETED",
- "FAILED"
- ],
- "example": "NEW",
- "readOnly": true,
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Versions": {
- "items": {
- "$ref": "#\/components\/schemas\/WorkloadCatalogueVersion"
- },
- "readOnly": true,
- "type": "array"
- }
- },
- "required": [
- "Id",
- "Versions"
- ]
- },
- "WorkloadCatalogueVersion": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Outputs": {
- "items": {
- "example": "bread",
- "type": "string"
- },
- "nullable": true,
- "readOnly": true,
- "type": "array"
- },
- "Parameters": {
- "items": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "type": "array"
- },
- "Public": {
- "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
- "example": false,
- "type": "boolean"
- },
- "Status": {
- "description": "Status of the Workload.",
- "enum": [
- "NEW",
- "UPLOADING",
- "VALIDATING",
- "ACTIVE",
- "DELETED",
- "FAILED"
- ],
- "example": "NEW",
- "readOnly": true,
- "type": "string"
- },
- "UserTaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "WorkloadVersion": {
- "example": "0.01",
- "readOnly": true,
- "type": "string"
- }
- },
- "required": [
- "Id",
- "Status",
- "ManifestURL",
- "WorkloadVersion"
- ],
- "type": "object"
- },
- "WorkloadTask": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseTask"
- }
- ],
- "properties": {
- "Workloads": {
- "items": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "accounts.CreateAccount": {
- "properties": {
- "AccountType": {
- "type": "string"
- },
- "AwsAccountId": {
- "description": "AWS Account Id.",
- "example": "012345678901",
- "maxLength": 12,
- "minLength": 12,
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Account.",
- "example": "bakery",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "AccountType"
- ],
- "type": "object"
- },
- "accounts.CreateAccountType": {
- "properties": {
- "Name": {
- "description": "Name of the Account Type.",
- "example": "Development",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- }
- },
- "required": [
- "Name"
- ],
- "type": "object"
- },
- "accounts.CreateAccountTypeResponse": {
- "properties": {
- "Detail": {
- "properties": {
- "AccountType": {
- "properties": {
- "Accounts": {
- "example": [],
- "type": "array"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "nullable": true,
- "readOnly": true,
- "type": "string"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "nullable": true,
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "example": "Development",
- "type": "string"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Policies": {
- "example": [],
- "type": "array"
- },
- "Roles": {
- "example": [],
- "type": "array"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "example": "ACTIVE"
- },
- "StaxCreated": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "Message": {
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OperationStatus": {
- "$ref": "#\/components\/schemas\/OperationStatus"
- },
- "Severity": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DetailType": {
- "type": "string"
- }
- },
- "required": [
- "Detail",
- "DetailType"
- ],
- "type": "object"
- },
- "accounts.DiscoverAccounts": {
- "type": "object"
- },
- "accounts.DiscoverAccountsResponse": {
- "allOf": [
- {
- "properties": {
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- },
- {
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/TraceEventDetail"
- }
- }
- }
- ]
- },
- "accounts.OnboardAccount": {
- "properties": {
- "AccountType": {
- "anyOf": [
- {
- "example": "Development",
- "type": "string"
- },
- {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- ]
- },
- "AwsAccountId": {
- "description": "AWS Account Id.",
- "example": "012345678901",
- "maxLength": 12,
- "minLength": 12,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Account.",
- "example": "bakery",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "AwsAccountId",
- "AccountType"
- ],
- "type": "object"
- },
- "accounts.ReadAccountTypes": {
- "properties": {
- "AccountTypes": {
- "items": {
- "$ref": "#\/components\/schemas\/AccountType"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "accounts.ReadAccounts": {
- "properties": {
- "Accounts": {
- "items": {
- "$ref": "#\/components\/schemas\/Account"
- },
- "type": "array"
- },
- "Paging": {
- "$ref": "#\/components\/schemas\/Pagination"
- }
- },
- "required": [
- "Accounts"
- ],
- "type": "object"
- },
- "accounts.UpdateAccount": {
- "properties": {
- "AccountType": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Name": {
- "description": "Name of the Account.",
- "example": "bakery",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "accounts.UpdateAccountResponse": {
- "properties": {
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Detail": {
- "properties": {
- "Account": {
- "properties": {
- "AccountName": {
- "example": "automation",
- "type": "string"
- },
- "AccountType": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "example": "automation",
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "Message": {
- "type": "string"
- },
- "Operation": {
- "$ref": "#\/components\/schemas\/Operation"
- },
- "OperationStatus": {
- "$ref": "#\/components\/schemas\/OperationStatus"
- },
- "Severity": {
- "type": "string"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "DetailType": {
- "type": "string"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "required": [
- "Detail",
- "DetailType"
- ],
- "type": "object"
- },
- "accounts.UpdateAccountType": {
- "properties": {
- "Name": {
- "description": "Name of the Account Type.",
- "example": "Development",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- }
- },
- "type": "object"
- },
- "accounts.UpdateAccountTypeAccess": {
- "properties": {
- "AddRoles": {
- "example": [
- {
- "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "RoleName": "admin"
- }
- ],
- "items": {
- "$ref": "#\/components\/schemas\/AccountTypeAccessMap"
- },
- "type": "array"
- },
- "RemoveRoles": {
- "example": [],
- "items": {
- "$ref": "#\/components\/schemas\/AccountTypeAccessMap"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "accounts.UpdateAccountTypeMembers": {
- "properties": {
- "Members": {
- "example": [
- {
- "AccountId": "B4407766-E821-450D-B7C8-9EA38B58C432",
- "AccountTypeId": "B4407766-E821-450D-B7C8-9EA38B58C432"
- }
- ],
- "items": {
- "$ref": "#\/components\/schemas\/AccountTypeMemberMap"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "accounts.UpdatePolicies": {
- "properties": {
- "AddPolicies": {
- "example": [
- {
- "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "PolicyId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc"
- }
- ],
- "items": {
- "$ref": "#\/components\/schemas\/AccountTypePolicyMap"
- },
- "type": "array"
- },
- "RemovePolicies": {
- "example": [],
- "items": {
- "$ref": "#\/components\/schemas\/AccountTypePolicyMap"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "gateway-endpoint": {
- "description": "A list of gateway vpc endpoints",
- "enum": [
- "dynamodb",
- "s3"
- ],
- "example": "s3",
- "type": "string"
- },
- "interface-endpoint": {
- "description": "A list of interface vpc endpoints",
- "enum": [
- "access-analyzer",
- "application-autoscaling",
- "appmesh-envoy-management",
- "appstream.api",
- "appstream.streaming",
- "athena",
- "autoscaling",
- "autoscaling-plans",
- "awsconnector",
- "clouddirectory",
- "cloudformation",
- "cloudtrail",
- "codebuild",
- "codecommit",
- "codepipeline",
- "config",
- "datasync",
- "ec2",
- "ec2messages",
- "ecr.api",
- "ecr.dkr",
- "ecs",
- "ecs-agent",
- "ecs-telemetry",
- "elasticfilesystem",
- "elasticfilesystem-fips",
- "elasticloadbalancing",
- "events",
- "execute-api",
- "git-codecommit",
- "glue",
- "kinesis-firehose",
- "kinesis-streams",
- "kms",
- "logs",
- "monitoring",
- "notebook",
- "qldb.session",
- "rekognition",
- "sagemaker.api",
- "sagemaker.runtime",
- "secretsmanager",
- "servicecatalog",
- "sms",
- "sns",
- "sqs",
- "ssm",
- "ssmmessages",
- "storagegateway",
- "sts",
- "transfer",
- "transfer.server",
- "workspaces"
- ],
- "example": "ec2",
- "type": "string"
- },
- "networking.CreateCidrExclusion": {
- "additionalProperties": false,
- "properties": {
- "Cidr": {
- "description": "CIDR Range in quad dot notation.",
- "example": "10.128.0.0\/19",
- "type": "string"
- },
- "Description": {
- "description": "Longer description of what the CIDR Exclusion is used for.",
- "example": "This Reservation blocks out existing legacy VPCs",
- "maxLength": 2048,
- "minLength": 0,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Exclusion.",
- "example": "legacy-vpcs",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "Cidr"
- ],
- "type": "object"
- },
- "networking.CreateCidrRange": {
- "additionalProperties": false,
- "properties": {
- "Cidr": {
- "description": "CIDR Range in quad dot notation. This range is a private network range with a size between \/8 to \/23",
- "example": "10.128.0.0\/23",
- "type": "string"
- },
- "Description": {
- "description": "Longer description of what the CIDR Range is used for.",
- "example": "CIDR Range used for team ABCD application 1234",
- "maxLength": 2048,
- "minLength": 0,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Range.",
- "example": "prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "Cidr"
- ],
- "type": "object"
- },
- "networking.CreateDnsResolver": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "description": "Name of Stax DNS Resolver.",
- "example": "dns",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NumberOfInterfaces": {
- "description": "The number of ENIs to attach to the Stax DNS Resolvers.",
- "example": 2,
- "type": "integer"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "NumberOfInterfaces"
- ],
- "type": "object"
- },
- "networking.CreateDnsRule": {
- "additionalProperties": false,
- "properties": {
- "DomainName": {
- "description": "Domain name to forward DNS queries for.",
- "example": "test.local",
- "maxLength": 128,
- "minLength": 2,
- "type": "string"
- },
- "ForwarderIpAddresses": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The IP Addresses to forward DNS queries to.",
- "example": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- ]
- },
- "Name": {
- "description": "Name of Stax DNS Rule.",
- "example": "on-premises",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "DomainName"
- ],
- "type": "object"
- },
- "networking.CreateHub": {
- "additionalProperties": false,
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "AmazonSideAsn": {
- "description": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session",
- "example": 64512,
- "maximum": 65534,
- "minimum": 64512,
- "type": "integer"
- },
- "Cidr": {
- "description": "CIDR Range in quad dot notation. This range is a private network range with a size between \/8 to \/22 for the Transit VPC",
- "example": "10.128.0.0\/22",
- "type": "string"
- },
- "CidrExclusions": {
- "items": {
- "$ref": "#\/components\/schemas\/CidrExclusion"
- },
- "type": "array"
- },
- "CidrRangeName": {
- "description": "Name of the CIDR Range where the Transit VPC lives.",
- "example": "myrange",
- "maxLength": 64,
- "minLength": 0,
- "type": "string"
- },
- "CreateInternetGateway": {
- "description": "Boolean value declaring to create an Internet Gateway",
- "example": true,
- "type": "boolean"
- },
- "CreateNatGateway": {
- "description": "Boolean value declaring to create NAT Gateways",
- "example": true,
- "type": "boolean"
- },
- "Description": {
- "description": "Longer description of what the Stax Networking Hub is used for.",
- "example": "This Hub is for a team ABCD applications",
- "maxLength": 2048,
- "minLength": 0,
- "type": "string"
- },
- "GatewayEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/gateway-endpoint"
- },
- "type": "array"
- },
- "InterfaceEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/interface-endpoint"
- },
- "type": "array"
- },
- "Name": {
- "description": "Name of Stax Networking Hub.",
- "example": "prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "PhzSuffix": {
- "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
- "example": "my-domain.cloud",
- "type": "string"
- },
- "Region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name",
- "AccountId",
- "Region",
- "Cidr",
- "CreateNatGateway",
- "CreateInternetGateway"
- ],
- "type": "object"
- },
- "networking.CreateVpc": {
- "additionalProperties": false,
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CidrRangeId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CreateInternetGateway": {
- "description": "Boolean value declaring to create an Internet Gateway",
- "example": true,
- "type": "boolean"
- },
- "Description": {
- "description": "Longer description of what the Stax VPC is used for.",
- "example": "VPC for a non-prod microservice",
- "maxLength": 2048,
- "minLength": 0,
- "type": "string"
- },
- "GatewayEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/gateway-endpoint"
- },
- "type": "array"
- },
- "Name": {
- "description": "Name of Stax VPC",
- "example": "dev-ms-customers",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "PhzPrefix": {
- "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
- "example": "dev",
- "type": "string"
- },
- "Region": {
- "$ref": "#\/components\/schemas\/AwsRegion"
- },
- "Size": {
- "description": "Size of the VPC.",
- "enum": [
- "SMALL",
- "MEDIUM",
- "LARGE"
- ],
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "Type": {
- "description": "Type of VPC. The Type determines what Route Tables are attached to the VPC",
- "enum": [
- "ISOLATED",
- "FLAT",
- "SHAREDSERVICES"
- ],
- "type": "string"
- },
- "Zone": {
- "description": "All 'Flat' VPCs in the same Zone can communicate to each other.",
- "example": "my-zone",
- "maxLength": 64,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Name",
- "CidrRangeId",
- "AccountId",
- "Region",
- "Size",
- "Type",
- "CreateInternetGateway"
- ],
- "type": "object"
- },
- "networking.ReadCidrExclusions": {
- "additionalProperties": false,
- "properties": {
- "Exclusions": {
- "items": {
- "$ref": "#\/components\/schemas\/CidrExclusion"
- },
- "type": "array"
- }
- },
- "required": [
- "Exclusions"
- ],
- "type": "object"
- },
- "networking.ReadCidrRanges": {
- "additionalProperties": false,
- "properties": {
- "Ranges": {
- "items": {
- "$ref": "#\/components\/schemas\/CidrRange"
- },
- "type": "array"
- }
- },
- "required": [
- "Ranges"
- ],
- "type": "object"
- },
- "networking.ReadDnsResolvers": {
- "additionalProperties": false,
- "properties": {
- "DnsResolvers": {
- "items": {
- "$ref": "#\/components\/schemas\/DNSResolver"
- },
- "type": "array"
- }
- },
- "required": [
- "DnsResolvers"
- ],
- "type": "object"
- },
- "networking.ReadDnsRules": {
- "additionalProperties": false,
- "properties": {
- "DnsRules": {
- "items": {
- "$ref": "#\/components\/schemas\/DNSRule"
- },
- "type": "array"
- }
- },
- "required": [
- "DnsRules"
- ],
- "type": "object"
- },
- "networking.ReadHubs": {
- "additionalProperties": false,
- "properties": {
- "Hubs": {
- "items": {
- "$ref": "#\/components\/schemas\/NetworkingHub"
- },
- "type": "array"
- }
- },
- "required": [
- "Hubs"
- ],
- "type": "object"
- },
- "networking.ReadVpcs": {
- "additionalProperties": false,
- "properties": {
- "Vpcs": {
- "items": {
- "$ref": "#\/components\/schemas\/VPC"
- },
- "type": "array"
- }
- },
- "required": [
- "Vpcs"
- ],
- "type": "object"
- },
- "networking.UpdateCidrExclusion": {
- "additionalProperties": false,
- "properties": {
- "Description": {
- "description": "Longer description of what the CIDR Exclusion is used for.",
- "maxLength": 2048,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Exclusion.",
- "example": "data-center",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "networking.UpdateCidrRange": {
- "additionalProperties": false,
- "properties": {
- "Description": {
- "description": "Longer description of what the CIDR Range is used for.",
- "example": "CIDR Range used for team ABCD application 1234",
- "maxLength": 2048,
- "type": "string"
- },
- "Name": {
- "description": "Name of the CIDR Range.",
- "example": "prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "networking.UpdateDnsResolver": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "description": "Name of Stax DNS Resolver.",
- "example": "dns",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "NumberOfInterfaces": {
- "description": "The number of ENIs to attach to the DNS Resolvers.",
- "example": 2,
- "type": "integer"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "networking.UpdateDnsRule": {
- "additionalProperties": false,
- "properties": {
- "ForwarderIpAddresses": {
- "anyOf": [
- {
- "nullable": true
- },
- {
- "description": "The IP Addresses to forward DNS queries to.",
- "example": [
- "192.168.0.1",
- "192.168.0.2"
- ],
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- ]
- },
- "Name": {
- "description": "Name of Stax DNS Rule.",
- "example": "on-premises",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "networking.UpdateHub": {
- "additionalProperties": false,
- "properties": {
- "CreateInternetGateway": {
- "description": "Boolean value declaring to create an Internet Gateway",
- "example": true,
- "type": "boolean"
- },
- "CreateNatGateway": {
- "description": "Boolean value declaring to create NAT Gateways",
- "example": true,
- "type": "boolean"
- },
- "Description": {
- "description": "Longer description of what the Stax Networking Hub is used for.",
- "example": "This Hub is for connectivity from headquaters to VPC workloads",
- "maxLength": 2048,
- "type": "string"
- },
- "InterfaceEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/interface-endpoint"
- },
- "type": "array"
- },
- "Name": {
- "description": "Name of Stax Networking Hub",
- "example": "prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "PhzSuffix": {
- "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
- "example": "my-domain.cloud",
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "networking.UpdateVpc": {
- "additionalProperties": false,
- "properties": {
- "CreateInternetGateway": {
- "description": "Boolean value declaring to create an Internet Gateway",
- "example": true,
- "type": "boolean"
- },
- "Description": {
- "description": "Longer description of what this VPC is used for.",
- "maxLength": 2048,
- "type": "string"
- },
- "GatewayEndpoints": {
- "items": {
- "$ref": "#\/components\/schemas\/gateway-endpoint"
- },
- "type": "array"
- },
- "Name": {
- "description": "Name of the Stax VPC",
- "example": "prod",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "PhzPrefix": {
- "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
- "example": "dev",
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "organisations.AttachPolicy": {
- "properties": {
- "PolicyId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "required": [
- "PolicyId"
- ],
- "type": "object"
- },
- "organisations.CreatePolicy": {
- "properties": {
- "Description": {
- "description": "Description of the Policy.",
- "example": "A service control policy that denies access to all.",
- "maxLength": 1024,
- "minLength": 3,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Policy.",
- "example": "DenyAll",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "Policy": {
- "type": "string"
- }
- },
- "required": [
- "Name",
- "Description",
- "Policy"
- ],
- "type": "object"
- },
- "organisations.ReadOrganisations": {
- "properties": {
- "Organisations": {
- "items": {
- "$ref": "#\/components\/schemas\/Organisation"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "organisations.ReadPolicies": {
- "properties": {
- "Policies": {
- "items": {
- "$ref": "#\/components\/schemas\/Policy"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "organisations.UpdatePolicy": {
- "properties": {
- "Description": {
- "description": "Description of the Policy.",
- "example": "A service control policy that denies access to all.",
- "maxLength": 1024,
- "minLength": 3,
- "type": "string"
- },
- "Name": {
- "description": "Name of the Policy.",
- "example": "DenyAll",
- "maxLength": 128,
- "minLength": 3,
- "type": "string"
- },
- "Policy": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ro-uuidv4": {
- "example": "e893d7e0-9306-11e9-bc42-526af7764f64",
- "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}",
- "readOnly": true,
- "type": "string"
- },
- "teams.CreateApiToken": {
- "additionalProperties": false,
- "properties": {
- "Description": {
- "description": "Longer description of what this Token is used for.",
- "example": "This token is for deployment pipelines in Gitlab to deploy to dev\/test environments",
- "maxLength": 1024,
- "minLength": 0,
- "type": "string"
- },
- "Name": {
- "description": "Name of API Token",
- "example": "gitlab-cicd",
- "maxLength": 64,
- "minLength": 2,
- "pattern": "^([0-9a-zA-Z_.-]+)$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/ApiRole"
- },
- "StoreToken": {
- "default": true,
- "description": "Store the Access and Secret key in SSM, in your security account.",
- "example": true,
- "type": "boolean"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "TokenKeyId": {
- "default": "alias\/stax-api-tokens",
- "description": "If you choose to store your keys in SSM, encrypt them with this KMS Key",
- "example": "alias\/my-custom-key",
- "maxLength": 128,
- "minLength": 7,
- "pattern": "^([a-zA-Z0-9:\/_-]+)$",
- "type": "string"
- }
- },
- "required": [
- "Name",
- "Role"
- ],
- "type": "object"
- },
- "teams.CreateApiTokenResponse": {
- "properties": {
- "ApiTokens": {
- "items": {
- "properties": {
- "AccessKey": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Longer description of what this Token is used for.",
- "example": "This token is for deployment pipelines in Gitlab to deploy to dev environments",
- "maxLength": 1024,
- "type": "string"
- },
- "Name": {
- "description": "Name of API Token",
- "example": "gitlab-cicd",
- "maxLength": 64,
- "minLength": 2,
- "pattern": "^([0-9a-zA-Z_.-]+)$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/ApiRole"
- },
- "SecretKey": {
- "maxLength": 32,
- "minLength": 32,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "AccessKey",
- "SecretKey"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.CreateGroup": {
- "properties": {
- "Name": {
- "description": "Name of User Group",
- "example": "devops",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name"
- ],
- "type": "object"
- },
- "teams.CreateGroupResponse": {
- "allOf": [
- {
- "properties": {
- "GroupId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- }
- },
- "type": "object"
- },
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- },
- {
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/TraceEventDetail"
- }
- }
- }
- ]
- },
- "teams.CreateUser": {
- "properties": {
- "Email": {
- "description": "Email address of User.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "type": "string"
- },
- "FirstName": {
- "description": "Given Name of the User.",
- "example": "John",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- "LastName": {
- "description": "Family Name of the User.",
- "example": "Doe",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- "PhoneNumber": {
- "description": "Phone number of User in E.164 format.",
- "example": "+61491570006",
- "pattern": "^\\+[1-9]\\d{4,14}$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/Role"
- }
- },
- "required": [
- "Email",
- "FirstName",
- "LastName"
- ],
- "type": "object"
- },
- "teams.CreateUserResponse": {
- "allOf": [
- {
- "properties": {
- "CustomerId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TaskId": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "TraceId": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- },
- {
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/TraceEventDetail"
- }
- }
- }
- ]
- },
- "teams.InviteRootUser": {
- "properties": {
- "Email": {
- "description": "Email address of User.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "type": "string"
- }
- },
- "required": [
- "Email"
- ],
- "type": "object"
- },
- "teams.ReadApiTokens": {
- "properties": {
- "ApiTokens": {
- "items": {
- "properties": {
- "AccessKey": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Longer description of what this Token is used for.",
- "example": "This token is for deployment pipelines in Gitlab to deploy to dev\/test environments",
- "maxLength": 1024,
- "minLength": 0,
- "type": "string"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of API Token",
- "example": "gitlab-cicd",
- "maxLength": 64,
- "minLength": 2,
- "pattern": "^([0-9a-zA-Z_.-]+)$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/ApiRole"
- },
- "Status": {
- "description": "Status of the Token.",
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "example": "ACTIVE",
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.ReadGroups": {
- "properties": {
- "Groups": {
- "items": {
- "$ref": "#\/components\/schemas\/Group"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.ReadUsers": {
- "properties": {
- "Users": {
- "items": {
- "$ref": "#\/components\/schemas\/User"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.UpdateApiToken": {
- "properties": {
- "Description": {
- "description": "Longer description of what this Token is used for.",
- "example": "This token is for deployment pipelines in Gitlab to deploy to dev\/test environments",
- "maxLength": 1024,
- "minLength": 2,
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/ApiRole"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "teams.UpdateApiTokenResponse": {
- "properties": {
- "ApiTokens": {
- "items": {
- "properties": {
- "AccessKey": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedBy": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "CreatedTS": {
- "description": "Created timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Description": {
- "description": "Longer description of what this Token is used for.",
- "example": "This token is for deployment pipelines in Gitlab to deploy to dev\/test environments",
- "maxLength": 1024,
- "minLength": 0,
- "type": "string"
- },
- "ModifiedTS": {
- "description": "Modified timestamp.",
- "example": "2018-10-11T01:05:45.000Z",
- "format": "date-time",
- "readOnly": true,
- "type": "string"
- },
- "Name": {
- "description": "Name of API Token",
- "example": "gitlab-cicd",
- "maxLength": 64,
- "minLength": 2,
- "pattern": "^([0-9a-zA-Z_.-]+)$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/ApiRole"
- },
- "Status": {
- "description": "Status of the Token.",
- "enum": [
- "ACTIVE",
- "DELETED"
- ],
- "example": "ACTIVE",
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.UpdateGroup": {
- "properties": {
- "Name": {
- "description": "Name of User Group",
- "example": "devops",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- }
- },
- "required": [
- "Name"
- ],
- "type": "object"
- },
- "teams.UpdateGroupMembers": {
- "properties": {
- "AddMembers": {
- "items": {
- "$ref": "#\/components\/schemas\/UserGroupMemberMap"
- },
- "type": "array"
- },
- "RemoveMembers": {
- "items": {
- "$ref": "#\/components\/schemas\/UserGroupMemberMap"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "teams.UpdateUser": {
- "properties": {
- "Email": {
- "description": "Email address of User.",
- "example": "stax.user@example.com",
- "format": "email",
- "maxLength": 128,
- "minLength": 6,
- "type": "string"
- },
- "FirstName": {
- "description": "Given Name of the User.",
- "example": "John",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- "LastName": {
- "description": "Family Name of the User.",
- "example": "Doe",
- "maxLength": 128,
- "minLength": 0,
- "type": "string"
- },
- "PhoneNumber": {
- "description": "Phone number of User in E.164 format.",
- "example": "+61491570006",
- "pattern": "^\\+[1-9]\\d{4,14}$",
- "type": "string"
- },
- "Role": {
- "$ref": "#\/components\/schemas\/Role"
- },
- "Status": {
- "description": "Status of User.",
- "enum": [
- "ACTIVE",
- "DISABLED"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "teams.UpdateUserEvent": {
- "allOf": [
- {
- "$ref": "#\/components\/schemas\/BaseEvent"
- },
- {
- "properties": {
- "Detail": {
- "$ref": "#\/components\/schemas\/TraceEventDetail"
- }
- }
- }
- ],
- "type": "object"
- },
- "teams.UpdateUserInvite": {
- "type": "object"
- },
- "teams.UpdateUserPassword": {
- "type": "object"
- },
- "users.ReadIdamUsers": {
- "properties": {
- "Users": {
- "items": {
- "$ref": "#\/components\/schemas\/IdamUser"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "uuidv4": {
- "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
- "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}",
- "type": "string"
- },
- "workloads.Catalogue": {
- "properties": {
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "WorkloadCatalogueItems": {
- "items": {
- "$ref": "#\/components\/schemas\/WorkloadCatalogue"
- },
- "type": "array"
- }
- },
- "required": [
- "OrganisationId",
- "WorkloadCatalogueItems"
- ],
- "type": "object"
- },
- "workloads.CreateCatalogueItem": {
- "properties": {
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "ManifestBody": {
- "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
- "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3:\/\/{JumaArtifactBucket}\/workload-vpc\/vpc-2-tier-no-NAT.yml\n",
- "type": "string"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "Name": {
- "description": "Name of the Workload Catalogue Item to create.",
- "example": "my-directory-service",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "Version": {
- "description": "Version of the Workload Catalogue Item to create.",
- "example": "1.0.2",
- "maxLength": 128,
- "type": "string"
- }
- },
- "required": [
- "Name",
- "Version"
- ],
- "type": "object"
- },
- "workloads.CreateCatalogueVersion": {
- "properties": {
- "Description": {
- "description": "Description of the Workload.",
- "example": "A Workload to build a VPC in my org",
- "maxLength": 1024,
- "type": "string"
- },
- "ManifestBody": {
- "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
- "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3:\/\/{JumaArtifactBucket}\/workload-vpc\/vpc-2-tier-no-NAT.yml\n",
- "type": "string"
- },
- "ManifestURL": {
- "description": "HTTPS\/S3 URL of the manifest. Either this or ManifestBody must be provided.",
- "example": "S3:\/\/{StaxArtifactBucket}\/workload-vpc\/your-template-ref.yml",
- "type": "string"
- },
- "Parameters": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "Tags": {
- "$ref": "#\/components\/schemas\/Tags"
- },
- "Version": {
- "description": "Version of the Workload Catalogue Item to create.",
- "example": "1.0.2",
- "maxLength": 128,
- "type": "string"
- }
- },
- "required": [
- "Version"
- ]
- },
- "workloads.CreateWorkload": {
- "properties": {
- "AccountId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Id": {
- "$ref": "#\/components\/schemas\/ro-uuidv4"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Parameters": {
- "items": {
- "$ref": "#\/components\/schemas\/Parameter"
- },
- "type": "array"
- },
- "Region": {
- "description": "AWS Region the workload will be launched in",
- "example": "us-east-1",
- "maxLength": 32,
- "type": "string"
- },
- "Tags": {
- "anyOf": [
- {
- "type": "object"
- },
- {
- "nullable": true
- }
- ]
- }
- },
- "required": [
- "Name",
- "CatalogueId",
- "AccountId",
- "Region"
- ],
- "type": "object"
- },
- "workloads.ReadCatalogueItems": {
- "properties": {
- "OrganisationId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "WorkloadCatalogues": {
- "items": {
- "$ref": "#\/components\/schemas\/workloads.Catalogue"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "workloads.ReadCatalogueManifest": {
- "properties": {
- "url": {
- "type": "string"
- }
- },
- "required": [
- "url"
- ],
- "type": "object"
- },
- "workloads.ReadCatalogueTemplate": {
- "properties": {
- "url": {
- "type": "string"
- }
- },
- "required": [
- "url"
- ],
- "type": "object"
- },
- "workloads.ReadCatalogueVersion": {
- "properties": {
- "Versions": {
- "items": {
- "$ref": "#\/components\/schemas\/WorkloadCatalogueVersion"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "workloads.ReadWorkloads": {
- "properties": {
- "Paging": {
- "$ref": "#\/components\/schemas\/Pagination"
- },
- "Workloads": {
- "items": {
- "$ref": "#\/components\/schemas\/Workload"
- },
- "type": "array"
- }
- },
- "required": [
- "Workloads"
- ],
- "type": "object"
- },
- "workloads.UpdateAll": {
- "properties": {
- "CatalogueId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- "required": [
- "CatalogueId"
- ],
- "type": "object"
- },
- "workloads.UpdateWorkload": {
- "properties": {
- "CatalogueVersionId": {
- "$ref": "#\/components\/schemas\/uuidv4"
- },
- "Name": {
- "description": "The Workload name.",
- "example": "my-workload-is-cool",
- "maxLength": 64,
- "minLength": 2,
- "type": "string"
- },
- "Tags": {
- "type": "object"
- }
- },
- "type": "object"
- }
- },
- "securitySchemes": {
- "sigv4": {
- "in": "header",
- "name": "Authorization",
- "type": "apiKey",
- "x-amazon-apigateway-authtype": "awsSigv4"
- }
- }
- },
- "info": {
- "contact": {
- "url": "https:\/\/stax.io"
- },
- "description": "The Stax API is organised around REST, uses resource-oriented URLs, return responses are JSON and uses standard HTTP response codes, authentication and verbs.",
- "termsOfService": "\/there_is_no_tos",
- "title": "Stax Core API",
- "version": "None"
- },
- "openapi": "3.0.0",
- "paths": {
- "\/20190206\/account-types\/members": {
- "put": {
- "description": "Move Accounts between Account Types.
",
- "operationId": "accounts.UpdateAccountTypeMembers",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountTypeMembers"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is forbidden."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Account Type members",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/account-types\/policies": {
- "put": {
- "description": "Add Policies to Account types or Remove Policies from Account Types.
",
- "operationId": "accounts.UpdatePolicies",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdatePolicies"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Account Type Policies",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts": {
- "get": {
- "description": "Return all AWS Accounts within your Stax Organisation.
Optionally, return the requested AWS Account.
",
- "operationId": "accounts.ReadAccounts",
- "parameters": [
- {
- "description": "The UUID of the Account to return.",
- "in": "path",
- "name": "account_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Account statuses to return, comma delimited.\n\nFilter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Account IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Account Type IDs to return, comma delimited.\n",
- "in": "query",
- "name": "account_type_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return.",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return.",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down?",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccounts"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Accounts",
- "tags": [
- "Accounts"
- ]
- },
- "post": {
- "description": "Create a new Stax-hardened AWS Account in your Stax Organisation.
",
- "operationId": "accounts.CreateAccount",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.CreateAccount"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Account",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/discover": {
- "post": {
- "description": "Discover all AWS Accounts associated with the org into stax
Optionally attempt to rediscover an Aws Account that failed discovery
",
- "operationId": "accounts.DiscoverAccounts",
- "parameters": [
- {
- "description": "The AWS Account Id of the Account to discover.",
- "in": "path",
- "name": "aws_account_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.DiscoverAccountsResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful due to user input."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the account given has already been discovered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the requested account cannot be discovered."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Discover Accounts",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/discover\/{aws_account_id}": {
- "post": {
- "description": "Discover all AWS Accounts associated with the org into stax
Optionally attempt to rediscover an Aws Account that failed discovery
",
- "operationId": "accounts.DiscoverAccounts",
- "parameters": [
- {
- "description": "The AWS Account Id of the Account to discover.",
- "in": "path",
- "name": "aws_account_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.DiscoverAccountsResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful due to user input."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the account given has already been discovered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the requested account cannot be discovered."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Discover Accounts",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/onboard": {
- "post": {
- "description": "Onboard an existing AWS Account to your Stax Organisation.
",
- "operationId": "accounts.OnboardAccount",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.OnboardAccount"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Onboard AWS Account",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/types": {
- "get": {
- "description": "Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.
",
- "operationId": "accounts.ReadAccountTypes",
- "parameters": [
- {
- "description": "The UUID of the Account Type.",
- "in": "path",
- "name": "account_type_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of AccountType IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccountTypes"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Account Types",
- "tags": [
- "Accounts"
- ]
- },
- "post": {
- "description": "Create a new Account Type within your Stax Organisation.
Account Types can be used to set Policies on Accounts and control Group access.
",
- "operationId": "accounts.CreateAccountType",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.CreateAccountType"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.CreateAccountTypeResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is forbidden."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Account Type",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/types\/access": {
- "put": {
- "description": "Adjust the AWS role permissions between Account Types and Groups.
",
- "operationId": "accounts.UpdateAccountTypeAccess",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountTypeAccess"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update AWS access",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/types\/{account_type_id}": {
- "delete": {
- "description": "Delete an Account Type from your Stax Organisation.
An Account Type can only be deleted if there are no attached Accounts.
",
- "operationId": "accounts.DeleteAccountType",
- "parameters": [
- {
- "description": "The UUID of the Catalogue item.",
- "in": "path",
- "name": "account_type_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccountTypes"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is forbidden."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Account Type",
- "tags": [
- "Accounts"
- ]
- },
- "get": {
- "description": "Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.
",
- "operationId": "accounts.ReadAccountTypes",
- "parameters": [
- {
- "description": "The UUID of the Account Type.",
- "in": "path",
- "name": "account_type_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of AccountType IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccountTypes"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Account Types",
- "tags": [
- "Accounts"
- ]
- },
- "put": {
- "description": "Change the details of an Account Type, such as the name.
",
- "operationId": "accounts.UpdateAccountType",
- "parameters": [
- {
- "description": "The UUID of the Account Type to update.",
- "in": "path",
- "name": "account_type_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountType"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccountTypes"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is forbidden."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Account Type",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/accounts\/{account_id}": {
- "get": {
- "description": "Return all AWS Accounts within your Stax Organisation.
Optionally, return the requested AWS Account.
",
- "operationId": "accounts.ReadAccounts",
- "parameters": [
- {
- "description": "The UUID of the Account to return.",
- "in": "path",
- "name": "account_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Account statuses to return, comma delimited.\n\nFilter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Account IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Account Type IDs to return, comma delimited.\n",
- "in": "query",
- "name": "account_type_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return.",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return.",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down?",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.ReadAccounts"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Accounts",
- "tags": [
- "Accounts"
- ]
- },
- "put": {
- "description": "Change the details of an Account, such as the name, tags or Account Type
",
- "operationId": "accounts.UpdateAccount",
- "parameters": [
- {
- "description": "The UUID of the Account to update.",
- "in": "path",
- "name": "account_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccount"
- }
- }
- },
- "required": false
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/accounts.UpdateAccountResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is forbidden."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Account",
- "tags": [
- "Accounts"
- ]
- }
- },
- "\/20190206\/api-tokens": {
- "get": {
- "description": "Return a list of all API Tokens within your Stax Organisation.
",
- "operationId": "teams.ReadApiTokens",
- "parameters": [
- {
- "description": "The UUID of the Token to return.",
- "in": "path",
- "name": "AccessKey",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Access Keys you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload statuses you want returned, comma delimited.\n\nFilter Options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadApiTokens"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch API Tokens",
- "tags": [
- "Team",
- "Beta"
- ]
- },
- "post": {
- "description": "Create an API Token for API\/SDK access within your Stax Organisation.
",
- "operationId": "teams.CreateApiToken",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateApiToken"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateApiTokenResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create API Token",
- "tags": [
- "Team",
- "Beta"
- ]
- }
- },
- "\/20190206\/api-tokens\/{AccessKey}": {
- "delete": {
- "description": "Delete an API Token from your Stax Organisation.
",
- "operationId": "teams.DeleteApiToken",
- "parameters": [
- {
- "description": "The UUID of the User to delete.",
- "in": "path",
- "name": "AccessKey",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateApiTokenResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete API Token",
- "tags": [
- "Team",
- "Beta"
- ]
- },
- "get": {
- "description": "Return a list of all API Tokens within your Stax Organisation.
",
- "operationId": "teams.ReadApiTokens",
- "parameters": [
- {
- "description": "The UUID of the Token to return.",
- "in": "path",
- "name": "AccessKey",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Access Keys you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload statuses you want returned, comma delimited.\n\nFilter Options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadApiTokens"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch API Tokens",
- "tags": [
- "Team",
- "Beta"
- ]
- },
- "put": {
- "description": "Update a Token for API\/SDK access within your Stax Organisation.
",
- "operationId": "teams.UpdateApiToken",
- "parameters": [
- {
- "description": "The UUID of the API Token to update.",
- "in": "path",
- "name": "AccessKey",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateApiToken"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateApiTokenResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update API Token",
- "tags": [
- "Team",
- "Beta"
- ]
- }
- },
- "\/20190206\/groups": {
- "get": {
- "description": "Return all Groups within your Stax Organisation.
Optionally, return the requested Group.
",
- "operationId": "teams.ReadGroups",
- "parameters": [
- {
- "description": "The UUID of the Group to return.",
- "in": "path",
- "name": "group_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Group IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadGroups"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Groups",
- "tags": [
- "Groups"
- ]
- },
- "post": {
- "description": "Create a new Group within your Stax Organisation.
",
- "operationId": "teams.CreateGroup",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateGroup"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateGroupResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Group",
- "tags": [
- "Groups"
- ]
- }
- },
- "\/20190206\/groups\/members": {
- "put": {
- "description": "Add members to a Group or Remove members from a Group
",
- "operationId": "teams.UpdateGroupMembers",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateGroupMembers"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "Could not locate user or group."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Group Members",
- "tags": [
- "Groups"
- ]
- }
- },
- "\/20190206\/groups\/{group_id}": {
- "delete": {
- "description": "Delete a Group from your Stax Organisation.
A Group can only be deleted if there are no team members in the Group.
",
- "operationId": "teams.DeleteGroup",
- "parameters": [
- {
- "description": "The UUID of Group to delete.",
- "in": "path",
- "name": "group_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The Group still contains members."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The Group could not be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Group",
- "tags": [
- "Groups"
- ]
- },
- "get": {
- "description": "Return all Groups within your Stax Organisation.
Optionally, return the requested Group.
",
- "operationId": "teams.ReadGroups",
- "parameters": [
- {
- "description": "The UUID of the Group to return.",
- "in": "path",
- "name": "group_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Group IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadGroups"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Groups",
- "tags": [
- "Groups"
- ]
- },
- "put": {
- "description": "Change the details of a Group, such as the name.
",
- "operationId": "teams.UpdateGroup",
- "parameters": [
- {
- "description": "The UUID of the Group to update.",
- "in": "path",
- "name": "group_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateGroup"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Group",
- "tags": [
- "Groups"
- ]
- }
- },
- "\/20190206\/idam\/user": {
- "get": {
- "deprecated": true,
- "description": "(DEPRECATED) Return a list of all IDAM Users in your Stax Organisation.
",
- "operationId": "teams.ReadIdamUsers",
- "parameters": [
- {
- "description": "The Organisation ID in which the IDAM is deployed to. If no org_id is supplied, the Customer's default Organisation will be used.",
- "in": "path",
- "name": "org_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/users.ReadIdamUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch IDAM Users",
- "tags": [
- "IDAM",
- "Deprecated"
- ]
- },
- "post": {
- "description": "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.
",
- "operationId": "teams.CreateUser",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateUser"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateUserResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Stax User",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/idam\/user\/resend-invite\/{user_id}": {
- "put": {
- "description": "Re-send the verification email for a Stax User.
",
- "operationId": "teams.UpdateUserInvite",
- "parameters": [
- {
- "description": "The UUID of the IDAM User to re-invite.",
- "in": "path",
- "name": "user_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateUserEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the user has already verified their email address."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the user does not exist in IDAM."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Re-invite Stax user",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/idam\/user\/reset-password\/{user_id}": {
- "put": {
- "description": "Send a Stax User a password reset email.
",
- "operationId": "teams.UpdateUserPassword",
- "parameters": [
- {
- "description": "The UUID of the IDAM User to have password reset.",
- "in": "path",
- "name": "user_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateUserEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the user has been deleted."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Reset Stax User's password",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/idam\/user\/{org_id}": {
- "get": {
- "deprecated": true,
- "description": "(DEPRECATED) Return a list of all IDAM Users in your Stax Organisation.
",
- "operationId": "teams.ReadIdamUsers",
- "parameters": [
- {
- "description": "The Organisation ID in which the IDAM is deployed to. If no org_id is supplied, the Customer's default Organisation will be used.",
- "in": "path",
- "name": "org_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/users.ReadIdamUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch IDAM Users",
- "tags": [
- "IDAM",
- "Deprecated"
- ]
- }
- },
- "\/20190206\/idam\/user\/{user_id}": {
- "put": {
- "description": "Update a Stax User's details, such as the name, role or email.
",
- "operationId": "teams.UpdateUser",
- "parameters": [
- {
- "description": "The UUID of the IDAM User to update.",
- "in": "path",
- "name": "user_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.UpdateUser"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.CreateUserResponse"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Stax User",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/networking\/dnsresolvers\/{dns_resolver_id}": {
- "delete": {
- "description": "
Deletes a Stax DNS Resolver within a Stax Networking Hub.
",
- "operationId": "networking.DeleteDnsResolver",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Resolver to delete.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub doesn't match supplied credentials."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax DNS Resolver to delete cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete DNS Resolver",
- "tags": [
- "Beta"
- ]
- },
- "get": {
- "description": "
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.
",
- "operationId": "networking.ReadDnsResolvers",
- "parameters": [
- {
- "description": "The UUID of the Stax Networking Hub where the Stax DNS Resolver is deployed.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Stax DNS Resolver to fetch.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Stax DNS Resolver statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadDnsResolvers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch DNS Resolvers",
- "tags": [
- "Beta"
- ]
- },
- "put": {
- "description": "
Updates the attributes for a given Stax DNS Resolver. Only supplied values are updated.
",
- "operationId": "networking.UpdateDnsResolver",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Resolver to update.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateDnsResolver"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub doesn't match supplied credentials."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax DNS Resolver to update cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update DNS Resolver",
- "tags": [
- "Beta"
- ]
- }
- },
- "\/20190206\/networking\/dnsresolvers\/{dns_resolver_id}\/dnsrules": {
- "get": {
- "description": "
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.
",
- "operationId": "networking.ReadDnsRules",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Resolver.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Stax DNS Rule to fetch.",
- "in": "path",
- "name": "dns_rule_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Stax DNS Rule statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadDnsRules"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch DNS Rules",
- "tags": [
- "Beta"
- ]
- },
- "post": {
- "description": "
Creates a Stax DNS Rule within a Stax DNS Resolver.
",
- "operationId": "networking.CreateDnsRule",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Resolver to create the Stax DNS Rule within.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateDnsRule"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub doesn't match supplied credentials."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax DNS Resolver to create the Stax DNS Rule within cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create DNS Rule",
- "tags": [
- "Beta"
- ]
- }
- },
- "\/20190206\/networking\/dnsrules\/{dns_rule_id}": {
- "delete": {
- "description": "
Deletes a Stax DNS Rule within a Stax DNS Resolver
",
- "operationId": "networking.DeleteDnsRule",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Rule.",
- "in": "path",
- "name": "dns_rule_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub doesn't match supplied credentials."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax DNS Rule to delete cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete DNS Rule",
- "tags": [
- "Beta"
- ]
- },
- "get": {
- "description": "
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.
",
- "operationId": "networking.ReadDnsRules",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Resolver.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Stax DNS Rule to fetch.",
- "in": "path",
- "name": "dns_rule_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Stax DNS Rule statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadDnsRules"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch DNS Rules",
- "tags": [
- "Beta"
- ]
- },
- "put": {
- "description": "
Updates the attributes for a given Stax DNS Rule. Only supplied values are updated.
",
- "operationId": "networking.UpdateDnsRule",
- "parameters": [
- {
- "description": "The UUID of the Stax DNS Rule to update.",
- "in": "path",
- "name": "dns_rule_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateDnsRule"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub doesn't match supplied credentials."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax DNS Rule to update cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update DNS Rule",
- "tags": [
- "Beta"
- ]
- }
- },
- "\/20190206\/networking\/exclusions": {
- "get": {
- "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
- "operationId": "networking.ReadCidrExclusions",
- "parameters": [
- {
- "description": "The UUID of the Hub to list Exclusions in.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Exclusion to read.",
- "in": "path",
- "name": "exclusion_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrExclusions"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Exclusions",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/exclusions\/{exclusion_id}": {
- "delete": {
- "description": "
Deletes a CIDR Exclusion within a Stax Networking Hub.
",
- "operationId": "networking.DeleteCidrExclusion",
- "parameters": [
- {
- "description": "The UUID of the Hub to delete the CIDR Exclusion.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Exclusion to Delete.",
- "in": "path",
- "name": "exclusion_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrExclusions"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The CIDR Exclusion to delete cannot be found or is already deleted."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete CIDR Exclusion",
- "tags": [
- "Networking"
- ]
- },
- "get": {
- "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
- "operationId": "networking.ReadCidrExclusions",
- "parameters": [
- {
- "description": "The UUID of the Hub to list Exclusions in.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Exclusion to read.",
- "in": "path",
- "name": "exclusion_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrExclusions"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Exclusions",
- "tags": [
- "Networking"
- ]
- },
- "put": {
- "description": "
Updates a CIDR Exclusion within a Stax Networking Hub
",
- "operationId": "networking.UpdateCidrExclusion",
- "parameters": [
- {
- "description": "The UUID of the Hub to update the CIDR Exclusion.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Exclusion to update.",
- "in": "path",
- "name": "exclusion_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateCidrExclusion"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateCidrExclusion"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The CIDR Exclusion to update cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update CIDR Exclusion",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/hubs": {
- "get": {
- "description": "
Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.
",
- "operationId": "networking.ReadHubs",
- "parameters": [
- {
- "description": "The UUID of the Hub.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadHubs"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Networking Hubs",
- "tags": [
- "Networking"
- ]
- },
- "post": {
- "description": "
Creates Stax Networking Hub within your Stax Organisation.
",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateHub"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The account to deploy a hub does not exist."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Networking Hub",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/hubs\/{hub_id}": {
- "delete": {
- "description": "
Deletes a hub from the Stax Organisation
",
- "parameters": [
- {
- "description": "The UUID of the Hub to delete.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The hub to be deleted doesn't exist or is already deleted."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Networking Hub",
- "tags": [
- "Networking"
- ]
- },
- "get": {
- "description": "
Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.
",
- "operationId": "networking.ReadHubs",
- "parameters": [
- {
- "description": "The UUID of the Hub.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadHubs"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Networking Hubs",
- "tags": [
- "Networking"
- ]
- },
- "put": {
- "description": "
Updates a various attributes for a given hub. Only supplied values are updated.
",
- "parameters": [
- {
- "description": "The UUID of the Hub to update.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateHub"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "An active hub to be updated does not exist"
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Networking Hub",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/hubs\/{hub_id}\/dnsresolvers": {
- "get": {
- "description": "
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.
",
- "operationId": "networking.ReadDnsResolvers",
- "parameters": [
- {
- "description": "The UUID of the Stax Networking Hub where the Stax DNS Resolver is deployed.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Stax DNS Resolver to fetch.",
- "in": "path",
- "name": "dns_resolver_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Stax DNS Resolver statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadDnsResolvers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch DNS Resolvers",
- "tags": [
- "Beta"
- ]
- },
- "post": {
- "description": "
Creates a Stax DNS Resolver within a Stax Networking Hub.
",
- "operationId": "networking.CreateDnsResolver",
- "parameters": [
- {
- "description": "The UUID of the Stax Networking Hub to deploy the Stax DNS Resolver.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateDnsResolver"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Stax Networking Hub to deploy the Stax DNS Resolver cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create DNS Resolver",
- "tags": [
- "Beta"
- ]
- }
- },
- "\/20190206\/networking\/hubs\/{hub_id}\/exclusions": {
- "get": {
- "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
- "operationId": "networking.ReadCidrExclusions",
- "parameters": [
- {
- "description": "The UUID of the Hub to list Exclusions in.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Exclusion to read.",
- "in": "path",
- "name": "exclusion_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrExclusions"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Exclusions",
- "tags": [
- "Networking"
- ]
- },
- "post": {
- "description": "
Creates a CIDR Exclusion within a Stax Networking Hub
",
- "operationId": "networking.CreateCidrExclusion",
- "parameters": [
- {
- "description": "The UUID of the Hub where the CIDR Exclusion is created in.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateCidrExclusion"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrExclusions"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The hub to create the CIDR Exclusion is not found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create CIDR Exclusion",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/hubs\/{hub_id}\/ranges": {
- "get": {
- "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
- "operationId": "networking.ReadCidrRanges",
- "parameters": [
- {
- "description": "The UUID of the Hub you want the Ranges for.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Range to read.",
- "in": "path",
- "name": "range_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrRanges"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Ranges",
- "tags": [
- "Networking"
- ]
- },
- "post": {
- "description": "
Creates a CIDR Range within a Stax Networking Hub
",
- "operationId": "networking.CreateCidrRange",
- "parameters": [
- {
- "description": "The UUID of the Hub where the CIDR Range is created in.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateCidrRange"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrRanges"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The hub to create the CIDR Range is not found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create CIDR Range",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/hubs\/{hub_id}\/vpcs": {
- "get": {
- "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
- "operationId": "networking.ReadVpcs",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the VPC to read.",
- "in": "path",
- "name": "vpc_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- },
- {
- "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
- "in": "query",
- "name": "type",
- "required": false,
- "schema": {
- "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadVpcs"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch VPCs",
- "tags": [
- "Networking"
- ]
- },
- "post": {
- "description": "
Creates a VPC within a Stax Networking Hub
",
- "operationId": "networking.CreateVpc",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.CreateVpc"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "No permission to create VPC in the specified AWS Account"
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The hub to create the VPC is not found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create VPC",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/ranges": {
- "get": {
- "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
- "operationId": "networking.ReadCidrRanges",
- "parameters": [
- {
- "description": "The UUID of the Hub you want the Ranges for.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Range to read.",
- "in": "path",
- "name": "range_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrRanges"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Ranges",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/ranges\/{range_id}": {
- "delete": {
- "description": "
Deletes a CIDR Range within a Stax Networking Hub. No existing VPCs can be in the CIDR Range.
",
- "operationId": "networking.DeleteCidrRange",
- "parameters": [
- {
- "description": "The UUID of the Hub to delete the CIDR Range.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Range to delete.",
- "in": "path",
- "name": "range_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrRanges"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The CIDR Range to delete cannot be found or is already deleted."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete CIDR Range",
- "tags": [
- "Networking"
- ]
- },
- "get": {
- "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
- "operationId": "networking.ReadCidrRanges",
- "parameters": [
- {
- "description": "The UUID of the Hub you want the Ranges for.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the Range to read.",
- "in": "path",
- "name": "range_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadCidrRanges"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch CIDR Ranges",
- "tags": [
- "Networking"
- ]
- },
- "put": {
- "description": "
Updates a CIDR Range within a Stax Networking Hub
",
- "operationId": "networking.UpdateCidrRange",
- "parameters": [
- {
- "description": "The UUID of the Hub to update the CIDR Range.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the CIDR Range to update.",
- "in": "path",
- "name": "range_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateCidrRange"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateCidrRange"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The CIDR Range to update cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update CIDR Range",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/vpcs": {
- "get": {
- "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
- "operationId": "networking.ReadVpcs",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the VPC to read.",
- "in": "path",
- "name": "vpc_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- },
- {
- "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
- "in": "query",
- "name": "type",
- "required": false,
- "schema": {
- "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadVpcs"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch VPCs",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/networking\/vpcs\/{vpc_id}": {
- "delete": {
- "description": "
Deletes a VPC within a Stax Networking Hub
",
- "operationId": "networking.DeleteVpc",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the VPC to delete.",
- "in": "path",
- "name": "vpc_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The VPC to delete cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete VPC",
- "tags": [
- "Networking"
- ]
- },
- "get": {
- "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
- "operationId": "networking.ReadVpcs",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the VPC to read.",
- "in": "path",
- "name": "vpc_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
- "in": "query",
- "name": "status",
- "required": false,
- "schema": {
- "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED",
- "type": "string"
- }
- },
- {
- "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
- "in": "query",
- "name": "type",
- "required": false,
- "schema": {
- "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.ReadVpcs"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch VPCs",
- "tags": [
- "Networking"
- ]
- },
- "put": {
- "description": "
Updates a VPC within a Stax Networking Hub
",
- "operationId": "networking.UpdateVpc",
- "parameters": [
- {
- "description": "The UUID of the Hub where the VPC is.",
- "in": "path",
- "name": "hub_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- },
- {
- "description": "The UUID of the VPC to update.",
- "in": "path",
- "name": "vpc_id",
- "required": true,
- "schema": {
- "$ref": "#\/components\/schemas\/uuidv4"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/networking.UpdateVpc"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The VPC to update cannot be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update VPC",
- "tags": [
- "Networking"
- ]
- }
- },
- "\/20190206\/organisations": {
- "get": {
- "description": "Return a list of your Stax Organisations.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.
",
- "operationId": "organisations.ReadOrganisations",
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.ReadOrganisations"
- }
- }
- },
- "description": "The response returned if the request is successful. The response body contains an Organisation array."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Stax Organisations",
- "tags": [
- "Organisations"
- ]
- }
- },
- "\/20190206\/organisations\/current": {
- "get": {
- "description": "Return the current users Organisation.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.
",
- "operationId": "organisations.ReadOrganisation",
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.ReadOrganisations"
- }
- }
- },
- "description": "The response returned if the request is successful. The response body contains an Organisation array."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Stax Organisations",
- "tags": [
- "Organisations"
- ]
- }
- },
- "\/20190206\/policies": {
- "get": {
- "description": "Return all Policies in your Stax Organisation.
Optionally, return the requested Policy.
",
- "operationId": "organisations.ReadPolicies",
- "parameters": [
- {
- "description": "The UUID of the Policy to return.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.ReadPolicies"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Policies",
- "tags": [
- "Policies"
- ]
- },
- "post": {
- "description": "Create a Policy in your Stax Organisation.
",
- "operationId": "organisations.CreatePolicy",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.CreatePolicy"
- }
- }
- },
- "required": false
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/CreatePolicyEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Policy",
- "tags": [
- "Policies"
- ]
- }
- },
- "\/20190206\/policies\/organisation\/{policy_id}": {
- "delete": {
- "description": "Detach a Policy from your Stax Organisation.
The policy will no longer apply to all Account Types within the Organisation.
",
- "operationId": "organisations:DetachPolicy",
- "parameters": [
- {
- "description": "The UUID of the Policy to detach.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Detach Policy from Organisation",
- "tags": [
- "Policies"
- ]
- },
- "put": {
- "description": "Attach a Policy to your Stax Organisation.
The policy will apply to all Account Types within the Organisation.
",
- "operationId": "organisations:AttachPolicy",
- "parameters": [
- {
- "description": "The UUID of the Policy to attach.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.AttachPolicy"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "Unable to attach foundation policy to an Organisation."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Attach Policy to Organisation",
- "tags": [
- "Policies"
- ]
- }
- },
- "\/20190206\/policies\/{policy_id}": {
- "delete": {
- "description": "Delete a Policy from your Stax Organisation.
",
- "operationId": "organisations.DeletePolicy",
- "parameters": [
- {
- "description": "The UUID of the Policy to delete.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/DeletePolicyEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Policy",
- "tags": [
- "Policies"
- ]
- },
- "get": {
- "description": "Return all Policies in your Stax Organisation.
Optionally, return the requested Policy.
",
- "operationId": "organisations.ReadPolicies",
- "parameters": [
- {
- "description": "The UUID of the Policy to return.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.ReadPolicies"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Policies",
- "tags": [
- "Policies"
- ]
- },
- "put": {
- "description": "Update an existing Policy within your Stax Organisation.
",
- "operationId": "organisations.UpdatePolicy",
- "parameters": [
- {
- "description": "The UUID of the Policy to update.",
- "in": "path",
- "name": "policy_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/organisations.UpdatePolicy"
- }
- }
- },
- "required": false
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/UpdatePolicyEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Policy",
- "tags": [
- "Policies"
- ]
- }
- },
- "\/20190206\/public\/check-alias\/{alias}": {
- "get": {
- "description": "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.
",
- "operationId": "public.CheckAlias",
- "parameters": [
- {
- "description": "A unique string containing characters a-z, A-Z, 0-9.\nHyphens can also be used, but not at the start or end of the alias.\n",
- "in": "path",
- "name": "alias",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Alias"
- }
- }
- },
- "description": "The response returned if the Alias is available and not in use by another Customer."
- },
- "409": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/AliasInUse"
- }
- }
- },
- "description": "The Alias is already in use by another Customer."
- }
- },
- "summary": "Check Alias availability",
- "tags": [
- "Public"
- ]
- }
- },
- "\/20190206\/public\/config": {
- "get": {
- "description": "This is an unauthenticated endpoint returning your configuration variables which are required to authenticate API requests.
",
- "operationId": "public.ReadConfig",
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Config"
- }
- }
- },
- "description": "Configuration values required to authenicate API requests."
- }
- },
- "summary": "Fetch public config",
- "tags": [
- "Public"
- ]
- }
- },
- "\/20190206\/task\/{task_id}": {
- "get": {
- "description": "Return the status of the requested Task.
A Task may relate to an Account, User, Workload, Organisation or Log Event.
",
- "operationId": "tasks.ReadTask",
- "parameters": [
- {
- "description": "The UUID of the Task to return.",
- "in": "path",
- "name": "task_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Task"
- }
- }
- },
- "description": "The response returned for a valid Task."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the requested Task could not be found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch status of Task",
- "tags": [
- "Tasks"
- ]
- }
- },
- "\/20190206\/tasks": {
- "get": {
- "description": "Return all Tasks for your Stax Organisation.
Optionally, return all tasks with the specified status for your Stax Organisation.
A Task may relate to an Account, User, Workload, Organisation or Log Event.
",
- "operationId": "tasks.ReadTasks",
- "parameters": [
- {
- "description": "Return all tasks of this status.\n\nAccepted values are: RUNNING, SUCCEEDED or FAILED.\n",
- "in": "path",
- "name": "task_status",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/GetTasks"
- }
- }
- },
- "description": "The Tasks returned for a valid task_status."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The task_status not supplied or invalid."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch all Tasks by status",
- "tags": [
- "Tasks"
- ]
- }
- },
- "\/20190206\/tasks\/{task_status}": {
- "get": {
- "description": "Return all Tasks for your Stax Organisation.
Optionally, return all tasks with the specified status for your Stax Organisation.
A Task may relate to an Account, User, Workload, Organisation or Log Event.
",
- "operationId": "tasks.ReadTasks",
- "parameters": [
- {
- "description": "Return all tasks of this status.\n\nAccepted values are: RUNNING, SUCCEEDED or FAILED.\n",
- "in": "path",
- "name": "task_status",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/GetTasks"
- }
- }
- },
- "description": "The Tasks returned for a valid task_status."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The task_status not supplied or invalid."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch all Tasks by status",
- "tags": [
- "Tasks"
- ]
- }
- },
- "\/20190206\/users": {
- "get": {
- "description": "Return a list of all Users within your Stax Organisation.
Optionally, return the requested User.
",
- "operationId": "teams.ReadUsers",
- "parameters": [
- {
- "description": "The UUID of the User to return.",
- "in": "path",
- "name": "user_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Users filtered by auth origin, comma delimited.\n\nFilter Options available: Team, Federated, Root\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "default": "Team",
- "type": "string"
- }
- },
- {
- "description": "List of User IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Users filtered by Status, comma delimited.\n\nFilter Options available: ACTIVE, NEW, INVITED, DISABLED, DELETED\n",
- "in": "query",
- "name": "status_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Stax Users, Federated Users, Root Users and API Tokens",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/users\/invite": {
- "post": {
- "description": "Invite a new Root User to your Stax Organisation.
",
- "operationId": "teams.InviteRootUser",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.InviteRootUser"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "Only Root users can invite new Root users."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Invite New Root User",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/users\/me": {
- "get": {
- "description": "Returns the current logged in User.
",
- "operationId": "teams.ReadUsers",
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Current User",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/users\/{user_id}": {
- "delete": {
- "description": "Delete a Stax User from your Stax Organisation.
",
- "operationId": "teams.DeleteUser",
- "parameters": [
- {
- "description": "The UUID of the User to delete.",
- "in": "path",
- "name": "user_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "User not found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Stax User",
- "tags": [
- "Team"
- ]
- },
- "get": {
- "description": "Return a list of all Users within your Stax Organisation.
Optionally, return the requested User.
",
- "operationId": "teams.ReadUsers",
- "parameters": [
- {
- "description": "The UUID of the User to return.",
- "in": "path",
- "name": "user_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Users filtered by auth origin, comma delimited.\n\nFilter Options available: Team, Federated, Root\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "default": "Team",
- "type": "string"
- }
- },
- {
- "description": "List of User IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Users filtered by Status, comma delimited.\n\nFilter Options available: ACTIVE, NEW, INVITED, DISABLED, DELETED\n",
- "in": "query",
- "name": "status_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/teams.ReadUsers"
- }
- }
- },
- "description": "The response returned if the request is successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Stax Users, Federated Users, Root Users and API Tokens",
- "tags": [
- "Team"
- ]
- }
- },
- "\/20190206\/workload-catalogue": {
- "get": {
- "description": "Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.
",
- "operationId": "workloads.ReadCatalogueItems",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item to return.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Name of the Workload Catalogue Items to return.",
- "in": "query",
- "name": "name",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload Catalogue Item statuses you want returned, comma delimited.\n\nFilter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload Catalogue Item IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return.",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return.",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "enum": [
- "Id",
- "Name",
- "Description",
- "Status",
- "OrganisationId",
- "Public",
- "CreatedTS",
- "CreatedBy",
- "ModifiedTS",
- "UserTaskId",
- "CatalogueVersionId",
- "Protection"
- ],
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down.",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all Versions?",
- "in": "query",
- "name": "include_versions",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- },
- {
- "description": "Do you want the Parameter dictionary?",
- "in": "query",
- "name": "include_parameters",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": false,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadCatalogueItems"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if an invalid ID is entered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if no catalogue is found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workload Catalogue Items",
- "tags": [
- "Workloads"
- ]
- },
- "post": {
- "description": "Create a new Workload Catalogue Item within your Stax Organisation.
",
- "operationId": "workloads.CreateCatalogueItem",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.CreateCatalogueItem"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/CreateCatalogueEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Create Workload Catalogue Item",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workload-catalogue\/manifest\/{version_id}": {
- "get": {
- "description": "Return a Workload Catalogue Manifest
",
- "operationId": "workloads.ReadCatalogueManifest",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Version",
- "in": "path",
- "name": "version_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadCatalogueManifest"
- }
- }
- },
- "description": "Returns the presigned url for the manifest file"
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if an invalid ID is entered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is not successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workload Catalogue Manifest",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workload-catalogue\/template\/{version_id}\/{name}": {
- "get": {
- "description": "Return a specific Workload Catalogue Cloudformation Template
",
- "operationId": "workloads.ReadCatalogueTemplate",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Version",
- "in": "path",
- "name": "version_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Retrieve the Cloudformation with this Resource Name.",
- "in": "path",
- "name": "name",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadCatalogueTemplate"
- }
- }
- },
- "description": "Returns the presigned url to retrieve the template"
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if an invalid ID is entered."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is not successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workload Catalogue Cloudformation Template",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workload-catalogue\/{catalogue_id}": {
- "delete": {
- "description": "Delete a Workload Catalogue Item from your Stax Organisation.
Existing Workloads launched from this Catalogue will not be deleted.
",
- "operationId": "workloads.DeleteCatalogueItem",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item to delete.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/DeleteCatalogueEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload Catalogue can not be deleted due to running workloads."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload Catalogue is Protected. Protection must be disabled before you can delete it."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload Catalogue can not be found or does not belong to the user."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Workload Catalogue Item",
- "tags": [
- "Workloads"
- ]
- },
- "get": {
- "description": "Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.
",
- "operationId": "workloads.ReadCatalogueItems",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item to return.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Name of the Workload Catalogue Items to return.",
- "in": "query",
- "name": "name",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload Catalogue Item statuses you want returned, comma delimited.\n\nFilter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload Catalogue Item IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return.",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return.",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "enum": [
- "Id",
- "Name",
- "Description",
- "Status",
- "OrganisationId",
- "Public",
- "CreatedTS",
- "CreatedBy",
- "ModifiedTS",
- "UserTaskId",
- "CatalogueVersionId",
- "Protection"
- ],
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down.",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all Versions?",
- "in": "query",
- "name": "include_versions",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- },
- {
- "description": "Do you want the Parameter dictionary?",
- "in": "query",
- "name": "include_parameters",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": false,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadCatalogueItems"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if an invalid ID is entered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if no catalogue is found."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workload Catalogue Items",
- "tags": [
- "Workloads"
- ]
- },
- "put": {
- "description": "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.
",
- "operationId": "workloads.CreateCatalogueVersion",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item to update.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.CreateCatalogueVersion"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/CreateVersionEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Workload Catalogue Item",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workload-catalogue\/{catalogue_id}\/{version_id}": {
- "delete": {
- "description": "Delete a Workload Catalogue Version from your Stax Organisation.
Existing Workloads launched from this Workload Catalogue Version will not be deleted.
",
- "operationId": "workloads.DeleteCatalogueVersion",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The UUID of the Catalogue Version to delete.",
- "in": "path",
- "name": "version_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/DeleteVersionEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload Catalogue Version can not be deleted due to running workloads."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload Catalogue Version can not be found or does not belong to the user."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Delete Workload Catalogue Version",
- "tags": [
- "Workloads"
- ]
- },
- "get": {
- "description": "Return a specific Workload Catalogue Version.
",
- "operationId": "workloads.ReadCatalogueVersion",
- "parameters": [
- {
- "description": "The UUID of the Catalogue Item to return.",
- "in": "path",
- "name": "catalogue_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The UUID of the Catalogue Version to return.",
- "in": "path",
- "name": "version_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Do you want the Parameter dictionary?",
- "in": "query",
- "name": "include_parameters",
- "required": false,
- "schema": {
- "default": true,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadCatalogueVersion"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if an invalid ID is entered."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is not successful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workload Catalogue Version",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workload-update": {
- "post": {
- "deprecated": true,
- "description": "(DEPRECATED) Update all active Workloads for a specific Workload Catalogue Item.
",
- "operationId": "workloads.UpdateAll",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.UpdateAll"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the Catalogue is not owned by the User."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update All Workloads",
- "tags": [
- "Workloads",
- "Deprecated"
- ]
- }
- },
- "\/20190206\/workloads": {
- "get": {
- "description": "Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.
",
- "operationId": "workloads.ReadWorkloads",
- "parameters": [
- {
- "description": "The UUID of the Workload Item to return.",
- "in": "path",
- "name": "workload_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Name of the Workloads to return.",
- "in": "query",
- "name": "name",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload statuses you want returned, comma delimited.\n\nFilter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Only return Workloads launched from this Catalogue Version.",
- "in": "query",
- "name": "catalogue_version_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return. Must be used with limit",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return. Must be used with offset",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "enum": [
- "Id",
- "Name",
- "AccountId",
- "CatalogueId",
- "CatalogueVersionId",
- "Region",
- "Status",
- "UserTaskId",
- "CreatedBy",
- "CreatedTS",
- "ModifiedTS",
- "FactoryVersion"
- ],
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down.",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": false,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadWorkloads"
- }
- }
- },
- "description": "A list of all Workloads for the logged in Customer."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the Workload ID is not a valid UUID."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the Workload ID does not exist."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workloads",
- "tags": [
- "Workloads"
- ]
- },
- "post": {
- "description": "Deploy a Workload within an AWS Account.
",
- "operationId": "workloads.CreateWorkload",
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Workload"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/CreateWorkloadEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Deploy Workload",
- "tags": [
- "Workloads"
- ]
- }
- },
- "\/20190206\/workloads\/{workload_id}": {
- "delete": {
- "description": "Terminate an active Workload within an AWS Account.
",
- "operationId": "workloads.DeleteWorkload",
- "parameters": [
- {
- "description": "The UUID of the Workload to delete.",
- "in": "path",
- "name": "workload_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/DeleteWorkloadEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- },
- "403": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The Workload is Protected. Protection must be disabled before you can delete it."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The Workload can not be found or does not belong to the user."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Terminate Workload",
- "tags": [
- "Workloads"
- ]
- },
- "get": {
- "description": "Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.
",
- "operationId": "workloads.ReadWorkloads",
- "parameters": [
- {
- "description": "The UUID of the Workload Item to return.",
- "in": "path",
- "name": "workload_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The Name of the Workloads to return.",
- "in": "query",
- "name": "name",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload statuses you want returned, comma delimited.\n\nFilter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.\n",
- "in": "query",
- "name": "filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "List of Workload IDs you want returned, comma delimited.",
- "in": "query",
- "name": "id_filter",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Only return Workloads launched from this Catalogue Version.",
- "in": "query",
- "name": "catalogue_version_id",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Pagination - The page number to return. Must be used with limit",
- "in": "query",
- "name": "offset",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "Pagination - The number of items per page to return. Must be used with offset",
- "in": "query",
- "name": "limit",
- "required": false,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The field to sort on.",
- "in": "query",
- "name": "sort",
- "required": false,
- "schema": {
- "enum": [
- "Id",
- "Name",
- "AccountId",
- "CatalogueId",
- "CatalogueVersionId",
- "Region",
- "Status",
- "UserTaskId",
- "CreatedBy",
- "CreatedTS",
- "ModifiedTS",
- "FactoryVersion"
- ],
- "type": "string"
- }
- },
- {
- "description": "The sort order - up or down.",
- "in": "query",
- "name": "sort_order",
- "required": false,
- "schema": {
- "default": "DESC",
- "enum": [
- "ASC",
- "DESC"
- ],
- "type": "string"
- }
- },
- {
- "description": "Do you want all the Tags?",
- "in": "query",
- "name": "include_tags",
- "required": false,
- "schema": {
- "default": false,
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.ReadWorkloads"
- }
- }
- },
- "description": "A list of all Workloads for the logged in Customer."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the Workload ID is not a valid UUID."
- },
- "404": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/Error"
- }
- }
- },
- "description": "The response returned if the Workload ID does not exist."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Fetch Workloads",
- "tags": [
- "Workloads"
- ]
- },
- "put": {
- "description": "Update a Workload running within an AWS Account.
",
- "operationId": "workloads.UpdateWorkload",
- "parameters": [
- {
- "description": "The UUID of the Workload to update.",
- "in": "path",
- "name": "workload_id",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/workloads.UpdateWorkload"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/UpdateWorkloadEvent"
- }
- }
- },
- "description": "The response returned if the request is successful."
- },
- "400": {
- "content": {
- "application\/json": {
- "schema": {
- "$ref": "#\/components\/schemas\/StaxEvent"
- }
- }
- },
- "description": "The response returned if the request is unsuccessful."
- }
- },
- "security": [
- {
- "sigv4": []
- }
- ],
- "summary": "Update Workload",
- "tags": [
- "Workloads"
- ]
- }
- }
- },
- "servers": [
- {
- "url": "https:\/\/api.au1.staxapp.cloud"
- }
- ]
-}
\ No newline at end of file
+ "components": {
+ "requestBodies": {},
+ "responses": {},
+ "schemas": {
+ "Account": {
+ "properties": {
+ "AWSLoginURLs": {
+ "properties": {
+ "admin": {
+ "type": "string"
+ },
+ "developer": {
+ "type": "string"
+ },
+ "readonly": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AccountRole": {
+ "description": "The role of the account in the org",
+ "enum": [
+ "MEMBER",
+ "MANAGEMENT",
+ "MANAGEMENT_RESELL",
+ "SECURITY",
+ "LOGGING"
+ ],
+ "example": "MEMBER",
+ "readOnly": true,
+ "type": "string"
+ },
+ "AccountType": {
+ "nullable": true,
+ "type": "string"
+ },
+ "AllocatedTS": {
+ "description": "Allocated timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "AssuranceState": {
+ "description": "Hardening state of the Account.",
+ "enum": [
+ "NONE",
+ "UPDATING",
+ "ACTIVE",
+ "ERROR"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "AssuranceStateReason": {
+ "description": "Descriptive reason for the current AssuranceState.",
+ "example": "AWS GuardDuty Hardening has failed",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "AwsAccountAlias": {
+ "description": "The IAM alias for the account",
+ "maxLength": 48,
+ "minLength": 1,
+ "nullable": true,
+ "type": "string"
+ },
+ "AwsAccountCanonicalUserId": {
+ "description": "The Canonical User ID of the account",
+ "example": "79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be",
+ "maxLength": 64,
+ "minLength": 64,
+ "readOnly": true,
+ "type": "string"
+ },
+ "AwsAccountId": {
+ "description": "AWS Account Id.",
+ "example": "012345678901",
+ "maxLength": 12,
+ "minLength": 12,
+ "readOnly": true,
+ "type": "string"
+ },
+ "AwsAccountName": {
+ "description": "The AWS name for the account",
+ "maxLength": 50,
+ "minLength": 1,
+ "nullable": true,
+ "type": "string"
+ },
+ "AwsAccountStatusId": {
+ "nullable": true,
+ "type": "string"
+ },
+ "AwsLoginURL": {
+ "type": "string"
+ },
+ "CreatedBy": {
+ "description": "UUID of the account creator.",
+ "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "nullable": true,
+ "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}",
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Email": {
+ "description": "Email address of account owner.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "readOnly": true,
+ "type": "string"
+ },
+ "FactoryVersion": {
+ "$ref": "#/components/schemas/GitHash"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "LatestCost": {
+ "description": "Estimated cost to-date for the current billing period.",
+ "example": 72.52,
+ "readOnly": true,
+ "type": "number"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2019-03-11T01:11:40.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "example": "bakery",
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "OrgsOuId": {
+ "nullable": true,
+ "type": "string"
+ },
+ "Origin": {
+ "description": "Origin of the Account.",
+ "enum": [
+ "STAX",
+ "EXTERNAL"
+ ],
+ "example": "STAX",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the Account.",
+ "enum": [
+ "ACTIVE",
+ "AWSERROR",
+ "CLOSED",
+ "DISCOVERED",
+ "ERROR",
+ "INITIALIZING",
+ "MAINTENANCE",
+ "NEW",
+ "NOAWS",
+ "SUSPENDED",
+ "OFFBOARDED",
+ "ONBOARDING",
+ "INACTIVE"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "StaxCreated": {
+ "type": "boolean"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "AccountConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "AlternateContacts": {
+ "items": {
+ "$ref": "#/components/schemas/AlternateContact"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ },
+ "EC2": {
+ "additionalProperties": false,
+ "properties": {
+ "EBSEncryptionByDefault": {
+ "description": "EBS volumes are automatically encrypted using the default KMS key",
+ "type": "boolean"
+ },
+ "ImageBlockPublicAccess": {
+ "description": "Blocks public sharing for AMIs",
+ "type": "boolean"
+ },
+ "InstanceRequireIMDSv2": {
+ "description": "Requires IMDSv2 for instances",
+ "type": "boolean"
+ },
+ "SnapshotBlockPublicAccess": {
+ "description": "Blocks public sharing for snapshots",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "S3": {
+ "additionalProperties": false,
+ "properties": {
+ "BlockPublicAccess": {
+ "description": "Blocks S3 objects having public access",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SSM": {
+ "additionalProperties": false,
+ "properties": {
+ "DocumentBlockPublicSharing": {
+ "description": "Blocks SSM Document public sharing",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AccountType": {
+ "additionalProperties": false,
+ "properties": {
+ "Accounts": {
+ "example": [],
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of Account Type.",
+ "example": "Development",
+ "maxLength": 64,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Policies": {
+ "example": [],
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ },
+ "Roles": {
+ "example": [],
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "GroupId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "RoleName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "GroupId",
+ "RoleName"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "enum": [
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "StaxCreated": {
+ "nullable": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Name",
+ "Status",
+ "Accounts",
+ "Policies",
+ "Roles"
+ ],
+ "type": "object"
+ },
+ "AccountTypeAccessMap": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "AccountTypeId",
+ "GroupId",
+ "RoleName"
+ ]
+ },
+ {
+ "required": [
+ "AccountTypeName",
+ "GroupId",
+ "RoleName"
+ ]
+ },
+ {
+ "required": [
+ "AccountTypeId",
+ "GroupName",
+ "RoleName"
+ ]
+ },
+ {
+ "required": [
+ "AccountTypeName",
+ "GroupName",
+ "RoleName"
+ ]
+ }
+ ],
+ "properties": {
+ "AccountTypeId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AccountTypeName": {
+ "type": "string"
+ },
+ "GroupId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "GroupName": {
+ "type": "string"
+ },
+ "RoleName": {
+ "description": "AWS access roles enabled for an account type.",
+ "enum": [
+ "admin",
+ "developer",
+ "readonly"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AccountTypeMemberMap": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "AccountTypeId",
+ "AccountId"
+ ]
+ },
+ {
+ "required": [
+ "AccountTypeName",
+ "AccountId"
+ ]
+ }
+ ],
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AccountTypeId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AccountTypeName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "AlternateContact": {
+ "additionalProperties": false,
+ "properties": {
+ "AlternateContactType": {
+ "description": "Specifies which alternate contact you want to create or update.",
+ "enum": [
+ "BILLING",
+ "OPERATIONS",
+ "SECURITY"
+ ],
+ "type": "string"
+ },
+ "EmailAddress": {
+ "description": "Specifies an email address for the alternate contact.",
+ "maxLength": 254,
+ "minLength": 1,
+ "pattern": "^[\\s]*[\\w+=.#|!&-]+@[\\w.-]+\\.[\\w]+[\\s]*$",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Specifies a name for the alternate contact.",
+ "maxLength": 64,
+ "minLength": 1,
+ "type": "string"
+ },
+ "PhoneNumber": {
+ "description": "Specifies a phone number for the alternate contact.",
+ "maxLength": 25,
+ "minLength": 1,
+ "pattern": "^[\\s0-9()+-]+$",
+ "type": "string"
+ },
+ "Title": {
+ "description": "Specifies a title for the alternate contact.",
+ "maxLength": 50,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "AlternateContactType",
+ "EmailAddress",
+ "Name",
+ "PhoneNumber",
+ "Title"
+ ],
+ "type": "object"
+ },
+ "ApiRole": {
+ "description": "Stax role assigned to an API Token.",
+ "enum": [
+ "api_admin",
+ "api_operations",
+ "api_user",
+ "api_readonly"
+ ],
+ "type": "string"
+ },
+ "AwsRegion": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ {
+ "$ref": "#/components/schemas/OptInAwsRegion"
+ },
+ {
+ "$ref": "#/components/schemas/DisabledAwsRegion"
+ }
+ ]
+ },
+ "BaseEvent": {
+ "properties": {
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "BaseEventDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "BgpMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "BgpPeerId": {
+ "description": "The BGP Peer ID of the VIF",
+ "type": "string"
+ },
+ "BgpStatus": {
+ "description": "The status of the BGP peer.",
+ "enum": [
+ "up",
+ "down",
+ "unknown"
+ ],
+ "example": "up",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CatalogueData": {
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "ManifestBody": {
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Workload Catalogue Item to create.",
+ "example": "my-directory-service",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Protection": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Public": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Status": {
+ "$ref": "#/components/schemas/CatalogueStatus"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Description"
+ ]
+ },
+ "CatalogueStatus": {
+ "description": "Status of the Workload.",
+ "enum": [
+ "NEW",
+ "UPLOADING",
+ "VALIDATING",
+ "ACTIVE",
+ "DELETED",
+ "FAILED"
+ ],
+ "example": "NEW",
+ "readOnly": true,
+ "type": "string"
+ },
+ "CatalogueVersionProperties": {
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ManifestURL": {
+ "description": "HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided.",
+ "example": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Outputs": {
+ "items": {
+ "example": "bread",
+ "type": "string"
+ },
+ "nullable": true,
+ "readOnly": true,
+ "type": "array"
+ },
+ "Public": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Status": {
+ "description": "Status of the Workload.",
+ "enum": [
+ "NEW",
+ "UPLOADING",
+ "VALIDATING",
+ "ACTIVE",
+ "DELETED",
+ "FAILED"
+ ],
+ "example": "NEW",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "WorkloadVersion": {
+ "example": "0.01",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "CatalogueId"
+ ],
+ "type": "object"
+ },
+ "CidrExclusion": {
+ "additionalProperties": false,
+ "properties": {
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation.",
+ "example": "10.128.0.0/19",
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what the CIDR Exclusion is used for.",
+ "example": "datacenter exclusion",
+ "maxLength": 2048,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Exclusion.",
+ "example": "non-prod",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Status": {
+ "description": "The status of the CIRD Exclusion.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "Cidr"
+ ],
+ "type": "object"
+ },
+ "CidrRange": {
+ "properties": {
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23",
+ "example": "10.128.0.0/23",
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "DefaultCidrRange": {
+ "description": "Boolean value declaring if the range is the default CIDR Range",
+ "example": false,
+ "type": "boolean"
+ },
+ "Description": {
+ "description": "Longer description of what the CIDR Range is used for.",
+ "example": "datacenter ranges",
+ "maxLength": 2048,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "LastAllocationTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Range.",
+ "example": "non-prod",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Status": {
+ "description": "The status of the CIDR Range.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "Cidr"
+ ],
+ "type": "object"
+ },
+ "CreateCatalogueDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadCatalogueItem": {
+ "$ref": "#/components/schemas/CatalogueData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "CreateCatalogueEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "$ref": "#/components/schemas/CreateCatalogueDetail"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TaskId",
+ "TraceId"
+ ],
+ "type": "object"
+ },
+ "CreateVersionDetail": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEventDetail"
+ }
+ ],
+ "properties": {
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadCatalogueItem": {
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "ManifestBody": {
+ "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
+ "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
+ "type": "string"
+ },
+ "ManifestURL": {
+ "description": "HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided.",
+ "example": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Public": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Version": {
+ "example": "0.01",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "CreateVersionEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "$ref": "#/components/schemas/CreateVersionDetail"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "CustomerId"
+ ],
+ "type": "object"
+ },
+ "CreateWorkloadDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "Workload": {
+ "$ref": "#/components/schemas/WorkloadData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "CreateWorkloadEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ },
+ {
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/CreateWorkloadDetail"
+ },
+ "WorkloadId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ }
+ }
+ ],
+ "type": "object"
+ },
+ "Customer": {
+ "properties": {
+ "CognitoUserId": {
+ "description": "Cognito User unique identifier.",
+ "example": "my-user-id",
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Email": {
+ "description": "Email address of the User.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "type": "string"
+ },
+ "FactoryVersion": {
+ "$ref": "#/components/schemas/GitHash"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Account.",
+ "example": "My Business",
+ "maxLength": 64,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the Customer.",
+ "enum": [
+ "PROSPECT",
+ "NEW",
+ "INITIALIZING",
+ "ACTIVE",
+ "SUSPENDED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "SupportPlan": {
+ "description": "Stax Support Plan allocated to the Customer.",
+ "enum": [
+ "BASIC",
+ "BUSINESS",
+ "ENTERPRISE"
+ ],
+ "example": "BUSINESS",
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Name",
+ "Email"
+ ],
+ "type": "object"
+ },
+ "DNSResolver": {
+ "additionalProperties": false,
+ "properties": {
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "InboundIpAddresses": {
+ "description": "The IP Addresses attached to the Inbound DNS Resolver.",
+ "example": [
+ "192.168.0.1",
+ "192.168.0.2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Interfaces": {
+ "description": "The number of ENIs to attach to the DNS Resolvers.",
+ "example": 2,
+ "type": "integer"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Stax DNS Resolvers.",
+ "example": "dns",
+ "maxLength": 50,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "OutboundIpAddresses": {
+ "description": "The IP Addresses attached to the Outbound DNS Resolver.",
+ "example": [
+ "192.168.0.1",
+ "192.168.0.2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Status": {
+ "description": "The status of the Stax DNS Resolvers.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "NetworkingHubId",
+ "Interfaces"
+ ],
+ "type": "object"
+ },
+ "DNSRule": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsRuleId": {
+ "description": "The AWS Route53 Resolver Rule Id.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "DnsResolverId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "DomainName": {
+ "description": "Domain name to forward DNS queries for.",
+ "example": "test.local",
+ "maxLength": 256,
+ "minLength": 2,
+ "type": "string"
+ },
+ "ForwarderIpAddresses": {
+ "description": "The IP Addresses to forward DNS queries to.",
+ "example": [
+ "192.168.0.1",
+ "192.168.0.2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of Stax DNS Rule.",
+ "example": "on-premises",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the Stax DNS Rule.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "DomainName",
+ "DnsResolverId",
+ "ForwarderIpAddresses"
+ ],
+ "type": "object"
+ },
+ "DefaultAwsRegion": {
+ "description": "The available default AWS Regions",
+ "enum": [
+ "ap-northeast-1",
+ "ap-northeast-2",
+ "ap-south-1",
+ "ap-southeast-1",
+ "ap-southeast-2",
+ "ca-central-1",
+ "eu-central-1",
+ "eu-north-1",
+ "eu-west-1",
+ "eu-west-2",
+ "eu-west-3",
+ "sa-east-1",
+ "us-east-1",
+ "us-east-2",
+ "us-west-1",
+ "us-west-2"
+ ],
+ "type": "string"
+ },
+ "DeleteCatalogueDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadCatalogueItem": {
+ "$ref": "#/components/schemas/CatalogueData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DeleteCatalogueEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/DeleteCatalogueDetail"
+ }
+ },
+ "required": [
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "DeleteVersionDetail": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEventDetail"
+ }
+ ],
+ "properties": {
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadCatalogueVersion": {
+ "$ref": "#/components/schemas/CatalogueVersionProperties"
+ }
+ },
+ "type": "object"
+ },
+ "DeleteVersionEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/DeleteVersionDetail"
+ }
+ },
+ "type": "object"
+ },
+ "DeleteWorkloadDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "Workload": {
+ "$ref": "#/components/schemas/WorkloadData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DeleteWorkloadEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/DeleteWorkloadDetail"
+ }
+ },
+ "type": "object"
+ },
+ "DisabledAwsRegion": {
+ "description": "The disabled default AWS Regions",
+ "enum": [
+ "ap-northeast-3"
+ ],
+ "type": "string"
+ },
+ "DxAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsAssociationId": {
+ "description": "The AWS Id of the DX Association.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "DxGatewayId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Prefixes": {
+ "description": "The CIDR Ranges to advertise to on-premises.",
+ "example": [
+ "192.168.0.0/24",
+ "192.168.1.0/24"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "description": "The status of the Stax DX Association.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VpcId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "DxGatewayId",
+ "NetworkingHubId",
+ "Prefixes"
+ ],
+ "type": "object"
+ },
+ "DxConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "Bandwidth": {
+ "description": "Bandwidth of the Direct Connect Connection.",
+ "example": "50Mbps",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "ConnectionId": {
+ "description": "AWS Id of the Direct Connect Connection.",
+ "example": "dxcon-abcdefgh",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "ConnectionName": {
+ "description": "Name of the Direct Connect Connection.",
+ "example": "SY4",
+ "maxLength": 100,
+ "minLength": 2,
+ "type": "string"
+ },
+ "ConnectionState": {
+ "description": "State of the Direct Connect Connection.",
+ "enum": [
+ "ordering",
+ "requested",
+ "pending",
+ "available",
+ "down",
+ "deleting",
+ "deleted",
+ "rejected",
+ "unknown"
+ ],
+ "example": "available",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Vlan": {
+ "description": "VLAN for the Direct Connect Connection.",
+ "example": 4000,
+ "nullable": true,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "ConnectionId",
+ "ConnectionName",
+ "ConnectionState",
+ "Region",
+ "Bandwidth",
+ "Vlan"
+ ],
+ "type": "object"
+ },
+ "DxGateway": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Asn": {
+ "description": "ASN to assign to the Direct Connect Gateway.",
+ "example": 64512,
+ "type": "integer"
+ },
+ "AwsGatewayId": {
+ "description": "The AWS Id of the Direct Connect Gateway.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ExternalResource": {
+ "description": "Boolean value to determine if the resource did not originate from Stax.",
+ "example": false,
+ "type": "boolean"
+ },
+ "GatewayType": {
+ "description": "The type of the Stax DX Gateway.",
+ "enum": [
+ "TRANSIT",
+ "PRIVATE"
+ ],
+ "example": "TRANSIT",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Direct Connect Gateway.",
+ "example": "Prod Gateway",
+ "maxLength": 95,
+ "minLength": 2,
+ "pattern": "(?!^[0-9]$)([a-zA-Z0-9-_' '])",
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Status": {
+ "description": "The status of the Stax DX Gateway.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "Asn",
+ "AccountId",
+ "OrganisationId"
+ ],
+ "type": "object"
+ },
+ "DxVif": {
+ "additionalProperties": false,
+ "properties": {
+ "Asn": {
+ "description": "ASN to assign to the Direct Connect VIF.",
+ "example": 64512,
+ "type": "integer"
+ },
+ "AwsConnectionId": {
+ "description": "AWS Id of the Direct Connect Connection.",
+ "example": "dxcon-abcdefgh",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "AwsRouterIp": {
+ "description": "The BGP peer IP configured on the AWS endpoint.",
+ "example": "192.168.0.2/30",
+ "type": "string"
+ },
+ "AwsVifId": {
+ "description": "The AWS Id of the Direct Connect VIF.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "DxGatewayId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "ExternalResource": {
+ "description": "Boolean value to determine if the resource did not originate from Stax.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "JumboMtu": {
+ "description": "Boolean value to enable Jumbo Frames.",
+ "example": false,
+ "type": "boolean"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Direct Connect VIF.",
+ "example": "Prod VIF",
+ "maxLength": 95,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "RouterIp": {
+ "description": "The BGP peer IP configured on your endpoint.",
+ "example": "192.168.0.1/30",
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the Stax DX VIF.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VifType": {
+ "description": "The type of Direct Connect VIF.",
+ "enum": [
+ "TRANSIT",
+ "PRIVATE"
+ ],
+ "example": "TRANSIT",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Vlan": {
+ "description": "VLAN for the Direct Connect VIF.",
+ "example": 4000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "VifType",
+ "AwsConnectionId",
+ "DxGatewayId",
+ "Vlan",
+ "Asn",
+ "RouterIp",
+ "AwsRouterIp",
+ "JumboMtu",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "DxVifStatus": {
+ "example": [
+ {
+ "BgpPeerId": "bgp-peer-id",
+ "BgpStatus": "up"
+ }
+ ],
+ "items": {
+ "$ref": "#/components/schemas/BgpMapping"
+ },
+ "type": "array"
+ },
+ "Error": {
+ "properties": {
+ "Cause": {
+ "type": "string"
+ },
+ "Error": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GatewayMap": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Asn": {
+ "description": "ASN to assign to the Direct Connect Gateway.",
+ "example": 64512,
+ "type": "integer"
+ },
+ "GatewayType": {
+ "description": "The type of the Stax DX Gateway.",
+ "enum": [
+ "TRANSIT",
+ "PRIVATE"
+ ],
+ "example": "TRANSIT",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Direct Connect Gateway.",
+ "example": "Prod Gateway",
+ "maxLength": 95,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Asn",
+ "AccountId",
+ "GatewayType"
+ ],
+ "type": "object"
+ },
+ "GitHash": {
+ "example": "f8cf81b",
+ "maxLength": 7,
+ "minLength": 7,
+ "readOnly": true,
+ "type": "string"
+ },
+ "Group": {
+ "additionalProperties": false,
+ "properties": {
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "GroupType": {
+ "description": "Group Type identifies whether group is managed by stax (LOCAL) or externally (SCIM).",
+ "enum": [
+ "LOCAL",
+ "SCIM"
+ ],
+ "example": "LOCAL",
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Group.",
+ "example": "DevOps",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Status": {
+ "description": "Status of the Group.",
+ "enum": [
+ "NEW",
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Users": {
+ "description": "Array of IDs of Users belonging to the Group.",
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "Status",
+ "GroupType"
+ ],
+ "type": "object"
+ },
+ "GuardDutyConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Features": {
+ "description": "A list of GuardDuty features that will be configured for the organization.",
+ "properties": {
+ "EBS_MALWARE_PROTECTION": {
+ "properties": {
+ "EbsSnapshotPreservation": {
+ "description": "Snapshot preservation settings.",
+ "enum": [
+ "NO_RETENTION",
+ "RETENTION_WITH_FINDING"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "Enable": {
+ "description": "Whether to enable malware scanning",
+ "type": "boolean"
+ },
+ "ScanResourceCriteria": {
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "nullable": true,
+ "properties": {
+ "Include": {
+ "additionalProperties": false,
+ "description": "Scan EC2 instances and EBS volumes using inclusion tags",
+ "properties": {
+ "EC2_INSTANCE_TAG": {
+ "description": "Scan EC2 instances and EBS volumes using inclusion tags",
+ "items": {
+ "$ref": "#/components/schemas/ScanTags"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "EC2_INSTANCE_TAG"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Include"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "nullable": true,
+ "properties": {
+ "Exclude": {
+ "additionalProperties": false,
+ "description": "Scan EC2 instances and EBS volumes using exclusion tags",
+ "properties": {
+ "EC2_INSTANCE_TAG": {
+ "description": "Scan EC2 instances and EBS volumes using exclusion tags",
+ "items": {
+ "$ref": "#/components/schemas/ScanTags"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "EC2_INSTANCE_TAG"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Exclude"
+ ],
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "required": [
+ "Enable",
+ "EbsSnapshotPreservation",
+ "ScanResourceCriteria"
+ ],
+ "type": "object"
+ },
+ "EKS_AUDIT_LOGS": {
+ "description": "Describes whether to monitor and generate findings from Kubernetes Audit Logs.",
+ "properties": {
+ "Enable": {
+ "description": "Whether to enable findings from Kubernetes Audit Logs.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable"
+ ],
+ "type": "object"
+ },
+ "EKS_RUNTIME_MONITORING": {
+ "description": "EKS Runtime Monitoring provides runtime threat detection coverage for Amazon Elastic Kubernetes Service (Amazon EKS) nodes and containers within your AWS environment.",
+ "properties": {
+ "EKS_ADDON_MANAGEMENT": {
+ "description": "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.",
+ "nullable": true,
+ "type": "boolean"
+ },
+ "Enable": {
+ "description": "Bool to indicate whether 'EKS Runtime Monitoring' is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable",
+ "EKS_ADDON_MANAGEMENT"
+ ],
+ "type": "object"
+ },
+ "LAMBDA_NETWORK_LOGS": {
+ "description": "Describes whether to monitor lambda function network logs",
+ "properties": {
+ "Enable": {
+ "description": "Whether to enable monitor lambda function network logs",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable"
+ ],
+ "type": "object"
+ },
+ "RDS_LOGIN_EVENTS": {
+ "description": "Describes whether to monitor and generate findings from RDS Protection.",
+ "properties": {
+ "Enable": {
+ "description": "Whether to enable findings from RDS Protection.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable"
+ ],
+ "type": "object"
+ },
+ "S3_DATA_EVENTS": {
+ "description": "Describes whether to monitor and generate findings on S3 data events.",
+ "properties": {
+ "Enable": {
+ "description": "Whether to enable S3 Protection.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enable"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "S3_DATA_EVENTS",
+ "EKS_AUDIT_LOGS",
+ "EBS_MALWARE_PROTECTION",
+ "RDS_LOGIN_EVENTS",
+ "EKS_RUNTIME_MONITORING",
+ "LAMBDA_NETWORK_LOGS"
+ ],
+ "type": "object"
+ },
+ "FindingPublishingFrequency": {
+ "description": " A value that specifies how frequently updated findings are exported.",
+ "enum": [
+ "FIFTEEN_MINUTES",
+ "ONE_HOUR",
+ "SIX_HOURS"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "FindingPublishingFrequency",
+ "Features"
+ ],
+ "type": "object"
+ },
+ "GuardrailsConfiguration": {
+ "additionalProperties": false,
+ "description": "A configuration that defines toggleable pre-built rules to construct security guardrails.",
+ "properties": {
+ "RCP": {
+ "$ref": "#/components/schemas/RcpGuardrail"
+ },
+ "SCP": {
+ "$ref": "#/components/schemas/ScpGuardrail"
+ }
+ },
+ "required": [
+ "SCP",
+ "RCP"
+ ],
+ "type": "object"
+ },
+ "HubConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "ImprovedAcceleration": {
+ "description": "Boolean value to turn on AWS Global Accelerator and the AWS global network for improved performance",
+ "example": false,
+ "type": "boolean"
+ },
+ "Name": {
+ "description": "Name of Stax VPN Connection.",
+ "example": "vpn-transit-connection",
+ "maxLength": 251,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "RoutingType": {
+ "description": "The type of routing for the VPN Connection, DYNAMIC or STATIC",
+ "enum": [
+ "DYNAMIC",
+ "STATIC"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "NetworkingHubId",
+ "ImprovedAcceleration"
+ ],
+ "type": "object"
+ },
+ "HubPeering": {
+ "additionalProperties": false,
+ "properties": {
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "DestinationAwsAccountId": {
+ "description": "The AWS Account Id that contains the Destination TGW.",
+ "example": "000011112222",
+ "maxLength": 12,
+ "minLength": 12,
+ "nullable": true,
+ "pattern": "^\\d{12,12}$",
+ "type": "string"
+ },
+ "DestinationAwsRegion": {
+ "$ref": "#/components/schemas/nullable-AwsRegion"
+ },
+ "DestinationAwsTgwId": {
+ "description": "The AWS Id of the Destination TGW.",
+ "example": "tgw-0000aaaa1111bbbbb",
+ "maxLength": 21,
+ "minLength": 21,
+ "nullable": true,
+ "pattern": "^tgw-[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "DestinationNetworkingHubId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "DestinationTgwPeeringAttachmentId": {
+ "description": "The AWS Id of the Destination TGW Peering attachment.",
+ "example": "tgw-attach-0000aaaa1111bbbbb",
+ "nullable": true,
+ "type": "string"
+ },
+ "ExternalResource": {
+ "description": "Boolean value to determine if the resource did not originate from Stax.",
+ "example": false,
+ "type": "boolean"
+ },
+ "HubPeeringTarget": {
+ "description": "The target type to determine the actions against the destination.",
+ "enum": [
+ "STAX_RESOURCE",
+ "STAX_ACCOUNT",
+ "EXTERNAL"
+ ],
+ "example": "STAX_RESOURCE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "The Name of the Hub Peering.",
+ "example": "Prod-Shared",
+ "maxLength": 128,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "SourceAwsAccountId": {
+ "description": "The AWS Account Id that contains the Source TGW.",
+ "example": "000011112222",
+ "maxLength": 12,
+ "minLength": 12,
+ "nullable": true,
+ "pattern": "^\\d{12,12}$",
+ "type": "string"
+ },
+ "SourceAwsRegion": {
+ "$ref": "#/components/schemas/nullable-AwsRegion"
+ },
+ "SourceAwsTgwId": {
+ "description": "The AWS Id of the Source TGW.",
+ "example": "tgw-0000aaaa1111bbbbb",
+ "maxLength": 21,
+ "minLength": 21,
+ "nullable": true,
+ "pattern": "^tgw-[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "SourceNetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "SourceTgwPeeringAttachmentId": {
+ "description": "The AWS Id of the Source TGW Peering attachment.",
+ "example": "tgw-attach-0000aaaa1111bbbbb",
+ "nullable": true,
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the Hub Peering.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "PENDING_ACCEPT",
+ "UPDATE_IN_PROGRESS"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Status",
+ "Name",
+ "HubPeeringTarget",
+ "SourceNetworkingHubId"
+ ],
+ "type": "object"
+ },
+ "IdamUser": {
+ "additionalProperties": false,
+ "properties": {
+ "access": {
+ "type": "object"
+ },
+ "attributes": {
+ "type": "object"
+ },
+ "createdTimestamp": {
+ "type": "integer"
+ },
+ "customerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "email": {
+ "description": "Email address of User.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "readOnly": true,
+ "type": "string"
+ },
+ "emailVerified": {
+ "type": "boolean"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "firstName": {
+ "description": "Given Name of the User.",
+ "example": "John",
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "lastName": {
+ "description": "Family Name of the User.",
+ "example": "Doe",
+ "maxLength": 128,
+ "minLength": 0,
+ "type": "string"
+ },
+ "orgAlias": {
+ "type": "string"
+ },
+ "organisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "requiredActions": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "role": {
+ "$ref": "#/components/schemas/Role"
+ },
+ "totp": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "email",
+ "id"
+ ],
+ "type": "object"
+ },
+ "IdamUserRole": {
+ "description": "Stax role assigned to an IDAM user.",
+ "enum": [
+ "customer_admin",
+ "customer_operations",
+ "customer_user",
+ "customer_readonly",
+ "customer_costadmin"
+ ],
+ "example": "customer_admin",
+ "type": "string"
+ },
+ "Insight": {
+ "additionalProperties": false,
+ "properties": {
+ "Action": {
+ "description": "The action / operation made",
+ "type": "string"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "EventSourceId": {
+ "description": "Id of the entry in the source system",
+ "type": "string"
+ },
+ "EventSourceKind": {
+ "description": "The system that originated this entry",
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Status": {
+ "enum": [
+ "PENDING",
+ "SUCCESS",
+ "FAILED"
+ ],
+ "example": "PENDING",
+ "type": "string"
+ },
+ "TargetId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "TargetKind": {
+ "enum": [
+ "ACCOUNT",
+ "CUSTOMER",
+ "ORGANISATION",
+ "ORGANISATIONAL_UNIT",
+ "OTHER",
+ "POLICY",
+ "SERVICE_CONFIGURATION"
+ ],
+ "type": "string"
+ },
+ "UserId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "CreatedTS",
+ "Action",
+ "Status",
+ "EventSourceKind",
+ "EventSourceId",
+ "UserId",
+ "TargetKind"
+ ],
+ "type": "object"
+ },
+ "KeyValueRequestParameter": {
+ "additionalProperties": false,
+ "example": {
+ "Key": "CostCode",
+ "Value": "12345"
+ },
+ "nullable": true,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "MessageEventDetail": {
+ "oneOf": [
+ {
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "NetworkingHub": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Asn": {
+ "description": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session",
+ "example": 64512,
+ "type": "integer"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what the Stax Networking Hub is used for.",
+ "example": "my-hub",
+ "maxLength": 2048,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "InterfaceEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/interface-endpoint"
+ },
+ "type": "array"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of Stax Networking Hub.",
+ "example": "non-prod",
+ "maxLength": 238,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "PhzSuffix": {
+ "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
+ "example": "my-domain.cloud",
+ "maxLength": 255,
+ "minLength": 2,
+ "nullable": true,
+ "type": "string"
+ },
+ "RedundantEndpoints": {
+ "description": "Boolean value declaring if redundant Interface VPC Endpoints will be created",
+ "example": true,
+ "type": "boolean"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Status": {
+ "description": "The status of the Stax Networking Hub.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VpnEcmpSupport": {
+ "description": "Boolean value declaring to enable or disable Equal Cost Multipath Protocol support",
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "AccountId",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "NetworkingTags": {
+ "additionalProperties": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ },
+ "example": {
+ "CostCode": "12345"
+ },
+ "maxProperties": 50,
+ "minProperties": 0,
+ "nullable": true,
+ "type": "object"
+ },
+ "Null": {
+ "nullable": true
+ },
+ "Operation": {
+ "enum": [
+ "CREATE",
+ "READ",
+ "UPDATE",
+ "DELETE",
+ "accounts:CreateAccount",
+ "accounts:CreateAccountType",
+ "accounts:CloseAccount",
+ "accounts:DiscoverAccount",
+ "accounts:DiscoverAccounts",
+ "accounts:DeleteAccountType",
+ "accounts:OnboardAccount",
+ "accounts:ReadAccountTypes",
+ "accounts:ReadAccounts",
+ "accounts:UpdateAccount",
+ "accounts:UpdateAccountType",
+ "accounts:UpdateAccountTypeAccess",
+ "accounts:UpdateAccountTypeMembers",
+ "insights:ReadInsights",
+ "organisations:AttachPolicy",
+ "organisations:DetachPolicy",
+ "organisations:CreateOrganisationalUnit",
+ "organisations:DeleteOrganisationalUnit",
+ "organisations:ReadOrganisationalUnit",
+ "organisations:UpdateOrganisationalUnit",
+ "teams:CreateApiToken",
+ "teams:CreateGroup",
+ "teams:CreateUser",
+ "teams:DeleteApiToken",
+ "teams:DeleteGroup",
+ "teams:DeleteUser",
+ "teams:ReadApiTokens",
+ "teams:ReadGroups",
+ "teams:ReadUsers",
+ "teams:UpdateApiToken",
+ "teams:UpdateGroup",
+ "teams:UpdateGroupMembers",
+ "teams:UpdateUser",
+ "teams:UpdateUserPassword",
+ "workloads:CreateCatalogueItem",
+ "workloads:CreateCatalogueVersion",
+ "workloads:CreateWorkload",
+ "workloads:DeleteCatalogueItem",
+ "workloads:DeleteCatalogueVersion",
+ "workloads:DeleteWorkload",
+ "workloads:ReadWorkloadCatalogueItems",
+ "workloads:ReadWorkloads",
+ "workloads:UpdateWorkload",
+ "networking:CreateHub",
+ "networking:UpdateHub",
+ "networking:DeleteHub",
+ "networking:CreateVpc",
+ "networking:UpdateVpc",
+ "networking:DeleteVpc",
+ "networking:CreateDnsResolver",
+ "networking:UpdateDnsResolver",
+ "networking:DeleteDnsResolver",
+ "networking:CreateDnsRule",
+ "networking:UpdateDnsRule",
+ "networking:DeleteDnsRule",
+ "networking:CreateDxResource",
+ "networking:UpdateDxVif",
+ "networking:DeleteDxVif",
+ "networking:CreateDxAssociation",
+ "networking:UpdateDxAssociation",
+ "networking:DeleteDxGateway",
+ "networking:DeleteDxAssociation",
+ "networking:CreateVpnCustomerGateway",
+ "networking:UpdateVpnCustomerGateway",
+ "networking:DeleteVpnCustomerGateway",
+ "networking:CreateVpnConnection",
+ "networking:UpdateVpnConnection",
+ "networking:DeleteVpnConnection",
+ "networking:CreateHubPrefixList",
+ "networking:CreateVpcPrefixList",
+ "networking:UpdatePrefixList",
+ "networking:UpdateHubPrefixListAssociation",
+ "networking:UpdateVpcPrefixListAssociation",
+ "networking:DeletePrefixList",
+ "networking:CreateHubPeering",
+ "networking:UpdateHubPeering",
+ "networking:DeleteHubPeering",
+ "account_assurance:CreateHardenAccount",
+ "account_assurance:UpdateHardenAccount",
+ "account_assurance:HardenAccount",
+ "account_discovery:DiscoverAccounts",
+ "aws_account:CreateAwsAccounts",
+ "idam_account:IdamAccount",
+ "idam_user:CreateIdamUser",
+ "idam_user:UpdateIdamUser",
+ "idam_workload:CreateIdamWorkload",
+ "organisation:CreateOrganisation",
+ "organisation_assurance:OrganisationAssurance",
+ "stax_account:CreateStaxAccount",
+ "stax_account:CloseStaxAccount",
+ "stax_account:OnboardStaxAccount",
+ "stax_account:UpdateStaxAccount",
+ "customer:CreateCustomer",
+ "saga:CreateCustomer",
+ "saga:CreateOrganisation",
+ "saga:UpdateOrganisation",
+ "saga:CreateAccount",
+ "saga:CreateAwsAccounts",
+ "saga:OnboardAccount",
+ "saga:UpdateAccount",
+ "saga:UpdateOrgAccounts",
+ "saga:CloseAccount",
+ "saga:DiscoverAccount",
+ "services:ReadAccountConfiguration",
+ "services:ReadConfigurations",
+ "services:ReadGuardDutyConfiguration",
+ "services:ReadGuardrailsConfiguration",
+ "services:ReadRegionsConfiguration",
+ "services:ReadSecurityHubConfiguration",
+ "services:ReadSsoConfiguration",
+ "services:ReadOrganizationConfiguration",
+ "services:ConfigureAccount",
+ "services:ConfigureGuardDuty",
+ "services:ConfigureGuardrails",
+ "services:ConfigureRegions",
+ "services:ConfigureSecurityHub",
+ "services:ConfigureSso",
+ "services:ConfigureOrganization",
+ "policies:AttachPolicy",
+ "policies:CreatePolicy",
+ "policies:DeletePolicy",
+ "policies:DetachPolicy",
+ "policies:ReadPolicies",
+ "policies:UpdatePolicy"
+ ],
+ "type": "string"
+ },
+ "OperationStatus": {
+ "description": "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.",
+ "enum": [
+ "STARTED",
+ "PENDING",
+ "RUNNING",
+ "SUCCEEDED",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "OptInAwsRegion": {
+ "description": "The available opt-in AWS Regions",
+ "enum": [
+ "af-south-1",
+ "ap-east-1",
+ "ap-south-2",
+ "ap-southeast-3",
+ "ap-southeast-4",
+ "eu-central-2",
+ "eu-south-1",
+ "eu-south-2",
+ "il-central-1",
+ "me-central-1",
+ "me-south-1"
+ ],
+ "type": "string"
+ },
+ "Organisation": {
+ "properties": {
+ "Alias": {
+ "description": "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).",
+ "example": "my-stax-org",
+ "maxLength": 32,
+ "minLength": 3,
+ "type": "string"
+ },
+ "AllowedDomains": {
+ "description": "Allowed email domains for the Organisation, this limits who can be invited to your Team.",
+ "example": [
+ "@example.com",
+ "@stax.io"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 64,
+ "minLength": 3,
+ "nullable": true,
+ "type": "array"
+ },
+ "AttachedPolicies": {
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "AuthProvider": {
+ "description": "The Auth Provider for the Organisation.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "example": "V1",
+ "readOnly": true,
+ "type": "string"
+ },
+ "AwsAccountEmailTemplate": {
+ "description": "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.",
+ "example": "stax.user+${Stax::AccountId}@example.com",
+ "maxLength": 64,
+ "minLength": 3,
+ "nullable": true,
+ "type": "string"
+ },
+ "AwsPartnerSupport": {
+ "description": "AWS Partner Led Support - if you have partner led support then Stax Support will open AWS Support cases on your behalf.",
+ "type": "boolean"
+ },
+ "AwsSupportType": {
+ "description": "Default AWS Support level set on Accounts in your Organisation.",
+ "enum": [
+ "BASIC",
+ "DEVELOPER",
+ "BUSINESS",
+ "ENTERPRISE"
+ ],
+ "example": "ENTERPRISE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ComplianceType": {
+ "description": "Compliance type for the Organisation.",
+ "enum": [
+ "APRA",
+ "PCI",
+ "SOC2"
+ ],
+ "example": "PCI",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ExternalStaxId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Features": {
+ "nullable": true,
+ "type": "object"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "LandingZoneType": {
+ "description": "The type of Landing Zone for the Organisation.",
+ "enum": [
+ "STAX",
+ "VLZAWS"
+ ],
+ "example": "STAX",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Organisation",
+ "example": "default",
+ "maxLength": 64,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ "Regions": {
+ "description": "A list of Available AWS Regions for the Organisation",
+ "example": [
+ "ap-southeast-2",
+ "us-east-1"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "type": "array"
+ },
+ "SpotlightSsoURL": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the Organisation.",
+ "enum": [
+ "NEW",
+ "INITIALIZING",
+ "ACTIVE",
+ "SUSPENDED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "SystemUserId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "OrganisationalUnit": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsId": {
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ExternalResource": {
+ "description": "Boolean value to determine if the resource did not originate from Stax.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Organisational Unit.",
+ "example": "Security",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "OrganisationalUnitType": {
+ "description": "Type of the organisational unit.",
+ "enum": [
+ "ROOT",
+ "STAX_DEFAULT",
+ "STAX_SECURITY",
+ "STAX_ACCOUNT_POOL",
+ "ORGANISATION_ROOT",
+ "CHILD"
+ ],
+ "example": "ROOT",
+ "readOnly": true,
+ "type": "string"
+ },
+ "ParentOrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Status": {
+ "description": "Status of the organisational unit.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_FAILED",
+ "CREATE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "UPDATE_IN_PROGRESS"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Status",
+ "Name",
+ "ParentOrganisationalUnitId",
+ "OrganisationalUnitType",
+ "AwsId",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS"
+ ],
+ "type": "object"
+ },
+ "OrganizationConfiguration": {
+ "additionalProperties": false,
+ "description": "A configuration that contains generic settings to be applied to the entire Stax Organization.",
+ "properties": {
+ "BEDROCK_ALLOW_CROSS_REGIONAL_ACCESS": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "OrganizationFeatures": {
+ "additionalProperties": false,
+ "description": "Feature flags for the Stax Organization.",
+ "properties": {
+ "NetworksEnabled": {
+ "type": "boolean"
+ },
+ "WorkloadsEnabled": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "NetworksEnabled",
+ "WorkloadsEnabled"
+ ],
+ "type": "object"
+ },
+ "Pagination": {
+ "description": "Pagination metadata. Present when limit and offset parameters are supplied.",
+ "properties": {
+ "NextOffset": {
+ "anyOf": [
+ {
+ "description": "Offset value to provide to retrieve the next set of items. Null when there are no more pages to fetch.",
+ "example": 20,
+ "nullable": true,
+ "type": "number"
+ }
+ ],
+ "description": "Offset value to provide to retrieve the next set of items. Null when there are no more pages to fetch.",
+ "example": 20,
+ "nullable": true,
+ "type": "number"
+ },
+ "PrevOffset": {
+ "anyOf": [
+ {
+ "description": "Offset value to provide to retrieve the previous set of items. Null when the first page is returned.",
+ "example": null,
+ "nullable": true,
+ "type": "number"
+ }
+ ],
+ "description": "Offset value to provide to retrieve the previous set of items. Null when the first page is returned.",
+ "example": null,
+ "nullable": true,
+ "type": "number"
+ },
+ "Total": {
+ "description": "Total number of items in the full pagination set after filters are applied.",
+ "example": 100,
+ "type": "number"
+ }
+ },
+ "required": [
+ "Total",
+ "NextOffset",
+ "PrevOffset"
+ ],
+ "type": "object"
+ },
+ "Parameter": {
+ "additionalProperties": {},
+ "example": {
+ "CostCode": "12345",
+ "Dept": "Marketing"
+ },
+ "nullable": true,
+ "type": "object"
+ },
+ "Policy": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsId": {
+ "description": "The Aws Id of the Policy.",
+ "example": "dc1a70bd-642f-41c6-9aa5-50b65e7d592e",
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "Content": {
+ "type": "object"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of the Policy.",
+ "example": "A Service Control Policy that denies access to all.",
+ "maxLength": 512,
+ "minLength": 3,
+ "nullable": true,
+ "type": "string"
+ },
+ "ExternalResource": {
+ "description": "Boolean value to determine if the resource did not originate from Stax.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Policy.",
+ "example": "DenyAll",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "OrganisationAttachment": {
+ "additionalProperties": false,
+ "nullable": true,
+ "properties": {
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "PolicyId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Status": {
+ "description": "Status of the Organisation Policy.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_FAILED",
+ "CREATE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "PolicyId",
+ "Status",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS"
+ ],
+ "type": "object"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "PolicyOwner": {
+ "description": "The Owner of the Policy.",
+ "enum": [
+ "AWS",
+ "STAX",
+ "ORGANISATION"
+ ],
+ "example": "ORGANISATION",
+ "readOnly": true,
+ "type": "string"
+ },
+ "PolicyType": {
+ "description": "The Type of Policy.",
+ "enum": [
+ "SCP"
+ ],
+ "example": "SCP",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the Policy.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_FAILED",
+ "CREATE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Status",
+ "Name",
+ "Description",
+ "PolicyType",
+ "Content",
+ "PolicyOwner",
+ "AwsId",
+ "ExternalResource",
+ "OrganisationAttachment",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS"
+ ],
+ "type": "object"
+ },
+ "PolicyAttachment": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "PolicyAttachmentType": {
+ "description": "Type of the Policy Attachment.",
+ "enum": [
+ "STAX_MANDATORY",
+ "STAX_ORGANISATION",
+ "ORGANISATIONAL_UNIT",
+ "ACCOUNT"
+ ],
+ "example": "ORGANISATIONAL_UNIT",
+ "readOnly": true,
+ "type": "string"
+ },
+ "PolicyId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Status": {
+ "description": "Status of the Policy Attachment.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_FAILED",
+ "CREATE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Status",
+ "PolicyId",
+ "OrganisationalUnitId",
+ "AccountId",
+ "PolicyAttachmentType",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS"
+ ],
+ "type": "object"
+ },
+ "PrefixList": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsPrefixListId": {
+ "description": "The AWS Id of the Prefix List.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "AwsTargetId": {
+ "description": "The AWS Id of either a VPN, VPC or Direct Connect Gateway to the target of the HUB Prefix List associations.",
+ "example": "BLACKHOLE",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Entries": {
+ "description": "The CIDR Ranges to include in the Prefix List.",
+ "example": [
+ "192.168.0.1/32",
+ "192.168.0.2/32"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "MaxEntries": {
+ "description": "The maximum number of CIDR entries that can exist in the Prefix List.",
+ "example": 3,
+ "type": "integer"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Stax Prefix List.",
+ "example": "example",
+ "maxLength": 245,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "PrefixListType": {
+ "description": "The type of Prefix List.",
+ "enum": [
+ "VPC",
+ "HUB"
+ ],
+ "example": "HUB",
+ "type": "string"
+ },
+ "RouteTableTypes": {
+ "description": "The TGW Route Table types to associate a HUB Prefix List with.",
+ "example": [
+ "INFRASTRUCTURE",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "INFRASTRUCTURE",
+ "ISOLATED",
+ "ONPREMISES",
+ "FLAT"
+ ],
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Status": {
+ "description": "The status of the Stax Prefix List.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "SubnetTypes": {
+ "description": "The subnet types to associate a VPC Prefix List with.",
+ "example": [
+ "PRIVATE",
+ "RESTRICTED"
+ ],
+ "items": {
+ "enum": [
+ "PRIVATE",
+ "PUBLIC",
+ "RESTRICTED",
+ "CONNECTIVITY",
+ "ENDPOINT"
+ ],
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "TargetId": {
+ "description": "The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List.",
+ "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "nullable": true,
+ "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}$",
+ "type": "string"
+ },
+ "TargetType": {
+ "description": "The type of the target for the HUB Prefix List associations.",
+ "enum": [
+ "BLACKHOLE",
+ "VPC",
+ "VPN",
+ "DIRECT_CONNECT_GATEWAY",
+ "HUB_PEERING"
+ ],
+ "example": "BLACKHOLE",
+ "nullable": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VpcIds": {
+ "description": "The list of Stax VPC Ids to associate a VPC Prefix List with.",
+ "example": [
+ "a7220870-40fe-4235-abb3-4d42af0336c2",
+ "7e542285-8b90-4b57-81e1-96e87e5ee443"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "VpcTypes": {
+ "description": "The VPC types to associate a VPC Prefix List with.",
+ "example": [
+ "TRANSIT",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "TRANSIT",
+ "ISOLATED",
+ "FLAT",
+ "SHAREDSERVICES"
+ ],
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Zones": {
+ "description": "The VPC Zones to associate a VPC or HUB Prefix List with.",
+ "example": [
+ "ZONE1",
+ "ZONE2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Id",
+ "NetworkingHubId",
+ "Status",
+ "Name",
+ "MaxEntries",
+ "Entries",
+ "PrefixListType"
+ ],
+ "type": "object"
+ },
+ "PrivateAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "Prefixes": {
+ "description": "The CIDR Ranges to advertise to on-premises.",
+ "example": [
+ "192.168.0.0/24",
+ "192.168.1.0/24"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "VpcId",
+ "Prefixes"
+ ],
+ "type": "object"
+ },
+ "RcpGuardrail": {
+ "additionalProperties": false,
+ "description": "A mapping of guardrails to be enabled as resource control policies.",
+ "type": "object"
+ },
+ "RegionsConfiguration": {
+ "additionalProperties": false,
+ "description": "Lists all AWS Regions and groups them by their enabled or disabled status, all AWS Regions must be supplied.",
+ "properties": {
+ "Disabled": {
+ "description": "The regions to disable for the Stax Organisation",
+ "items": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "type": "array"
+ },
+ "Enabled": {
+ "description": "The regions to enable for the Stax Organisation",
+ "items": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "object"
+ },
+ "Role": {
+ "description": "Stax role assigned to user.",
+ "enum": [
+ "customer_root",
+ "customer_admin",
+ "customer_operations",
+ "customer_user",
+ "customer_readonly",
+ "customer_costadmin",
+ "api_admin",
+ "api_operations",
+ "api_user",
+ "api_readonly"
+ ],
+ "example": "customer_admin",
+ "type": "string"
+ },
+ "ScanTags": {
+ "additionalProperties": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ },
+ "example": {
+ "CostCode": "12345"
+ },
+ "maxProperties": 1,
+ "minProperties": 1,
+ "nullable": true,
+ "type": "object"
+ },
+ "ScpGuardrail": {
+ "additionalProperties": false,
+ "description": "A mapping of guardrails to be enabled as service control policies.",
+ "properties": {
+ "ACCOUNT_BLOCK_CLOSING_ACCOUNT": {
+ "type": "boolean"
+ },
+ "ACCOUNT_BLOCK_ENABLING_OR_DISABLING_REGIONS": {
+ "type": "boolean"
+ },
+ "AWSCONFIG_BLOCK_CHANGES_TO_SERVICE": {
+ "type": "boolean"
+ },
+ "EBS_BLOCK_DIRECT_API_CALLS": {
+ "type": "boolean"
+ },
+ "EBS_BLOCK_DISABLING_DEFAULT_ENCRYPTION": {
+ "type": "boolean"
+ },
+ "EBS_BLOCK_PUBLICLY_RESTORABLE_SNAPSHOTS": {
+ "type": "boolean"
+ },
+ "EC2_BLOCK_MODIFYING_IMDS_DEFAULTS": {
+ "type": "boolean"
+ },
+ "EC2_BLOCK_PUBLIC_ACCESS_ON_AMIS": {
+ "type": "boolean"
+ },
+ "EC2_BLOCK_PUBLIC_ACCESS_ON_SNAPSHOTS": {
+ "type": "boolean"
+ },
+ "EC2_REQUIRE_IMDSV2": {
+ "type": "boolean"
+ },
+ "GUARDDUTY_BLOCK_CHANGES_TO_SERVICE": {
+ "type": "boolean"
+ },
+ "IAM_BLOCK_CREATING_IAM_USER": {
+ "type": "boolean"
+ },
+ "IAM_BLOCK_IAM_ACCESS_KEYS_AND_LOGIN_PROFILES": {
+ "type": "boolean"
+ },
+ "IAM_BLOCK_MODIFYING_IAM_USER_PASSWORD_POLICIES": {
+ "type": "boolean"
+ },
+ "IAM_BLOCK_ROOT_USER_ACCESS": {
+ "type": "boolean"
+ },
+ "LAMBDA_REQUIRE_IAM_AUTH_FOR_LAMBDA_FUNCTION_URLS": {
+ "type": "boolean"
+ },
+ "MACIE_BLOCK_SERVICE": {
+ "type": "boolean"
+ },
+ "ORGANIZATIONS_BLOCK_LEAVING_AWS_ORGANISATION": {
+ "type": "boolean"
+ },
+ "RAM_BLOCK_EXTERNAL_ACCESS_TO_RESOURCES": {
+ "type": "boolean"
+ },
+ "ROUTE53_BLOCK_CHANGES_TO_DOMAIN": {
+ "type": "boolean"
+ },
+ "S3_BLOCK_DELETING_GLACIER_VAULTS_AND_ARCHIVES": {
+ "type": "boolean"
+ },
+ "S3_BLOCK_MODIFYING_ACCOUNT_WIDE_PUBLIC_ACCESS": {
+ "type": "boolean"
+ },
+ "S3_REQUIRE_BUCKET_OWNERSHIP_FOR_OBJECTS_IN_NEW_BUCKETS": {
+ "type": "boolean"
+ },
+ "SECURITYHUB_BLOCK_CHANGES_TO_SERVICE": {
+ "type": "boolean"
+ },
+ "SSM_BLOCK_CHANGES_TO_PUBLIC_SHARING_SETTING": {
+ "type": "boolean"
+ },
+ "SSM_BLOCK_MODIFYING_SESSION_MANAGER_DEFAULT_PREFERENCES": {
+ "type": "boolean"
+ },
+ "VPC_BLOCK_CREATING_DEFAULT_VPC_AND_SUBNET": {
+ "type": "boolean"
+ },
+ "VPC_BLOCK_DELETING_VPC_FLOW_LOGS": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "SecurityHubConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Standards": {
+ "additionalProperties": false,
+ "properties": {
+ "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0": {
+ "type": "boolean"
+ },
+ "AWS_REGIONS": {
+ "description": "List of AWS Regions to enable security hub standards in.",
+ "example": [
+ "ap-southeast-2",
+ "us-west-2"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "type": "array"
+ },
+ "AWS_RESOURCE_TAGGING_STANDARD_1_0_0": {
+ "type": "boolean"
+ },
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0": {
+ "type": "boolean"
+ },
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0": {
+ "type": "boolean"
+ },
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_3_0_0": {
+ "type": "boolean"
+ },
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_5_0_0": {
+ "type": "boolean"
+ },
+ "NIST_SP_800_171_REVISION_2": {
+ "type": "boolean"
+ },
+ "NIST_SP_800_53_REVISION_5": {
+ "type": "boolean"
+ },
+ "PCI_DSS_3_2_1": {
+ "type": "boolean"
+ },
+ "PCI_DSS_4_0_1": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "AWS_FOUNDATIONAL_SECURITY_BEST_PRACTICES_1_0_0",
+ "AWS_REGIONS",
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_1_2_0",
+ "CIS_AWS_FOUNDATIONS_BENCHMARK_1_4_0",
+ "PCI_DSS_3_2_1"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Standards"
+ ],
+ "type": "object"
+ },
+ "ServiceConfiguration": {
+ "properties": {
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Enabled": {
+ "description": "Set to True if enabling an organisation service like guardduty.",
+ "type": "boolean"
+ },
+ "Exclusions": {
+ "description": "The exclusions for the service configuration",
+ "items": {
+ "type": "string"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2019-03-11T01:11:40.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Service": {
+ "description": "The service to configure",
+ "enum": [
+ "SECURITYHUB",
+ "GUARDDUTY",
+ "REGIONS",
+ "ACCOUNT",
+ "GUARDRAILS",
+ "ORGANIZATION",
+ "SSO"
+ ],
+ "example": "SECURITYHUB",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the service configuration",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE",
+ "CONFIGURING",
+ "ERROR"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "OrganisationId",
+ "Service",
+ "Enabled",
+ "Exclusions",
+ "Status"
+ ],
+ "type": "object"
+ },
+ "SsoConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "IAM_IDENTITY_CENTRE": {
+ "additionalProperties": false,
+ "properties": {
+ "AWS_ACCOUNT_ID": {
+ "maxLength": 12,
+ "minLength": 12,
+ "nullable": true,
+ "pattern": "^\\d{12,12}$",
+ "type": "string"
+ },
+ "AWS_IDENTITY_STORE_ID": {
+ "maxLength": 64,
+ "minLength": 1,
+ "nullable": true,
+ "pattern": "^[a-zA-Z0-9-]*",
+ "type": "string"
+ },
+ "AWS_INSTANCE_ID": {
+ "maxLength": 23,
+ "minLength": 16,
+ "nullable": true,
+ "pattern": "^(sso)?ins-[a-zA-Z0-9-.]{16}",
+ "type": "string"
+ },
+ "AWS_REGION": {
+ "$ref": "#/components/schemas/nullable-AwsRegion"
+ },
+ "ENABLED": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ENABLED",
+ "AWS_ACCOUNT_ID",
+ "AWS_REGION",
+ "AWS_INSTANCE_ID",
+ "AWS_IDENTITY_STORE_ID"
+ ],
+ "type": "object"
+ },
+ "LOCAL": {
+ "additionalProperties": false,
+ "properties": {
+ "ENABLED": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "ENABLED"
+ ],
+ "type": "object"
+ },
+ "MFA": {
+ "additionalProperties": false,
+ "properties": {
+ "REQUIRED": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "REQUIRED"
+ ],
+ "type": "object"
+ },
+ "SAML": {
+ "additionalProperties": false,
+ "properties": {
+ "ENABLED": {
+ "type": "boolean"
+ },
+ "METADATA_URL": {
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "ENABLED",
+ "METADATA_URL"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "IAM_IDENTITY_CENTRE",
+ "LOCAL",
+ "SAML",
+ "MFA"
+ ],
+ "type": "object"
+ },
+ "StaxEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/TaskEventDetail"
+ }
+ }
+ },
+ "StaxTags": {
+ "additionalProperties": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ },
+ "example": {
+ "CostCode": "12345"
+ },
+ "maxProperties": 100,
+ "minProperties": 0,
+ "nullable": true,
+ "type": "object"
+ },
+ "Tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "example": {
+ "CostCode": "12345"
+ },
+ "maxProperties": 100,
+ "minProperties": 0,
+ "nullable": true,
+ "type": "object"
+ },
+ "TaskEventDetail": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEventDetail"
+ }
+ ],
+ "properties": {
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ }
+ },
+ "TraceEventDetail": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEventDetail"
+ }
+ ],
+ "properties": {
+ "TraceId": {
+ "type": "string"
+ }
+ }
+ },
+ "TransitAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Prefixes": {
+ "description": "The CIDR Ranges to advertise to on-premises.",
+ "example": [
+ "192.168.0.0/24",
+ "192.168.1.0/24"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "NetworkingHubId",
+ "Prefixes"
+ ],
+ "type": "object"
+ },
+ "TunnelMapping": {
+ "additionalProperties": false,
+ "properties": {
+ "TunnelName": {
+ "description": "The name of VPN tunnel",
+ "type": "string"
+ },
+ "TunnelStatus": {
+ "description": "The status of the VPN tunnel.",
+ "enum": [
+ "up",
+ "down"
+ ],
+ "example": "up",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "UpdateCatalogueDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadCatalogueItem": {
+ "$ref": "#/components/schemas/CatalogueData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "UpdateCatalogueEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "$ref": "#/components/schemas/UpdateCatalogueDetail"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "UpdateWorkloadDetail": {
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "Workload": {
+ "$ref": "#/components/schemas/WorkloadData"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "UpdateWorkloadEvent": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ }
+ ],
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/UpdateWorkloadDetail"
+ },
+ "WorkloadId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "type": "object"
+ },
+ "User": {
+ "properties": {
+ "AuthOrigin": {
+ "example": "idam",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "CustomerId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Email": {
+ "description": "Email address of User.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "readOnly": true,
+ "type": "string"
+ },
+ "FirstName": {
+ "description": "Given Name of the User.",
+ "example": "John",
+ "maxLength": 128,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "LastName": {
+ "description": "Family Name of the User.",
+ "example": "Doe",
+ "maxLength": 128,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "MFAEnabled": {
+ "description": "Identifies if multi-factor authentication is enabled. Null for federated users and true or false for local users.",
+ "example": true,
+ "nullable": true,
+ "readOnly": true,
+ "type": "boolean"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Concatenation of first and last name. Defaults to email address if neither are present.",
+ "example": "John Doe",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/Role"
+ },
+ "Status": {
+ "description": "Status of the User.",
+ "enum": [
+ "ACTIVE",
+ "DISABLED",
+ "DELETED",
+ "INVITED",
+ "NEW"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "Email",
+ "Name",
+ "OrganisationId"
+ ],
+ "type": "object"
+ },
+ "UserGroupMemberMap": {
+ "additionalProperties": false,
+ "properties": {
+ "GroupId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "UserId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "UserId",
+ "GroupId"
+ ],
+ "type": "object"
+ },
+ "VPC": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AwsVpcId": {
+ "description": "The AWS VPC ID.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23",
+ "example": "10.128.0.0/23",
+ "type": "string"
+ },
+ "CidrRangeId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CreateFlowlogCwl": {
+ "description": "Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateIgw": {
+ "description": "Boolean value declaring if Internet Gateway is enabled",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateNat": {
+ "description": "Boolean value declaring if NAT Gateways is enabled",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateVgw": {
+ "description": "Boolean value declaring if a Virtual Private Gateway is enabled",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what the Stax VPC is used for.",
+ "example": "VPC for my particular application",
+ "maxLength": 2048,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "GatewayEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/gateway-endpoint"
+ },
+ "type": "array"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of Stax VPC",
+ "example": "non-prod",
+ "maxLength": 255,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "PhzId": {
+ "description": "The Route53 Private Hosted Zone Id for the VPC",
+ "example": "PHZAAEXAMPLE",
+ "nullable": true,
+ "type": "string"
+ },
+ "PhzPrefix": {
+ "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
+ "example": "dev",
+ "maxLength": 255,
+ "minLength": 2,
+ "nullable": true,
+ "type": "string"
+ },
+ "RedundantNat": {
+ "description": "Boolean value declaring if redundant NAT Gateways will be created",
+ "example": false,
+ "type": "boolean"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Size": {
+ "description": "Size of the VPC.",
+ "enum": [
+ "SMALL",
+ "MEDIUM",
+ "LARGE"
+ ],
+ "example": "SMALL",
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the Stax VPC.",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "Type": {
+ "description": "Type of VPC. The Type determines what Route Tables are attached to the VPC",
+ "enum": [
+ "FLAT",
+ "ISOLATED",
+ "SHAREDSERVICES",
+ "TRANSIT"
+ ],
+ "example": "FLAT",
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VgwAsn": {
+ "description": "The ASN of the Virtual Private Gateway.",
+ "example": 64513,
+ "nullable": true,
+ "type": "integer"
+ },
+ "Zone": {
+ "description": "All 'Flat' VPCs in the same Zone can communicate to each other.",
+ "example": "non-prod",
+ "maxLength": 213,
+ "minLength": 2,
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "AccountId",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "VifMap": {
+ "additionalProperties": false,
+ "properties": {
+ "Asn": {
+ "description": "ASN to assign to the Direct Connect VIF.",
+ "example": 64513,
+ "type": "integer"
+ },
+ "AwsConnectionId": {
+ "description": "AWS Id of the Direct Connect Connection.",
+ "example": "dxcon-abcdefgh",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "AwsRouterIp": {
+ "description": "The BGP peer IP configured on the AWS endpoint.",
+ "example": "192.168.0.2/30",
+ "type": "string"
+ },
+ "BgpAuthKey": {
+ "description": "The password that will be used to authenticate the BGP session.",
+ "example": "secret",
+ "type": "string"
+ },
+ "DxGatewayId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "JumboMtu": {
+ "description": "Boolean value to enable Jumbo Frames.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Name": {
+ "description": "Name of the Direct Connect VIF.",
+ "example": "Prod VIF",
+ "maxLength": 95,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "RouterIp": {
+ "description": "The BGP peer IP configured on your endpoint.",
+ "example": "192.168.0.1/30",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "Vlan": {
+ "description": "VLAN for the Direct Connect VIF.",
+ "example": 4000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Name",
+ "AwsConnectionId",
+ "Vlan",
+ "Asn",
+ "RouterIp",
+ "AwsRouterIp",
+ "BgpAuthKey",
+ "JumboMtu"
+ ],
+ "type": "object"
+ },
+ "VpcConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of Stax VPN Connection.",
+ "example": "vpn-private-connection",
+ "maxLength": 251,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "VpcId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "Name",
+ "VpcId"
+ ],
+ "type": "object"
+ },
+ "VpnConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "AwsVpnConnectionId": {
+ "description": "The AWS Id of the VPN Connection.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ImprovedAcceleration": {
+ "description": "Boolean value to turn on AWS Global Accelerator and the AWS global network for improved performance",
+ "example": false,
+ "type": "boolean"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Customer Gateway.",
+ "example": "Prod Gateway",
+ "maxLength": 95,
+ "minLength": 2,
+ "pattern": "(?!^[0-9]$)([a-zA-Z0-9-_' '])",
+ "type": "string"
+ },
+ "NetworkingHubId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "RoutingType": {
+ "description": "The type of routing for the VPN Connection, DYNAMIC or STATIC",
+ "enum": [
+ "DYNAMIC",
+ "STATIC"
+ ],
+ "type": "string"
+ },
+ "Status": {
+ "description": "The status of the Stax VPN Customer Gateway",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VpcId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "VpnConnectionType": {
+ "description": "The type of VPN Connection.",
+ "enum": [
+ "HUB",
+ "VPC"
+ ],
+ "example": "HUB",
+ "readOnly": true,
+ "type": "string"
+ },
+ "VpnCustomerGatewayId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "Name",
+ "VpnCustomerGatewayId"
+ ],
+ "type": "object"
+ },
+ "VpnConnectionStatus": {
+ "example": [
+ {
+ "TunnelName": "VPN Tunnel",
+ "TunnelStatus": "up"
+ }
+ ],
+ "items": {
+ "$ref": "#/components/schemas/TunnelMapping"
+ },
+ "type": "array"
+ },
+ "VpnCustomerGateway": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Asn": {
+ "description": "ASN to assign to the Customer Gateway.",
+ "example": 64512,
+ "type": "integer"
+ },
+ "AwsVpnCustomerGatewayId": {
+ "description": "The AWS ID of the VPN Customer Gateway.",
+ "nullable": true,
+ "readOnly": true,
+ "type": "string"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "IpAddress": {
+ "description": "The IP address for the customer gateway's outside interface.",
+ "example": "192.168.1.0",
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Customer Gateway.",
+ "example": "Prod Gateway",
+ "maxLength": 95,
+ "minLength": 2,
+ "pattern": "(?!^[0-9]$)([a-zA-Z0-9-_' '])",
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Status": {
+ "description": "The status of the Stax VPN Customer Gateway",
+ "enum": [
+ "ACTIVE",
+ "CREATE_IN_PROGRESS",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED"
+ ],
+ "example": "ACTIVE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Name",
+ "Asn",
+ "AccountId"
+ ],
+ "type": "object"
+ },
+ "Workload": {
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueVersion": {
+ "description": "Current version",
+ "nullable": true,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "WorkloadVersion": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "The Workload name.",
+ "example": "my-workload-is-cool",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Protection": {
+ "description": "Boolean value declaring if the Workload is protected from deletion",
+ "example": false,
+ "type": "boolean"
+ },
+ "Region": {
+ "description": "AWS Region the workload will be launched in",
+ "example": "us-east-1",
+ "maxLength": 32,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the Workload.",
+ "enum": [
+ "NEW",
+ "INITIALIZING",
+ "ACTIVE",
+ "CREATE_FAILED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "DELETE_FAILED",
+ "UPDATE_IN_PROGRESS",
+ "UPDATE_FAILED",
+ "UPDATE_COMPLETE"
+ ],
+ "example": "NEW",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "CatalogueId",
+ "AccountId",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "WorkloadCatalogue": {
+ "properties": {
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Workload Catalogue Item to create.",
+ "example": "my-directory-service",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Protection": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Public": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Status": {
+ "$ref": "#/components/schemas/CatalogueStatus"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Versions": {
+ "items": {
+ "$ref": "#/components/schemas/WorkloadCatalogueVersion"
+ },
+ "readOnly": true,
+ "type": "array"
+ }
+ },
+ "required": [
+ "Id",
+ "Name",
+ "Status",
+ "OrganisationId"
+ ],
+ "type": "object"
+ },
+ "WorkloadCatalogueVersion": {
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ManifestURL": {
+ "description": "HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided.",
+ "example": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Outputs": {
+ "items": {
+ "example": "bread",
+ "type": "string"
+ },
+ "nullable": true,
+ "readOnly": true,
+ "type": "array"
+ },
+ "Parameters": {
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "type": "array"
+ },
+ "Public": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Status": {
+ "description": "Status of the Workload.",
+ "enum": [
+ "NEW",
+ "UPLOADING",
+ "VALIDATING",
+ "ACTIVE",
+ "DELETED",
+ "FAILED"
+ ],
+ "example": "NEW",
+ "readOnly": true,
+ "type": "string"
+ },
+ "UserTaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "WorkloadVersion": {
+ "example": "0.01",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Id",
+ "Status",
+ "ManifestURL",
+ "WorkloadVersion"
+ ],
+ "type": "object"
+ },
+ "WorkloadData": {
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Name": {
+ "description": "The Workload name.",
+ "example": "my-workload-is-cool",
+ "maxLength": 64,
+ "minLength": 2,
+ "nullable": true,
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OrgId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Protection": {
+ "description": "Boolean value declaring if the Workload Catalogue Item is public or private.",
+ "example": false,
+ "nullable": true,
+ "type": "boolean"
+ },
+ "Region": {
+ "description": "AWS Region the workload will be launched in",
+ "example": "us-east-1",
+ "maxLength": 32,
+ "nullable": true,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "WorkloadId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "TraceId",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "accounts.CloseAccount": {
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "accounts.CloseAccountResponse": {
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.CreateAccount": {
+ "properties": {
+ "AccountType": {
+ "anyOf": [
+ {
+ "example": "development",
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ ]
+ },
+ "AwsAccountAlias": {
+ "description": "The IAM alias for the account",
+ "maxLength": 48,
+ "minLength": 1,
+ "nullable": true,
+ "pattern": "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Account.",
+ "example": "bakery",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[ -;=?-~]+$",
+ "type": "string"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "required": [
+ "Name",
+ "AccountType"
+ ],
+ "type": "object"
+ },
+ "accounts.CreateAccountResponse": {
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "properties": {
+ "Account": {
+ "properties": {
+ "AccountType": {
+ "anyOf": [
+ {
+ "example": "development",
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ ]
+ },
+ "AwsAccountAlias": {
+ "description": "The IAM alias for the account",
+ "maxLength": 48,
+ "minLength": 1,
+ "nullable": true,
+ "pattern": "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$",
+ "type": "string"
+ },
+ "Name": {
+ "example": "automation",
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "type": "object"
+ },
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.CreateAccountType": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of the Account Type.",
+ "example": "Development",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "accounts.CreateAccountTypeResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountType": {
+ "$ref": "#/components/schemas/AccountType"
+ },
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity",
+ "AccountType"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.DeleteAccountTypeResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountTypes": {
+ "$ref": "#/components/schemas/AccountType"
+ }
+ },
+ "required": [
+ "AccountTypes"
+ ],
+ "type": "object"
+ },
+ "accounts.DiscoverAccount": {
+ "type": "object"
+ },
+ "accounts.DiscoverAccounts": {
+ "type": "object"
+ },
+ "accounts.DiscoverAccountsResponse": {
+ "allOf": [
+ {
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TaskId",
+ "CustomerId",
+ "TraceId"
+ ],
+ "type": "object"
+ },
+ {
+ "$ref": "#/components/schemas/BaseEvent"
+ },
+ {
+ "properties": {
+ "Detail": {
+ "$ref": "#/components/schemas/TraceEventDetail"
+ }
+ }
+ }
+ ]
+ },
+ "accounts.OnboardAccount": {
+ "properties": {
+ "AccountType": {
+ "anyOf": [
+ {
+ "example": "Development",
+ "type": "string"
+ },
+ {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ ]
+ },
+ "AwsAccountId": {
+ "description": "AWS Account Id.",
+ "example": "012345678901",
+ "maxLength": 12,
+ "minLength": 12,
+ "type": "string"
+ },
+ "AwsAccountName": {
+ "description": "Name of the AWS Account.",
+ "example": "bakery",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[ -;=?-~]+$",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Account.",
+ "example": "bakery",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[ -;=?-~]+$",
+ "type": "string"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "required": [
+ "AwsAccountId",
+ "AccountType"
+ ],
+ "type": "object"
+ },
+ "accounts.ReadAccountTypes": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountTypes": {
+ "items": {
+ "$ref": "#/components/schemas/AccountType"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "AccountTypes"
+ ],
+ "type": "object"
+ },
+ "accounts.ReadAccounts": {
+ "properties": {
+ "Accounts": {
+ "items": {
+ "$ref": "#/components/schemas/Account"
+ },
+ "type": "array"
+ },
+ "Paging": {
+ "$ref": "#/components/schemas/Pagination"
+ }
+ },
+ "required": [
+ "Accounts"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccount": {
+ "properties": {
+ "AccountType": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AwsAccountAlias": {
+ "description": "The IAM alias for the account",
+ "example": "aws-iam-alias",
+ "maxLength": 48,
+ "minLength": 1,
+ "nullable": true,
+ "pattern": "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$",
+ "type": "string"
+ },
+ "AwsAccountName": {
+ "description": "Name of the AWS Account.",
+ "example": "bakery",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[ -;=?-~]+$",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Account.",
+ "example": "bakery",
+ "maxLength": 50,
+ "minLength": 1,
+ "pattern": "^[ -;=?-~]+$",
+ "type": "string"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "type": "object"
+ },
+ "accounts.UpdateAccountResponse": {
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "properties": {
+ "Account": {
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "AccountName": {
+ "example": "automation",
+ "type": "string"
+ },
+ "AccountType": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Name": {
+ "example": "automation",
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OrganisationId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "type": "object"
+ },
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccountType": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of the Account Type.",
+ "example": "Development",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9+\\-=._:/@ ]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccountTypeAccess": {
+ "additionalProperties": false,
+ "properties": {
+ "AddRoles": {
+ "example": [
+ {
+ "AccountTypeId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "GroupId": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "RoleName": "admin"
+ }
+ ],
+ "items": {
+ "$ref": "#/components/schemas/AccountTypeAccessMap"
+ },
+ "type": "array"
+ },
+ "RemoveRoles": {
+ "example": [],
+ "items": {
+ "$ref": "#/components/schemas/AccountTypeAccessMap"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "accounts.UpdateAccountTypeAccessEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccountTypeMembers": {
+ "additionalProperties": false,
+ "properties": {
+ "Members": {
+ "example": [
+ {
+ "AccountId": "B4407766-E821-450D-B7C8-9EA38B58C432",
+ "AccountTypeId": "B4407766-E821-450D-B7C8-9EA38B58C432"
+ }
+ ],
+ "items": {
+ "$ref": "#/components/schemas/AccountTypeMemberMap"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Members"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccountTypeMembersEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Detail",
+ "DetailType"
+ ],
+ "type": "object"
+ },
+ "accounts.UpdateAccountTypeResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountTypes": {
+ "$ref": "#/components/schemas/AccountType"
+ }
+ },
+ "required": [
+ "AccountTypes"
+ ],
+ "type": "object"
+ },
+ "gateway-endpoint": {
+ "description": "A list of gateway vpc endpoints",
+ "enum": [
+ "dynamodb",
+ "s3"
+ ],
+ "example": "s3",
+ "type": "string"
+ },
+ "insights.ReadInsights": {
+ "properties": {
+ "Insights": {
+ "items": {
+ "$ref": "#/components/schemas/Insight"
+ },
+ "type": "array"
+ },
+ "Paging": {
+ "$ref": "#/components/schemas/Pagination"
+ }
+ },
+ "required": [
+ "Insights",
+ "Paging"
+ ],
+ "type": "object"
+ },
+ "interface-endpoint": {
+ "description": "A list of interface vpc endpoints",
+ "enum": [
+ "access-analyzer",
+ "application-autoscaling",
+ "appmesh-envoy-management",
+ "appstream.api",
+ "appstream.streaming",
+ "athena",
+ "autoscaling",
+ "autoscaling-plans",
+ "awsconnector",
+ "backup",
+ "clouddirectory",
+ "cloudformation",
+ "cloudtrail",
+ "codeartifact.api",
+ "codeartifact.repositories",
+ "codebuild",
+ "codecommit",
+ "codedeploy",
+ "codedeploy-commands-secure",
+ "codepipeline",
+ "config",
+ "datasync",
+ "dms",
+ "ebs",
+ "ec2",
+ "ec2messages",
+ "ecr.api",
+ "ecr.dkr",
+ "ecs",
+ "ecs-agent",
+ "ecs-telemetry",
+ "elasticfilesystem",
+ "elasticfilesystem-fips",
+ "elasticloadbalancing",
+ "email-smtp",
+ "events",
+ "execute-api",
+ "fsx",
+ "git-codecommit",
+ "glue",
+ "imagebuilder",
+ "kinesis-firehose",
+ "kinesis-streams",
+ "kms",
+ "lambda",
+ "logs",
+ "mgn",
+ "monitoring",
+ "notebook",
+ "qldb.session",
+ "rds",
+ "rds-data",
+ "rekognition",
+ "s3interface",
+ "sagemaker.api",
+ "sagemaker.runtime",
+ "secretsmanager",
+ "securityhub",
+ "servicecatalog",
+ "sms",
+ "sns",
+ "sqs",
+ "ssm",
+ "ssmmessages",
+ "storagegateway",
+ "sts",
+ "transfer",
+ "transfer.server",
+ "workspaces",
+ "xray"
+ ],
+ "example": "ec2",
+ "type": "string"
+ },
+ "networking.CreateCidrExclusion": {
+ "additionalProperties": false,
+ "properties": {
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation.",
+ "example": "10.128.0.0/19",
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what the CIDR Exclusion is used for.",
+ "example": "This Reservation blocks out existing legacy VPCs",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Exclusion.",
+ "example": "legacy-vpcs",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "Cidr"
+ ],
+ "type": "object"
+ },
+ "networking.CreateCidrRange": {
+ "additionalProperties": false,
+ "properties": {
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /23",
+ "example": "10.128.0.0/23",
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what the CIDR Range is used for.",
+ "example": "CIDR Range used for team ABCD application 1234",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Range.",
+ "example": "prod",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "Cidr"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDnsResolver": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of Stax DNS Resolver.",
+ "example": "dns",
+ "maxLength": 50,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "NumberOfInterfaces": {
+ "description": "The number of ENIs to attach to the Stax DNS Resolvers.",
+ "example": 2,
+ "type": "integer"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "NumberOfInterfaces"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDnsResolverEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsResolver": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "DnsResolver"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDnsRule": {
+ "additionalProperties": false,
+ "properties": {
+ "DomainName": {
+ "description": "Domain name to forward DNS queries for.",
+ "example": "test.local",
+ "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]$",
+ "type": "string"
+ },
+ "ForwarderIpAddresses": {
+ "description": "The IP Addresses to forward DNS queries to.",
+ "example": [
+ "192.168.0.1",
+ "192.168.0.2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of Stax DNS Rule.",
+ "example": "on-premises",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "DomainName",
+ "ForwarderIpAddresses"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDnsRuleEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsRule": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "DnsRule"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDxAssociation": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/TransitAssociation"
+ },
+ {
+ "$ref": "#/components/schemas/PrivateAssociation"
+ }
+ ]
+ },
+ "networking.CreateDxAssociationEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "DxAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "DxAssociation"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateDxResource": {
+ "additionalProperties": false,
+ "properties": {
+ "Gateway": {
+ "$ref": "#/components/schemas/GatewayMap"
+ },
+ "Vif": {
+ "$ref": "#/components/schemas/VifMap"
+ }
+ },
+ "type": "object"
+ },
+ "networking.CreateDxResourceEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "DxResource": {
+ "additionalProperties": false,
+ "properties": {
+ "Gateway": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "type": "object"
+ },
+ "Vif": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "DxResource"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateHub": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "AmazonSideAsn": {
+ "description": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session",
+ "example": 64512,
+ "maximum": 65534,
+ "minimum": 64512,
+ "type": "integer"
+ },
+ "Cidr": {
+ "description": "CIDR Range in quad dot notation. This range is a private network range with a size between /8 to /22 for the Transit VPC",
+ "example": "10.128.0.0/22",
+ "type": "string"
+ },
+ "CidrExclusions": {
+ "items": {
+ "$ref": "#/components/schemas/CidrExclusion"
+ },
+ "type": "array"
+ },
+ "CidrRangeName": {
+ "description": "Name of the CIDR Range where the Transit VPC lives.",
+ "example": "myrange",
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "CreateCloudwatchVpcFlowlogs": {
+ "description": "Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateInternetGateway": {
+ "description": "Boolean value declaring to create an Internet Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateNatGateway": {
+ "description": "Boolean value declaring to create a NAT Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateVirtualPrivateGateway": {
+ "description": "Boolean value declaring to create a Virtual Private Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "Description": {
+ "description": "Longer description of what the Stax Networking Hub is used for.",
+ "example": "This Hub is for a team ABCD applications",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "GatewayEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/gateway-endpoint"
+ },
+ "type": "array"
+ },
+ "InterfaceEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/interface-endpoint"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of Stax Networking Hub.",
+ "example": "prod",
+ "maxLength": 238,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "PhzSuffix": {
+ "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
+ "example": "my-domain.cloud",
+ "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]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$",
+ "type": "string"
+ },
+ "RedundantEndpoints": {
+ "description": "Boolean value declaring if redundant Interface VPC Endpoints will be created",
+ "example": true,
+ "type": "boolean"
+ },
+ "RedundantNat": {
+ "description": "Boolean value declaring to create redundant NAT Gateways",
+ "example": true,
+ "type": "boolean"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "VirtualPrivateGatewayAsn": {
+ "description": "ASN to assign to the Virtual Private Gateway",
+ "example": 64513,
+ "type": "integer"
+ },
+ "VpnEcmpSupport": {
+ "description": "Boolean value declaring to enable or disable Equal Cost Multipath Protocol support",
+ "example": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Name",
+ "AccountId",
+ "Region",
+ "Cidr",
+ "CreateNatGateway",
+ "CreateInternetGateway"
+ ],
+ "type": "object"
+ },
+ "networking.CreateHubEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "NetworkingHub": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "NetworkingHub"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateHubPeering": {
+ "additionalProperties": false,
+ "properties": {
+ "DestinationAwsAccountId": {
+ "description": "The AWS Account Id that contains the Destination TGW.",
+ "example": "000011112222",
+ "maxLength": 12,
+ "minLength": 12,
+ "nullable": true,
+ "pattern": "^\\d{12,12}$",
+ "type": "string"
+ },
+ "DestinationAwsRegion": {
+ "$ref": "#/components/schemas/nullable-AwsRegion"
+ },
+ "DestinationAwsTgwId": {
+ "description": "The AWS Id of the Destination TGW.",
+ "example": "tgw-0000aaaa1111bbbbb",
+ "maxLength": 21,
+ "minLength": 21,
+ "nullable": true,
+ "pattern": "^tgw-[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "DestinationNetworkingHubId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "HubPeeringTarget": {
+ "description": "The target type to determine the actions against the destination.",
+ "enum": [
+ "STAX_RESOURCE",
+ "STAX_ACCOUNT",
+ "EXTERNAL"
+ ],
+ "example": "STAX_RESOURCE",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "The Name of the Hub Peering.",
+ "example": "Prod-Shared",
+ "maxLength": 128,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "HubPeeringTarget"
+ ],
+ "type": "object"
+ },
+ "networking.CreateHubPeeringEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "HubPeering": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "HubPeering"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateHubPrefixList": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "description": "The CIDR Ranges to include in the Prefix List.",
+ "example": [
+ "192.168.0.1/32",
+ "192.168.0.2/32"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "MaxEntries": {
+ "description": "The maximum number of CIDR entries that can exist in the Prefix List.",
+ "example": 3,
+ "type": "integer"
+ },
+ "Name": {
+ "description": "Name of the Stax Prefix List.",
+ "example": "example",
+ "maxLength": 245,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "RouteTableTypes": {
+ "description": "The TGW Route Table types to associate a HUB Prefix List with.",
+ "example": [
+ "INFRASTRUCTURE",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "INFRASTRUCTURE",
+ "ISOLATED",
+ "ONPREMISES",
+ "FLAT"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "TargetId": {
+ "description": "The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List.",
+ "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "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}$",
+ "type": "string"
+ },
+ "TargetType": {
+ "description": "The type of the target for the HUB Prefix List associations.",
+ "enum": [
+ "BLACKHOLE",
+ "VPC",
+ "VPN",
+ "DIRECT_CONNECT_GATEWAY",
+ "HUB_PEERING"
+ ],
+ "example": "BLACKHOLE",
+ "type": "string"
+ },
+ "Zones": {
+ "description": "The VPC Zones to associate a HUB Prefix List with.",
+ "example": [
+ "ZONE1",
+ "ZONE2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Name",
+ "MaxEntries",
+ "Entries",
+ "TargetType"
+ ],
+ "type": "object"
+ },
+ "networking.CreatePrefixListEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "PrefixList": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "PrefixList"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpc": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CidrRangeId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CreateCloudwatchVpcFlowlogs": {
+ "description": "Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateInternetGateway": {
+ "description": "Boolean value declaring to create an Internet Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateVirtualPrivateGateway": {
+ "description": "Boolean value declaring to create a Virtual Private Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "Description": {
+ "description": "Longer description of what the Stax VPC is used for.",
+ "example": "VPC for a non-prod microservice",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "GatewayEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/gateway-endpoint"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of Stax VPC",
+ "example": "dev-ms-customers",
+ "maxLength": 255,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "PhzPrefix": {
+ "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
+ "example": "dev",
+ "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]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$",
+ "type": "string"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Size": {
+ "description": "Size of the VPC.",
+ "enum": [
+ "SMALL",
+ "MEDIUM",
+ "LARGE"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "Type": {
+ "description": "Type of VPC. The Type determines what Route Tables are attached to the VPC",
+ "enum": [
+ "ISOLATED",
+ "FLAT",
+ "SHAREDSERVICES"
+ ],
+ "type": "string"
+ },
+ "VirtualPrivateGatewayAsn": {
+ "description": "ASN to assign to the Virtual Private Gateway",
+ "example": 64513,
+ "type": "integer"
+ },
+ "Zone": {
+ "description": "All 'Flat' VPCs in the same Zone can communicate to each other.",
+ "example": "my-zone",
+ "maxLength": 213,
+ "minLength": 2,
+ "nullable": true,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "CidrRangeId",
+ "AccountId",
+ "Region",
+ "Size",
+ "Type",
+ "CreateInternetGateway"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpcEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "VPC": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "VPC"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpcPrefixList": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "description": "The CIDR Ranges to include in the Prefix List.",
+ "example": [
+ "192.168.0.1/32",
+ "192.168.0.2/32"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "MaxEntries": {
+ "description": "The maximum number of CIDR entries that can exist in the Prefix List.",
+ "example": 3,
+ "type": "integer"
+ },
+ "Name": {
+ "description": "Name of the Stax Prefix List.",
+ "example": "example",
+ "maxLength": 245,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "SubnetTypes": {
+ "description": "The subnet types to associate a VPC Prefix List with.",
+ "example": [
+ "PRIVATE",
+ "RESTRICTED"
+ ],
+ "items": {
+ "enum": [
+ "PRIVATE",
+ "PUBLIC",
+ "RESTRICTED",
+ "CONNECTIVITY",
+ "ENDPOINT"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "VpcIds": {
+ "description": "The list of Stax VPC Ids to associate a VPC Prefix List with.",
+ "example": [
+ "a7220870-40fe-4235-abb3-4d42af0336c2",
+ "7e542285-8b90-4b57-81e1-96e87e5ee443"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "type": "array"
+ },
+ "VpcTypes": {
+ "description": "The VPC types to associate a VPC Prefix List with.",
+ "example": [
+ "TRANSIT",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "TRANSIT",
+ "ISOLATED",
+ "FLAT",
+ "SHAREDSERVICES"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Zones": {
+ "description": "The VPC Zones to associate a VPC Prefix List with.",
+ "example": [
+ "ZONE1",
+ "ZONE2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Name",
+ "MaxEntries",
+ "Entries"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpnConnection": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/HubConnection"
+ },
+ {
+ "$ref": "#/components/schemas/VpcConnection"
+ }
+ ]
+ },
+ "networking.CreateVpnConnectionEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "VpnConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "VpnConnection"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpnCustomerGateway": {
+ "additionalProperties": false,
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Asn": {
+ "description": "ASN to assign to the VPN Customer Gateway.",
+ "example": 64513,
+ "maximum": 65534,
+ "minimum": 64512,
+ "type": "integer"
+ },
+ "IpAddress": {
+ "description": "The Internet-routable IP address for the customer gateway's outside interface. The address must be static.",
+ "example": "1.1.1.1",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of Stax VPN Customer Gateway.",
+ "example": "vpn-gw",
+ "maxLength": 251,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "required": [
+ "Name",
+ "Asn",
+ "IpAddress",
+ "AccountId",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "networking.CreateVpnCustomerGatewayEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ },
+ "VpnCustomerGateway": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Id"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "VpnCustomerGateway"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteDnsResolverEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteDnsRuleEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteDxAssociationEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteDxGatewayEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteDxVifEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteHubEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteHubPeeringEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeletePrefixListEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteVpcEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteVpnConnectionEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.DeleteVpnCustomerGatewayEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.ReadCidrExclusions": {
+ "additionalProperties": false,
+ "properties": {
+ "Exclusions": {
+ "items": {
+ "$ref": "#/components/schemas/CidrExclusion"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Exclusions"
+ ],
+ "type": "object"
+ },
+ "networking.ReadCidrRanges": {
+ "additionalProperties": false,
+ "properties": {
+ "Ranges": {
+ "items": {
+ "$ref": "#/components/schemas/CidrRange"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Ranges"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDnsResolvers": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsResolvers": {
+ "items": {
+ "$ref": "#/components/schemas/DNSResolver"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DnsResolvers"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDnsRules": {
+ "additionalProperties": false,
+ "properties": {
+ "DnsRules": {
+ "items": {
+ "$ref": "#/components/schemas/DNSRule"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DnsRules"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDxAssociations": {
+ "additionalProperties": false,
+ "properties": {
+ "DxAssociations": {
+ "items": {
+ "$ref": "#/components/schemas/DxAssociation"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DxAssociations"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDxConnections": {
+ "additionalProperties": false,
+ "properties": {
+ "DxConnections": {
+ "items": {
+ "$ref": "#/components/schemas/DxConnection"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DxConnections"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDxGateways": {
+ "additionalProperties": false,
+ "properties": {
+ "DxGateways": {
+ "items": {
+ "$ref": "#/components/schemas/DxGateway"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DxGateways"
+ ],
+ "type": "object"
+ },
+ "networking.ReadDxVifStatus": {
+ "additionalProperties": false,
+ "properties": {
+ "DxVifStatus": {
+ "$ref": "#/components/schemas/DxVifStatus"
+ }
+ },
+ "type": "object"
+ },
+ "networking.ReadDxVifs": {
+ "additionalProperties": false,
+ "properties": {
+ "DxVifs": {
+ "items": {
+ "$ref": "#/components/schemas/DxVif"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "DxVifs"
+ ],
+ "type": "object"
+ },
+ "networking.ReadHubPeerings": {
+ "additionalProperties": false,
+ "properties": {
+ "HubPeerings": {
+ "items": {
+ "$ref": "#/components/schemas/HubPeering"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "HubPeerings"
+ ],
+ "type": "object"
+ },
+ "networking.ReadHubs": {
+ "additionalProperties": false,
+ "properties": {
+ "Hubs": {
+ "items": {
+ "$ref": "#/components/schemas/NetworkingHub"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Hubs"
+ ],
+ "type": "object"
+ },
+ "networking.ReadPrefixLists": {
+ "additionalProperties": false,
+ "properties": {
+ "PrefixLists": {
+ "items": {
+ "$ref": "#/components/schemas/PrefixList"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "PrefixLists"
+ ],
+ "type": "object"
+ },
+ "networking.ReadVpcs": {
+ "additionalProperties": false,
+ "properties": {
+ "Vpcs": {
+ "items": {
+ "$ref": "#/components/schemas/VPC"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Vpcs"
+ ],
+ "type": "object"
+ },
+ "networking.ReadVpnConnectionStatus": {
+ "additionalProperties": false,
+ "properties": {
+ "VpnConnectionStatus": {
+ "$ref": "#/components/schemas/VpnConnectionStatus"
+ }
+ },
+ "type": "object"
+ },
+ "networking.ReadVpnConnections": {
+ "additionalProperties": false,
+ "properties": {
+ "VpnConnections": {
+ "items": {
+ "$ref": "#/components/schemas/VpnConnection"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "VpnConnections"
+ ],
+ "type": "object"
+ },
+ "networking.ReadVpnCustomerGateways": {
+ "additionalProperties": false,
+ "properties": {
+ "VpnCustomerGateways": {
+ "items": {
+ "$ref": "#/components/schemas/VpnCustomerGateway"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "VpnCustomerGateways"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateCidrExclusion": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "description": "Longer description of what the CIDR Exclusion is used for.",
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Exclusion.",
+ "example": "data-center",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateCidrRange": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "description": "Longer description of what the CIDR Range is used for.",
+ "example": "CIDR Range used for team ABCD application 1234",
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the CIDR Range.",
+ "example": "prod",
+ "maxLength": 128,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateDnsResolver": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of Stax DNS Resolver.",
+ "example": "dns",
+ "maxLength": 50,
+ "minLength": 2,
+ "type": "string"
+ },
+ "NumberOfInterfaces": {
+ "description": "The number of ENIs to attach to the DNS Resolvers.",
+ "example": 2,
+ "type": "integer"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateDnsResolverEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateDnsRule": {
+ "additionalProperties": false,
+ "properties": {
+ "ForwarderIpAddresses": {
+ "description": "The IP Addresses to forward DNS queries to.",
+ "example": [
+ "192.168.0.1",
+ "192.168.0.2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of Stax DNS Rule.",
+ "example": "on-premises",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateDnsRuleEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateDxAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "Prefixes": {
+ "description": "The CIDR Ranges to advertise to on-premises.",
+ "example": [
+ "192.168.0.0/24",
+ "192.168.1.0/24"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateDxAssociationEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateDxVif": {
+ "additionalProperties": false,
+ "properties": {
+ "JumboMtu": {
+ "description": "Boolean value to enable Jumbo Frames.",
+ "example": false,
+ "type": "boolean"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateDxVifEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateHub": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateCloudwatchVpcFlowlogs": {
+ "description": "Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateInternetGateway": {
+ "description": "Boolean value declaring to create an Internet Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateNatGateway": {
+ "description": "Boolean value declaring to create a NAT Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateVirtualPrivateGateway": {
+ "description": "Boolean value declaring to create a Virtual Private Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "Description": {
+ "description": "Longer description of what the Stax Networking Hub is used for.",
+ "example": "This Hub is for connectivity from headquaters to VPC workloads",
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "GatewayEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/gateway-endpoint"
+ },
+ "type": "array"
+ },
+ "InterfaceEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/interface-endpoint"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of Stax Networking Hub",
+ "example": "prod",
+ "maxLength": 238,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "PhzSuffix": {
+ "description": "The suffix used to create Route53 Private Hosted Zones names within the Networking Hub, cannot be modified once set",
+ "example": "my-domain.cloud",
+ "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]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$",
+ "type": "string"
+ },
+ "RedundantEndpoints": {
+ "description": "Boolean value declaring if redundant Interface VPC Endpoints will be created",
+ "example": true,
+ "type": "boolean"
+ },
+ "RedundantNat": {
+ "description": "Boolean value declaring to create redundant NAT Gateways",
+ "example": true,
+ "type": "boolean"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "VirtualPrivateGatewayAsn": {
+ "description": "ASN to assign to the Virtual Private Gateway",
+ "example": 64513,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateHubEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateHubPeering": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "The Name of the Hub Peering.",
+ "example": "Prod-Shared",
+ "maxLength": 128,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateHubPeeringEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateHubPrefixListAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "RouteTableTypes": {
+ "description": "The TGW Route Table types to associate a HUB Prefix List with.",
+ "example": [
+ "INFRASTRUCTURE",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "INFRASTRUCTURE",
+ "ISOLATED",
+ "ONPREMISES",
+ "FLAT"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Zones": {
+ "description": "The VPC Zones to associate a HUB Prefix List with.",
+ "example": [
+ "ZONE1",
+ "ZONE2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdatePrefixList": {
+ "additionalProperties": false,
+ "properties": {
+ "Entries": {
+ "description": "The CIDR Ranges to include in the Prefix List.",
+ "example": [
+ "192.168.0.1/32",
+ "192.168.0.2/32"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "MaxEntries": {
+ "description": "The maximum number of CIDR entries that can exist in the Prefix List.",
+ "example": 3,
+ "type": "integer"
+ },
+ "Name": {
+ "description": "Name of the Stax Prefix List.",
+ "example": "example",
+ "maxLength": 245,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "TargetId": {
+ "description": "The Stax Id of either a VPN, VPC or Direct Connect Gateway which will be the target of the HUB Prefix List.",
+ "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "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}$",
+ "type": "string"
+ },
+ "TargetType": {
+ "description": "The type of the target for the HUB Prefix List associations.",
+ "enum": [
+ "BLACKHOLE",
+ "VPC",
+ "VPN",
+ "DIRECT_CONNECT_GATEWAY",
+ "HUB_PEERING"
+ ],
+ "example": "BLACKHOLE",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdatePrefixListAssociationEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdatePrefixListEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateVpc": {
+ "additionalProperties": false,
+ "properties": {
+ "CreateCloudwatchVpcFlowlogs": {
+ "description": "Boolean value declaring to utilise a Cloudwatch log group for VPC Flow logs",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateInternetGateway": {
+ "description": "Boolean value declaring to create an Internet Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "CreateVirtualPrivateGateway": {
+ "description": "Boolean value declaring to create a Virtual Private Gateway",
+ "example": true,
+ "type": "boolean"
+ },
+ "Description": {
+ "description": "Longer description of what this VPC is used for.",
+ "maxLength": 2048,
+ "type": "string"
+ },
+ "GatewayEndpoints": {
+ "items": {
+ "$ref": "#/components/schemas/gateway-endpoint"
+ },
+ "type": "array"
+ },
+ "Name": {
+ "description": "Name of the Stax VPC",
+ "example": "prod",
+ "maxLength": 255,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "PhzPrefix": {
+ "description": "The unique prefix to combine with the PhzSuffix to create a Route53 Private Hosted Zone for the VPC, cannot be modified once set",
+ "example": "dev",
+ "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]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ },
+ "VirtualPrivateGatewayAsn": {
+ "description": "ASN to assign to the Virtual Private Gateway",
+ "example": 64513,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateVpcEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateVpcPrefixListAssociation": {
+ "additionalProperties": false,
+ "properties": {
+ "SubnetTypes": {
+ "description": "The subnet types to associate a VPC Prefix List with.",
+ "example": [
+ "PRIVATE",
+ "RESTRICTED"
+ ],
+ "items": {
+ "enum": [
+ "PRIVATE",
+ "PUBLIC",
+ "RESTRICTED",
+ "CONNECTIVITY",
+ "ENDPOINT"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "VpcIds": {
+ "description": "The list of Stax VPC Ids to associate a VPC Prefix List with.",
+ "example": [
+ "a7220870-40fe-4235-abb3-4d42af0336c2",
+ "7e542285-8b90-4b57-81e1-96e87e5ee443"
+ ],
+ "items": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "type": "array"
+ },
+ "VpcTypes": {
+ "description": "The VPC types to associate a VPC Prefix List with.",
+ "example": [
+ "TRANSIT",
+ "ISOLATED"
+ ],
+ "items": {
+ "enum": [
+ "TRANSIT",
+ "ISOLATED",
+ "FLAT",
+ "SHAREDSERVICES"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Zones": {
+ "description": "The VPC Zones to associate a VPC Prefix List with.",
+ "example": [
+ "ZONE1",
+ "ZONE2"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateVpnConnection": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of Stax VPN Connection.",
+ "example": "new-vpn-gw",
+ "maxLength": 251,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateVpnConnectionEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "networking.UpdateVpnCustomerGateway": {
+ "additionalProperties": false,
+ "properties": {
+ "Name": {
+ "description": "Name of Stax VPN Customer Gateway.",
+ "example": "vpn-gw",
+ "maxLength": 251,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9-_ ]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/NetworkingTags"
+ }
+ },
+ "type": "object"
+ },
+ "networking.UpdateVpnCustomerGatewayEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "$ref": "#/components/schemas/MessageEventDetail"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "nullable-AwsRegion": {
+ "description": "The available default and opt-in AWS Regions",
+ "enum": [
+ "ap-northeast-1",
+ "ap-northeast-2",
+ "ap-south-1",
+ "ap-southeast-1",
+ "ap-southeast-2",
+ "ca-central-1",
+ "eu-central-1",
+ "eu-north-1",
+ "eu-west-1",
+ "eu-west-2",
+ "eu-west-3",
+ "sa-east-1",
+ "us-east-1",
+ "us-east-2",
+ "us-west-1",
+ "us-west-2",
+ "af-south-1",
+ "ap-east-1",
+ "ap-south-2",
+ "ap-southeast-3",
+ "ap-southeast-4",
+ "eu-central-2",
+ "eu-south-1",
+ "eu-south-2",
+ "il-central-1",
+ "me-central-1",
+ "me-south-1"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "nullable-DefaultAwsRegion": {
+ "description": "The available default AWS Regions",
+ "enum": [
+ "ap-northeast-1",
+ "ap-northeast-2",
+ "ap-south-1",
+ "ap-southeast-1",
+ "ap-southeast-2",
+ "ca-central-1",
+ "eu-central-1",
+ "eu-north-1",
+ "eu-west-1",
+ "eu-west-2",
+ "eu-west-3",
+ "sa-east-1",
+ "us-east-1",
+ "us-east-2",
+ "us-west-1",
+ "us-west-2"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "nullable-uuidv4": {
+ "example": "e893d7e0-9306-11e9-bc42-526af7764f64",
+ "nullable": true,
+ "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}$",
+ "type": "string"
+ },
+ "organisations.AttachPolicy": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ "type": "object"
+ },
+ "organisations.AttachPolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "organisations.CreateOrganisationalUnit": {
+ "properties": {
+ "Name": {
+ "description": "Name of the Organisational Unit.",
+ "example": "DenyAll",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\s\\S]*$",
+ "type": "string"
+ },
+ "ParentOrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "Name",
+ "ParentOrganisationalUnitId"
+ ],
+ "type": "object"
+ },
+ "organisations.CreateOrganisationalUnitEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "OrganisationalUnit": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "OrganisationalUnitId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "OrganisationalUnit"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "organisations.DeleteOrganisationalUnitEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "OrganisationalUnit": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "OrganisationalUnitId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "OrganisationalUnit"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "organisations.DetachPolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "organisations.ReadOrganisationalUnitAccounts": {
+ "additionalProperties": false,
+ "properties": {
+ "Accounts": {
+ "items": {
+ "$ref": "#/components/schemas/Account"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Accounts"
+ ],
+ "type": "object"
+ },
+ "organisations.ReadOrganisationalUnits": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganisationalUnits": {
+ "items": {
+ "$ref": "#/components/schemas/OrganisationalUnit"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "OrganisationalUnits"
+ ],
+ "type": "object"
+ },
+ "organisations.ReadOrganisations": {
+ "properties": {
+ "Organisations": {
+ "items": {
+ "$ref": "#/components/schemas/Organisation"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "organisations.ReadOrganizationFeatures": {
+ "$ref": "#/components/schemas/OrganizationFeatures"
+ },
+ "organisations.UpdateOrganisationalUnit": {
+ "properties": {
+ "Name": {
+ "description": "Name of the Organisational Unit.",
+ "example": "Root",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[\\s\\S]*$",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "type": "object"
+ },
+ "organisations.UpdateOrganisationalUnitEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "OrganisationalUnit": {
+ "additionalProperties": false,
+ "properties": {
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "OrganisationalUnitId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "OrganisationalUnit"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "policies.AttachPolicy": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": [
+ "OrganisationalUnitId"
+ ]
+ },
+ {
+ "required": [
+ "AccountId"
+ ]
+ }
+ ],
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "OrganisationalUnitId": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ }
+ },
+ "type": "object"
+ },
+ "policies.AttachPolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "PolicyAttachment": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyAttachmentId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "PolicyAttachmentId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "PolicyAttachment"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "policies.CreatePolicy": {
+ "properties": {
+ "Description": {
+ "description": "Description of the Policy.",
+ "example": "A service control policy that denies access to all.",
+ "maxLength": 1024,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Policy.",
+ "example": "DenyAll",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Policy": {
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "required": [
+ "Name",
+ "Description",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "policies.CreatePolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Policy": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "PolicyId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "policies.DeletePolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Policy": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "PolicyId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "policies.DetachPolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "PolicyAttachment": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyAttachmentId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "PolicyAttachmentId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "PolicyAttachment"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "policies.ReadPolicies": {
+ "additionalProperties": false,
+ "properties": {
+ "Policies": {
+ "items": {
+ "$ref": "#/components/schemas/Policy"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Policies"
+ ],
+ "type": "object"
+ },
+ "policies.ReadPolicyAttachments": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyAttachments": {
+ "items": {
+ "$ref": "#/components/schemas/PolicyAttachment"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "PolicyAttachments"
+ ],
+ "type": "object"
+ },
+ "policies.UpdatePolicy": {
+ "properties": {
+ "Description": {
+ "description": "Description of the Policy.",
+ "example": "A service control policy that denies access to all.",
+ "maxLength": 1024,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Policy.",
+ "example": "DenyAll",
+ "maxLength": 128,
+ "minLength": 3,
+ "type": "string"
+ },
+ "Policy": {
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/StaxTags"
+ }
+ },
+ "type": "object"
+ },
+ "policies.UpdatePolicyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Policy": {
+ "additionalProperties": false,
+ "properties": {
+ "PolicyId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "PolicyId"
+ ],
+ "type": "object"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId",
+ "Policy"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "public.CheckAlias": {
+ "additionalProperties": false,
+ "properties": {
+ "Alias": {
+ "additionalProperties": false,
+ "properties": {
+ "Status": {
+ "enum": [
+ "The company alias provided is available",
+ "The company alias provided is already in use by another customer and cannot be used"
+ ],
+ "example": "The company alias provided is available",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Status"
+ ],
+ "type": "object"
+ },
+ "AuthProvider": {
+ "additionalProperties": false,
+ "properties": {
+ "ClientId": {
+ "type": "string"
+ },
+ "UserPoolId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ClientId",
+ "UserPoolId"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Alias",
+ "AuthProvider"
+ ],
+ "type": "object"
+ },
+ "public.ReadConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "API": {
+ "additionalProperties": false,
+ "properties": {
+ "endpoints": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ }
+ },
+ "required": [
+ "name",
+ "endpoint",
+ "region"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "endpoints"
+ ],
+ "type": "object"
+ },
+ "Analytics": {
+ "additionalProperties": false,
+ "properties": {
+ "disable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "disable"
+ ],
+ "type": "object"
+ },
+ "ApiAuth": {
+ "additionalProperties": false,
+ "properties": {
+ "identityPoolId": {
+ "type": "string"
+ },
+ "mandatorySignIn": {
+ "type": "boolean"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ "userPoolId": {
+ "type": "string"
+ },
+ "userPoolWebClientId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identityPoolId",
+ "region",
+ "userPoolId",
+ "userPoolWebClientId",
+ "mandatorySignIn"
+ ],
+ "type": "object"
+ },
+ "AppSync": {
+ "additionalProperties": false,
+ "properties": {
+ "analytics": {
+ "additionalProperties": false,
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ }
+ },
+ "required": [
+ "region",
+ "endpoint"
+ ],
+ "type": "object"
+ },
+ "core": {
+ "additionalProperties": false,
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ }
+ },
+ "required": [
+ "region",
+ "endpoint"
+ ],
+ "type": "object"
+ },
+ "graphqlEndpoint": {
+ "type": "string"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ }
+ },
+ "required": [
+ "core",
+ "analytics",
+ "region",
+ "graphqlEndpoint"
+ ],
+ "type": "object"
+ },
+ "Auth": {
+ "additionalProperties": false,
+ "properties": {
+ "identityPoolId": {
+ "type": "string"
+ },
+ "mandatorySignIn": {
+ "type": "boolean"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ "userPoolId": {
+ "type": "string"
+ },
+ "userPoolWebClientId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identityPoolId",
+ "region",
+ "mandatorySignIn"
+ ],
+ "type": "object"
+ },
+ "Features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Juma": {
+ "additionalProperties": false,
+ "properties": {
+ "controlplaneRegion": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ "domainName": {
+ "type": "string"
+ },
+ "fullDomainName": {
+ "type": "string"
+ },
+ "masterAccountId": {
+ "type": "integer"
+ },
+ "stage": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "fullDomainName",
+ "domainName",
+ "stage",
+ "controlplaneRegion",
+ "masterAccountId"
+ ],
+ "type": "object"
+ },
+ "JumaAuth": {
+ "additionalProperties": false,
+ "properties": {
+ "identityPoolId": {
+ "type": "string"
+ },
+ "identityPoolIdV2": {
+ "type": "string"
+ },
+ "mandatorySignIn": {
+ "type": "boolean"
+ },
+ "region": {
+ "$ref": "#/components/schemas/DefaultAwsRegion"
+ },
+ "userPoolId": {
+ "type": "string"
+ },
+ "userPoolWebClientId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "identityPoolId",
+ "identityPoolIdV2",
+ "region",
+ "userPoolId",
+ "userPoolWebClientId",
+ "mandatorySignIn"
+ ],
+ "type": "object"
+ },
+ "Sentry": {
+ "additionalProperties": false,
+ "properties": {
+ "dsn": {
+ "type": "string"
+ },
+ "projectName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "dsn",
+ "projectName"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "Auth",
+ "JumaAuth",
+ "ApiAuth",
+ "Analytics",
+ "API",
+ "AppSync",
+ "Juma",
+ "Sentry",
+ "Features"
+ ],
+ "type": "object"
+ },
+ "ro-uuidv4": {
+ "example": "e893d7e0-9306-11e9-bc42-526af7764f64",
+ "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}$",
+ "readOnly": true,
+ "type": "string"
+ },
+ "services.ConfigureAccount": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/AccountConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureAccountEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureGuardDuty": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/GuardDutyConfiguration"
+ },
+ "Enabled": {
+ "description": "Boolean to indicate whether to enable/disable GuardDuty service.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureGuardDutyEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureGuardrails": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/GuardrailsConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureGuardrailsEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureOrganization": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/OrganizationConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureOrganizationEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureRegions": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/RegionsConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureRegionsEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureSecurityHub": {
+ "additionalProperties": false,
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/SecurityHubConfiguration"
+ },
+ "Enabled": {
+ "description": "Boolean to indicate whether to enable/disable securityhub service.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "Enabled",
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ConfigureSecurityHubEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus",
+ "Severity"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail",
+ "TraceId",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "services.ReadAccountConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/AccountConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadConfigurations": {
+ "additionalProperties": false,
+ "properties": {
+ "ServiceConfigurations": {
+ "items": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Null"
+ },
+ {
+ "$ref": "#/components/schemas/AccountConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/SecurityHubConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/GuardDutyConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/RegionsConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/GuardrailsConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/OrganizationConfiguration"
+ },
+ {
+ "$ref": "#/components/schemas/SsoConfiguration"
+ }
+ ]
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ServiceConfigurations"
+ ],
+ "type": "object"
+ },
+ "services.ReadGuardDutyConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/GuardDutyConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadGuardrailsConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/GuardrailsConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadOrganizationConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/OrganizationConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadRegionsConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/RegionsConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadSecurityHubConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/SecurityHubConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "services.ReadSsoConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ServiceConfiguration"
+ }
+ ],
+ "properties": {
+ "Configuration": {
+ "$ref": "#/components/schemas/SsoConfiguration"
+ }
+ },
+ "required": [
+ "Configuration"
+ ],
+ "type": "object"
+ },
+ "tasks.ReadTask": {
+ "additionalProperties": false,
+ "properties": {
+ "Accounts": {
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ },
+ "Logs": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Users": {
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ },
+ "Workloads": {
+ "items": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Status",
+ "Logs"
+ ],
+ "type": "object"
+ },
+ "tasks.ReadTasks": {
+ "additionalProperties": false,
+ "properties": {
+ "Paging": {
+ "$ref": "#/components/schemas/Pagination"
+ },
+ "Tasks": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Resources": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "ResourceId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "ResourceType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ResourceId",
+ "ResourceType"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "Status": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Id",
+ "Status",
+ "Type"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Tasks"
+ ],
+ "type": "object"
+ },
+ "teams.CreateApiToken": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of API Token",
+ "example": "gitlab-cicd",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^([0-9a-zA-Z_.-]+)$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "StoreToken": {
+ "default": true,
+ "description": "Store the Access and Secret key in SSM, in your security account.",
+ "example": true,
+ "type": "boolean"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "TokenKeyId": {
+ "default": "alias/stax-api-tokens",
+ "description": "If you choose to store your keys in SSM, encrypt them with this KMS Key",
+ "example": "alias/my-custom-key",
+ "maxLength": 128,
+ "minLength": 7,
+ "pattern": "^([a-zA-Z0-9:/_-]+)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Role"
+ ],
+ "type": "object"
+ },
+ "teams.CreateApiTokenResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "ApiTokens": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev environments",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of API Token",
+ "example": "gitlab-cicd",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^([0-9a-zA-Z_.-]+)$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "SecretKey": {
+ "maxLength": 32,
+ "minLength": 32,
+ "type": "string"
+ },
+ "Status": {
+ "description": "Status of the User.",
+ "enum": [
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "AccessKey"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ApiTokens"
+ ],
+ "type": "object"
+ },
+ "teams.CreateGroup": {
+ "properties": {
+ "Name": {
+ "description": "Name of User Group",
+ "example": "devops",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "teams.CreateGroupEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "GroupId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "GroupId",
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "teams.CreateUser": {
+ "properties": {
+ "Email": {
+ "description": "Email address of User.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "type": "string"
+ },
+ "FirstName": {
+ "description": "Given Name of the User.",
+ "example": "John",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[^<>&\"$%!#?§;*~/\\\\|^=\\[\\]{}()\\u0000-\\u001F\\u007F]+$",
+ "type": "string"
+ },
+ "LastName": {
+ "description": "Family Name of the User.",
+ "example": "Doe",
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^[^<>&\"$%!#?§;*~/\\\\|^=\\[\\]{}()\\u0000-\\u001F\\u007F]+$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/IdamUserRole"
+ }
+ },
+ "required": [
+ "Email",
+ "FirstName",
+ "LastName"
+ ],
+ "type": "object"
+ },
+ "teams.CreateUserEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TaskId",
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "teams.DeleteApiTokenResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "ApiTokens": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of API Token",
+ "example": "gitlab-cicd",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^([0-9a-zA-Z_.-]+)$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "Status": {
+ "description": "Status of the Token.",
+ "enum": [
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "AccessKey"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ApiTokens"
+ ],
+ "type": "object"
+ },
+ "teams.DeleteGroupEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ]
+ },
+ "teams.DeleteUserResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "Users": {
+ "items": {
+ "$ref": "#/components/schemas/User"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Users"
+ ],
+ "type": "object"
+ },
+ "teams.ReadApiTokens": {
+ "additionalProperties": false,
+ "properties": {
+ "ApiTokens": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of API Token",
+ "example": "gitlab-cicd",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^([0-9a-zA-Z_.-]+)$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "Status": {
+ "description": "Status of the Token.",
+ "enum": [
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "AccessKey",
+ "Name",
+ "Description",
+ "Role",
+ "Status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ApiTokens"
+ ],
+ "type": "object"
+ },
+ "teams.ReadGroupsResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "Groups": {
+ "items": {
+ "$ref": "#/components/schemas/Group"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Groups"
+ ],
+ "type": "object"
+ },
+ "teams.ReadIdamUsers": {
+ "additionalProperties": false,
+ "properties": {
+ "Users": {
+ "items": {
+ "$ref": "#/components/schemas/IdamUser"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Users"
+ ],
+ "type": "object"
+ },
+ "teams.ReadUsers": {
+ "additionalProperties": false,
+ "properties": {
+ "Users": {
+ "items": {
+ "$ref": "#/components/schemas/User"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Users"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateApiToken": {
+ "additionalProperties": false,
+ "properties": {
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
+ "maxLength": 1024,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "type": "object"
+ },
+ "teams.UpdateApiTokenResponse": {
+ "additionalProperties": false,
+ "properties": {
+ "ApiTokens": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessKey": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "CreatedBy": {
+ "$ref": "#/components/schemas/nullable-uuidv4"
+ },
+ "CreatedTS": {
+ "description": "Created timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Description": {
+ "description": "Longer description of what this Token is used for.",
+ "example": "This token is for deployment pipelines in Gitlab to deploy to dev/test environments",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "ModifiedTS": {
+ "description": "Modified timestamp.",
+ "example": "2018-10-11T01:05:45.000Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of API Token",
+ "example": "gitlab-cicd",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^([0-9a-zA-Z_.-]+)$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/ApiRole"
+ },
+ "Status": {
+ "description": "Status of the Token.",
+ "enum": [
+ "ACTIVE",
+ "DELETED"
+ ],
+ "example": "ACTIVE",
+ "type": "string"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "AccessKey"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "ApiTokens"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateGroup": {
+ "properties": {
+ "Name": {
+ "description": "Name of User Group",
+ "example": "devops",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateGroupEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateGroupMembers": {
+ "properties": {
+ "AddMembers": {
+ "items": {
+ "$ref": "#/components/schemas/UserGroupMemberMap"
+ },
+ "type": "array"
+ },
+ "RemoveMembers": {
+ "items": {
+ "$ref": "#/components/schemas/UserGroupMemberMap"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "teams.UpdateGroupMembersEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus",
+ "TaskId"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ]
+ },
+ "teams.UpdateUser": {
+ "properties": {
+ "Email": {
+ "description": "Email address of User.",
+ "example": "stax.user@example.com",
+ "format": "email",
+ "maxLength": 128,
+ "minLength": 6,
+ "type": "string"
+ },
+ "FirstName": {
+ "description": "Given Name of the User.",
+ "example": "John",
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[^<>&\"$%!#?§;*~/\\\\|^=\\[\\]{}()\\u0000-\\u001F\\u007F]+$",
+ "type": "string"
+ },
+ "LastName": {
+ "description": "Family Name of the User.",
+ "example": "Doe",
+ "maxLength": 128,
+ "minLength": 0,
+ "pattern": "^[^<>&\"$%!#?§;*~/\\\\|^=\\[\\]{}()\\u0000-\\u001F\\u007F]+$",
+ "type": "string"
+ },
+ "Role": {
+ "$ref": "#/components/schemas/IdamUserRole"
+ },
+ "Status": {
+ "description": "Status of User.",
+ "enum": [
+ "ACTIVE",
+ "DISABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "teams.UpdateUserEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomerId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ },
+ "TaskId": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "TaskId",
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateUserInvite": {
+ "type": "object"
+ },
+ "teams.UpdateUserInviteEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "teams.UpdateUserPassword": {
+ "type": "object"
+ },
+ "teams.UpdateUserPasswordEvent": {
+ "additionalProperties": false,
+ "properties": {
+ "Detail": {
+ "additionalProperties": false,
+ "properties": {
+ "Message": {
+ "type": "string"
+ },
+ "Operation": {
+ "$ref": "#/components/schemas/Operation"
+ },
+ "OperationStatus": {
+ "$ref": "#/components/schemas/OperationStatus"
+ },
+ "Severity": {
+ "type": "string"
+ },
+ "TraceId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Message",
+ "Operation",
+ "OperationStatus"
+ ],
+ "type": "object"
+ },
+ "DetailType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "DetailType",
+ "Detail"
+ ],
+ "type": "object"
+ },
+ "uuidv4": {
+ "example": "ec5eaa8f-da06-4935-b5ce-05bd957c8bdc",
+ "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}$",
+ "type": "string"
+ },
+ "workloads.Catalogue": {
+ "properties": {
+ "OrganisationId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Paging": {
+ "$ref": "#/components/schemas/Pagination"
+ },
+ "WorkloadCatalogueItems": {
+ "items": {
+ "$ref": "#/components/schemas/WorkloadCatalogue"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "OrganisationId",
+ "WorkloadCatalogueItems"
+ ],
+ "type": "object"
+ },
+ "workloads.CreateCatalogueItem": {
+ "properties": {
+ "Description": {
+ "description": "Description of the Workload.",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "ManifestBody": {
+ "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
+ "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
+ "type": "string"
+ },
+ "ManifestURL": {
+ "description": "HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided.",
+ "example": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
+ "type": "string"
+ },
+ "Name": {
+ "description": "Name of the Workload Catalogue Item to create.",
+ "example": "my-directory-service",
+ "maxLength": 64,
+ "minLength": 2,
+ "type": "string"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "Version": {
+ "description": "Version of the Workload Catalogue Item to create.",
+ "example": "1.0.2",
+ "maxLength": 128,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Name",
+ "Version",
+ "Description"
+ ],
+ "type": "object"
+ },
+ "workloads.CreateCatalogueVersion": {
+ "properties": {
+ "Description": {
+ "description": "Description of the Workload Item Version",
+ "example": "A Workload to build a VPC in my org",
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "ManifestBody": {
+ "description": "Raw text of a Manifest. Either this or ManifestURL must be provided.",
+ "example": "Resources:\n - VPC:\n Type: AWS::Cloudformation\n TemplateURL: s3://{JumaArtifactBucket}/workload-vpc/vpc-2-tier-no-NAT.yml\n",
+ "type": "string"
+ },
+ "ManifestURL": {
+ "description": "HTTPS/S3 URL of the manifest. Either this or ManifestBody must be provided.",
+ "example": "S3://{StaxArtifactBucket}/workload-vpc/your-template-ref.yml",
+ "type": "string"
+ },
+ "Parameters": {
+ "$ref": "#/components/schemas/Parameter"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ },
+ "Version": {
+ "description": "Version of the Workload Catalogue Item to create.",
+ "example": "1.0.2",
+ "maxLength": 128,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Version",
+ "Description"
+ ]
+ },
+ "workloads.CreateWorkload": {
+ "properties": {
+ "AccountId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Id": {
+ "$ref": "#/components/schemas/ro-uuidv4"
+ },
+ "Name": {
+ "description": "The Workload name.",
+ "example": "my-workload-is-cool",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z][-a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "Parameters": {
+ "items": {
+ "$ref": "#/components/schemas/KeyValueRequestParameter"
+ },
+ "type": "array"
+ },
+ "Region": {
+ "$ref": "#/components/schemas/AwsRegion"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "required": [
+ "Name",
+ "CatalogueId",
+ "AccountId",
+ "Region"
+ ],
+ "type": "object"
+ },
+ "workloads.ReadCatalogueItems": {
+ "properties": {
+ "WorkloadCatalogues": {
+ "items": {
+ "$ref": "#/components/schemas/workloads.Catalogue"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "WorkloadCatalogues"
+ ],
+ "type": "object"
+ },
+ "workloads.ReadCatalogueManifest": {
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "workloads.ReadCatalogueTemplate": {
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+ },
+ "workloads.ReadCatalogueVersion": {
+ "properties": {
+ "Versions": {
+ "items": {
+ "$ref": "#/components/schemas/WorkloadCatalogueVersion"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Versions"
+ ],
+ "type": "object"
+ },
+ "workloads.ReadWorkloads": {
+ "additionalProperties": false,
+ "properties": {
+ "account_ids": {
+ "description": "Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs.",
+ "type": "string"
+ },
+ "account_names": {
+ "description": "Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names.",
+ "type": "string"
+ },
+ "account_types": {
+ "description": "Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types.",
+ "type": "string"
+ },
+ "catalogue_ids": {
+ "description": "Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs.",
+ "type": "string"
+ },
+ "catalogue_names": {
+ "description": "Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names.",
+ "type": "string"
+ },
+ "catalogue_version": {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids",
+ "type": "string"
+ },
+ "catalogue_version_id": {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version ID.",
+ "type": "string"
+ },
+ "filter": {
+ "description": "Comma delimited list of Stax Workload statuses. Returns all Workloads with this status. \nFilter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.",
+ "type": "string"
+ },
+ "id_filter": {
+ "description": "Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs.",
+ "type": "string"
+ },
+ "include_tags": {
+ "description": "Do you want all the Tags?",
+ "type": "boolean"
+ },
+ "limit": {
+ "description": "Pagination - The number of items per page to return. Must be used with offset",
+ "type": "integer"
+ },
+ "name": {
+ "description": "The Name of the Workloads to return.",
+ "type": "string"
+ },
+ "offset": {
+ "description": "Pagination - The page number to return. Must be used with limit",
+ "type": "integer"
+ },
+ "sort": {
+ "description": "The field to sort on.",
+ "enum": [
+ "Id",
+ "Name",
+ "AccountId",
+ "CatalogueId",
+ "CatalogueVersionId",
+ "Region",
+ "Status",
+ "UserTaskId",
+ "CreatedBy",
+ "CreatedTS",
+ "ModifiedTS",
+ "FactoryVersion"
+ ],
+ "type": "string"
+ },
+ "sort_order": {
+ "description": "The sort order - up or down.",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "workloads.ReadWorkloadsResponse": {
+ "properties": {
+ "Paging": {
+ "$ref": "#/components/schemas/Pagination"
+ },
+ "Workloads": {
+ "items": {
+ "$ref": "#/components/schemas/Workload"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "Workloads"
+ ],
+ "type": "object"
+ },
+ "workloads.UpdateWorkload": {
+ "properties": {
+ "CatalogueId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "CatalogueVersionId": {
+ "$ref": "#/components/schemas/uuidv4"
+ },
+ "Parameters": {
+ "items": {
+ "$ref": "#/components/schemas/KeyValueRequestParameter"
+ },
+ "type": "array"
+ },
+ "Protection": {
+ "type": "boolean"
+ },
+ "Tags": {
+ "$ref": "#/components/schemas/Tags"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "securitySchemes": {
+ "sigv4": {
+ "in": "header",
+ "name": "Authorization",
+ "type": "apiKey",
+ "x-amazon-apigateway-authtype": "awsSigv4"
+ }
+ }
+ },
+ "info": {
+ "contact": {
+ "url": "https://stax.io"
+ },
+ "description": "The Stax API is organised around REST, uses resource-oriented URLs, return responses are JSON and uses standard HTTP response codes, authentication and verbs.",
+ "termsOfService": "https://www.stax.io/legal/terms/",
+ "title": "Stax Core API",
+ "version": "20190206"
+ },
+ "openapi": "3.0.0",
+ "paths": {
+ "/20190206/account-types/members": {
+ "put": {
+ "description": "Move Accounts between Account Types.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountTypeMembers"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountTypeMembersEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Update Account Type members",
+ "x-stax-sdk-operation-id": "accounts.UpdateAccountTypeMembers"
+ }
+ },
+ "/20190206/accounts": {
+ "get": {
+ "description": "Return all AWS Accounts within your Stax Organisation.
Optionally, return the requested AWS Account.
",
+ "parameters": [
+ {
+ "description": "The list of Account Names you want returned, comma delimited.",
+ "example": "security,logging",
+ "in": "query",
+ "name": "account_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Account statuses to return, comma delimited.\n\nFilter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Account IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Fuzzy search by account name.",
+ "in": "query",
+ "name": "name_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of AWS Account IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "aws_account_id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Account Type IDs to return, comma delimited.\n",
+ "in": "query",
+ "name": "account_type_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return.",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down?",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want all the Tags?",
+ "in": "query",
+ "name": "include_tags",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.ReadAccounts"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Accounts",
+ "x-stax-sdk-operation-id": "accounts.ReadAccounts"
+ },
+ "post": {
+ "description": "Create a new Stax-hardened AWS Account in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CreateAccount"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CreateAccountResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account has another operation in progress."
+ }
+ },
+ "summary": "Create Account",
+ "x-stax-sdk-operation-id": "accounts.CreateAccount"
+ }
+ },
+ "/20190206/accounts/close": {
+ "post": {
+ "description": "Closes an AWS Account in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CloseAccount"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CloseAccountResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account has another operation in progress."
+ }
+ },
+ "summary": "Close Account",
+ "x-stax-sdk-operation-id": "accounts.CloseAccount"
+ }
+ },
+ "/20190206/accounts/discover": {
+ "post": {
+ "description": "Discover all AWS Accounts associated with the org into stax
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.DiscoverAccountsResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful due to user input."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account given has already been discovered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the requested account cannot be discovered."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if another account discovery operation is already in progress."
+ }
+ },
+ "summary": "Discover Accounts",
+ "x-stax-sdk-operation-id": "accounts.DiscoverAccounts"
+ }
+ },
+ "/20190206/accounts/discover/{aws_account_id}": {
+ "post": {
+ "description": "Attempt to (re)discover an AWS Account
",
+ "parameters": [
+ {
+ "description": "The AWS Account Id of the Account to discover.",
+ "in": "path",
+ "name": "aws_account_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.DiscoverAccountsResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful due to user input."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account given has already been discovered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the requested account cannot be discovered."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account has another operation in progress."
+ }
+ },
+ "summary": "Discover Account",
+ "x-stax-sdk-operation-id": "accounts.DiscoverAccounts"
+ }
+ },
+ "/20190206/accounts/onboard": {
+ "post": {
+ "description": "Onboard an existing, discovered AWS Account to your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.OnboardAccount"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account has another operation in progress."
+ }
+ },
+ "summary": "Onboard AWS Account",
+ "x-stax-sdk-operation-id": "accounts.OnboardAccount"
+ }
+ },
+ "/20190206/accounts/types": {
+ "get": {
+ "description": "Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.
",
+ "parameters": [
+ {
+ "description": "List of AccountType IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.ReadAccountTypes"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Account Types",
+ "x-stax-sdk-operation-id": "accounts.ReadAccountTypes"
+ },
+ "post": {
+ "description": "Create a new Account Type within your Stax Organisation.
Account Types can be used to control Group access.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CreateAccountType"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.CreateAccountTypeResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ }
+ },
+ "summary": "Create Account Type",
+ "x-stax-sdk-operation-id": "accounts.CreateAccountType"
+ }
+ },
+ "/20190206/accounts/types/access": {
+ "put": {
+ "description": "Adjust the AWS role permissions between Account Types and Groups.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountTypeAccess"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountTypeAccessEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Update AWS access",
+ "x-stax-sdk-operation-id": "accounts.UpdateAccountTypeAccess"
+ }
+ },
+ "/20190206/accounts/types/{account_type_id}": {
+ "delete": {
+ "description": "Delete an Account Type from your Stax Organisation.
An Account Type can only be deleted if there are no attached Accounts.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue item.",
+ "in": "path",
+ "name": "account_type_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.DeleteAccountTypeResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Delete Account Type",
+ "x-stax-sdk-operation-id": "accounts.DeleteAccountType"
+ },
+ "get": {
+ "description": "Return all the Account Types in your Stax Organisation.
Optionally, return the requested Account Type.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Account Type.",
+ "in": "path",
+ "name": "account_type_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of AccountType IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.ReadAccountTypes"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Account Type",
+ "x-stax-sdk-operation-id": "accounts.ReadAccountTypes"
+ },
+ "put": {
+ "description": "Change the details of an Account Type, such as the name.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Account Type to update.",
+ "in": "path",
+ "name": "account_type_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountType"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountTypeResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Update Account Type",
+ "x-stax-sdk-operation-id": "accounts.UpdateAccountType"
+ }
+ },
+ "/20190206/accounts/{account_id}": {
+ "get": {
+ "description": "Return the requested AWS Account.
",
+ "parameters": [
+ {
+ "description": "The Stax UUID of the Account.",
+ "in": "path",
+ "name": "account_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The list of Account Names you want returned, comma delimited.",
+ "example": "security,logging",
+ "in": "query",
+ "name": "account_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Account statuses to return, comma delimited.\n\nFilter options available: INITIALIZING, ACTIVE, SUSPENDED, MAINTENANCE, AWSERROR, CLOSED, OFFBOARDED, DISCOVERED, ERROR.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Account IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of AWS Account IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "aws_account_id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Account Type IDs to return, comma delimited.\n",
+ "in": "query",
+ "name": "account_type_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return.",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down?",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want all the Tags?",
+ "in": "query",
+ "name": "include_tags",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.ReadAccounts"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Account",
+ "x-stax-sdk-operation-id": "accounts.ReadAccounts"
+ },
+ "put": {
+ "description": "Change the details of an Account, such as the name, tags or Account Type
",
+ "parameters": [
+ {
+ "description": "The UUID of the Account to update.",
+ "in": "path",
+ "name": "account_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccount"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/accounts.UpdateAccountResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the account has another operation in progress."
+ }
+ },
+ "summary": "Update Account",
+ "x-stax-sdk-operation-id": "accounts.UpdateAccount"
+ }
+ },
+ "/20190206/accounts/{account_id}/policies": {
+ "get": {
+ "description": "Return the policies that are attached to the AWS Account.
",
+ "parameters": [
+ {
+ "description": "The Stax UUID of the Account.",
+ "in": "path",
+ "name": "account_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.ReadPolicyAttachments"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Account could not be found."
+ }
+ },
+ "summary": "Fetch Account Policy Attachments",
+ "x-stax-sdk-operation-id": "accounts.ReadAccountPolicyAttachments"
+ }
+ },
+ "/20190206/api-tokens": {
+ "get": {
+ "description": "Return a list of all API Tokens within your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "List of Access Keys you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of API Token statuses you want returned, comma delimited.\n\nFilter Options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadApiTokens"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch API Tokens",
+ "x-stax-sdk-operation-id": "teams.ReadApiTokens"
+ },
+ "post": {
+ "description": "Create an API Token for API/SDK access within your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateApiToken"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateApiTokenResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if there is insufficient permissions to grant the requested role."
+ }
+ },
+ "summary": "Create API Token",
+ "x-stax-sdk-operation-id": "teams.CreateApiToken"
+ }
+ },
+ "/20190206/api-tokens/{access_key}": {
+ "delete": {
+ "description": "Delete an API Token from your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the User to delete.",
+ "in": "path",
+ "name": "access_key",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.DeleteApiTokenResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unable to find the API Token to delete."
+ }
+ },
+ "summary": "Delete API Token",
+ "x-stax-sdk-operation-id": "teams.DeleteApiToken"
+ },
+ "get": {
+ "description": "Return a list of all API Tokens within your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Token to return.",
+ "in": "path",
+ "name": "access_key",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Access Keys you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of API Token statuses you want returned, comma delimited.\n\nFilter Options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadApiTokens"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch API Token",
+ "x-stax-sdk-operation-id": "teams.ReadApiTokens"
+ },
+ "put": {
+ "description": "Update a Token for API/SDK access within your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the API Token to update.",
+ "in": "path",
+ "name": "access_key",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateApiToken"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateApiTokenResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if there is insufficient permissions to grant the requested role."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unable to find the API Token to update."
+ }
+ },
+ "summary": "Update API Token",
+ "x-stax-sdk-operation-id": "teams.UpdateApiToken"
+ }
+ },
+ "/20190206/groups": {
+ "get": {
+ "description": "Return all Groups within your Stax Organisation.
Optionally, return the requested Group.
",
+ "parameters": [
+ {
+ "description": "List of Group IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadGroupsResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Groups",
+ "x-stax-sdk-operation-id": "teams.ReadGroups"
+ },
+ "post": {
+ "description": "Create a new Group within your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateGroup"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateGroupEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "A group with the same name already exists."
+ }
+ },
+ "summary": "Create Group",
+ "x-stax-sdk-operation-id": "teams.CreateGroup"
+ }
+ },
+ "/20190206/groups/members": {
+ "put": {
+ "description": "Add members to a Group or Remove members from a Group
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateGroupMembers"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateGroupMembersEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "Could not locate user or group."
+ }
+ },
+ "summary": "Update Group Members",
+ "x-stax-sdk-operation-id": "teams.UpdateGroupMembers"
+ }
+ },
+ "/20190206/groups/{group_id}": {
+ "delete": {
+ "description": "Delete a Group from your Stax Organisation.
A Group can only be deleted if there are no team members in the Group.
",
+ "parameters": [
+ {
+ "description": "The UUID of Group to delete.",
+ "in": "path",
+ "name": "group_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.DeleteGroupEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The Group still contains members."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The Group could not be found."
+ }
+ },
+ "summary": "Delete Group",
+ "x-stax-sdk-operation-id": "teams.DeleteGroup"
+ },
+ "get": {
+ "description": "Return the requested Group from your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Group to return.",
+ "in": "path",
+ "name": "group_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadGroupsResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Group not found."
+ }
+ },
+ "summary": "Fetch Group",
+ "x-stax-sdk-operation-id": "teams.ReadGroups"
+ },
+ "put": {
+ "description": "Change the details of a Group, such as the name.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Group to update.",
+ "in": "path",
+ "name": "group_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateGroup"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateGroupEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The Group could not be found."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "A group with the same name already exists."
+ }
+ },
+ "summary": "Update Group",
+ "x-stax-sdk-operation-id": "teams.UpdateGroup"
+ }
+ },
+ "/20190206/idam/user": {
+ "post": {
+ "description": "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.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateUser"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.CreateUserEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Create Stax User",
+ "x-stax-sdk-operation-id": "teams.CreateUser"
+ }
+ },
+ "/20190206/idam/user/resend-invite/{user_id}": {
+ "put": {
+ "description": "Re-send the verification email for a Stax User.
",
+ "parameters": [
+ {
+ "description": "The UUID of the IDAM User to re-invite.",
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateUserInviteEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the user has already verified their email address."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the user does not exist in IDAM."
+ }
+ },
+ "summary": "Re-invite Stax user",
+ "x-stax-sdk-operation-id": "teams.UpdateUserInvite"
+ }
+ },
+ "/20190206/idam/user/reset-password/{user_id}": {
+ "put": {
+ "description": "Send a Stax User a password reset email.
",
+ "parameters": [
+ {
+ "description": "The UUID of the IDAM User to have password reset.",
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateUserPasswordEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the user does not exist in IDAM or is deleted."
+ }
+ },
+ "summary": "Reset Stax User's password",
+ "x-stax-sdk-operation-id": "teams.UpdateUserPassword"
+ }
+ },
+ "/20190206/idam/user/{user_id}": {
+ "put": {
+ "description": "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
",
+ "parameters": [
+ {
+ "description": "The UUID of the IDAM User to update.",
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateUser"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.UpdateUserEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Only status can be updated on a disabled user."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the user does not exist in IDAM."
+ }
+ },
+ "summary": "Update Stax User",
+ "x-stax-sdk-operation-id": "teams.UpdateUser"
+ }
+ },
+ "/20190206/insights": {
+ "get": {
+ "description": "Return Insights for your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The actions to filter. Comma delimited.",
+ "in": "query",
+ "name": "action",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The source system that originated this entry",
+ "explode": false,
+ "in": "query",
+ "name": "source_kind",
+ "required": false,
+ "schema": {
+ "items": {
+ "enum": [
+ "TASKS"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Id of the entry in the source system",
+ "in": "query",
+ "name": "source_id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The statuses to filter. Comma delimited.",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "items": {
+ "enum": [
+ "PENDING",
+ "SUCCESS",
+ "FAILED"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ {
+ "description": "The user ids that triggered this action. Comma delimited.",
+ "in": "query",
+ "name": "user_id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The resources associated with this action. Comma delimited.",
+ "explode": false,
+ "in": "query",
+ "name": "target_kind",
+ "required": false,
+ "schema": {
+ "items": {
+ "enum": [
+ "ACCOUNT",
+ "CUSTOMER",
+ "ORGANISATION",
+ "ORGANISATIONAL_UNIT",
+ "OTHER",
+ "POLICY",
+ "SERVICE_CONFIGURATION"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "style": "form"
+ },
+ {
+ "description": "Pagination - The page number to return.",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return. Maxiumum is 1,000 records.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "default": "CreatedTS",
+ "enum": [
+ "Action",
+ "CreatedTS",
+ "Status",
+ "TargetKind",
+ "UserId"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/insights.ReadInsights"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Insights",
+ "x-stax-sdk-operation-id": "insights.ReadInsights"
+ }
+ },
+ "/20190206/networking/dnsresolvers": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax DNS Resolver statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsResolvers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DNS Resolvers",
+ "x-stax-sdk-operation-id": "networking.ReadDnsResolvers"
+ }
+ },
+ "/20190206/networking/dnsresolvers/{dns_resolver_id}": {
+ "delete": {
+ "description": "
Deletes a Stax DNS Resolver within a Stax Networking Hub.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DNS Resolver to delete.",
+ "in": "path",
+ "name": "dns_resolver_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteDnsResolverEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub doesn't match supplied credentials."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DNS Resolver to delete cannot be found."
+ }
+ },
+ "summary": "Delete DNS Resolver",
+ "x-stax-sdk-operation-id": "networking.DeleteDnsResolver"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DNS Resolver to fetch.",
+ "in": "path",
+ "name": "dns_resolver_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DNS Resolver statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsResolvers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DNS Resolver",
+ "x-stax-sdk-operation-id": "networking.ReadDnsResolvers"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax DNS Resolver. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DNS Resolver to update.",
+ "in": "path",
+ "name": "dns_resolver_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDnsResolver"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDnsResolverEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub doesn't match supplied credentials."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DNS Resolver to update cannot be found."
+ }
+ },
+ "summary": "Update DNS Resolver",
+ "x-stax-sdk-operation-id": "networking.UpdateDnsResolver"
+ }
+ },
+ "/20190206/networking/dnsresolvers/{dns_resolver_id}/dnsrules": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DNS Resolver.",
+ "in": "path",
+ "name": "dns_resolver_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DNS Rule statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsRules"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Resolver DNS Rules",
+ "x-stax-sdk-operation-id": "networking.ReadDnsRules"
+ },
+ "post": {
+ "description": "
Creates a Stax DNS Rule within a Stax DNS Resolver.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DNS Resolver to create the Stax DNS Rule within.",
+ "in": "path",
+ "name": "dns_resolver_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDnsRule"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDnsRuleEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub doesn't match supplied credentials."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DNS Resolver to create the Stax DNS Rule within cannot be found."
+ }
+ },
+ "summary": "Create DNS Rule",
+ "x-stax-sdk-operation-id": "networking.CreateDnsRule"
+ }
+ },
+ "/20190206/networking/dnsrules": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax DNS Rule statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsRules"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DNS Rules",
+ "x-stax-sdk-operation-id": "networking.ReadDnsRules"
+ }
+ },
+ "/20190206/networking/dnsrules/{dns_rule_id}": {
+ "delete": {
+ "description": "
Deletes a Stax DNS Rule within a Stax DNS Resolver
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DNS Rule.",
+ "in": "path",
+ "name": "dns_rule_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteDnsRuleEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub doesn't match supplied credentials."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DNS Rule to delete cannot be found."
+ }
+ },
+ "summary": "Delete DNS Rule",
+ "x-stax-sdk-operation-id": "networking.DeleteDnsRule"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DNS Rule to fetch.",
+ "in": "path",
+ "name": "dns_rule_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DNS Rule statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsRules"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DNS Rule",
+ "x-stax-sdk-operation-id": "networking.ReadDnsRules"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax DNS Rule. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DNS Rule to update.",
+ "in": "path",
+ "name": "dns_rule_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDnsRule"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDnsRuleEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub doesn't match supplied credentials."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DNS Rule to update cannot be found."
+ }
+ },
+ "summary": "Update DNS Rule",
+ "x-stax-sdk-operation-id": "networking.UpdateDnsRule"
+ }
+ },
+ "/20190206/networking/dxassociations": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax DX Association statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxAssociations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Associations",
+ "x-stax-sdk-operation-id": "networking.ReadDxAssociations"
+ }
+ },
+ "/20190206/networking/dxassociations/{dx_association_id}": {
+ "delete": {
+ "description": "
Deletes a Stax DX Association.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Association to delete.",
+ "in": "path",
+ "name": "dx_association_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteDxAssociationEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX Association to delete cannot be found."
+ }
+ },
+ "summary": "Delete DX Association",
+ "x-stax-sdk-operation-id": "networking.DeleteDxAssociation"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DX Association to fetch.",
+ "in": "path",
+ "name": "dx_association_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Association statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": true,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxAssociations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Association",
+ "x-stax-sdk-operation-id": "networking.ReadDxAssociations"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax DX Association. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Association to update.",
+ "in": "path",
+ "name": "dx_association_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDxAssociation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDxAssociationEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX Association to update cannot be found."
+ }
+ },
+ "summary": "Update DX Association",
+ "x-stax-sdk-operation-id": "networking.UpdateDxAssociation"
+ }
+ },
+ "/20190206/networking/dxgateways": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Gateways",
+ "x-stax-sdk-operation-id": "networking.ReadDxGateways"
+ }
+ },
+ "/20190206/networking/dxgateways/{dx_gateway_id}": {
+ "delete": {
+ "description": "
Deletes a Stax DX Gateway.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Gateway to delete.",
+ "in": "path",
+ "name": "dx_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteDxGatewayEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX Vif to delete cannot be found."
+ }
+ },
+ "summary": "Delete DX Gateway",
+ "x-stax-sdk-operation-id": "networking.DeleteDxGateway"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DX Gateway to fetch.",
+ "in": "path",
+ "name": "dx_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Gateway",
+ "x-stax-sdk-operation-id": "networking.ReadDxGateways"
+ }
+ },
+ "/20190206/networking/dxgateways/{dx_gateway_id}/dxassociations": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DX Gateway to fetch associations for.",
+ "in": "path",
+ "name": "dx_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Association statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxAssociations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Gateway DX Associations",
+ "x-stax-sdk-operation-id": "networking.ReadDxAssociations"
+ },
+ "post": {
+ "description": "
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.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Gateway to association with a Stax Networking Hub.",
+ "in": "path",
+ "name": "dx_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDxAssociation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDxAssociationEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Resources to create the DX Association for cannot be found."
+ }
+ },
+ "summary": "Create DX Association",
+ "x-stax-sdk-operation-id": "networking.CreateDxAssociation"
+ }
+ },
+ "/20190206/networking/dxgateways/{dx_gateway_id}/dxvifs": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DX Vif.",
+ "in": "path",
+ "name": "dx_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxVifs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Gateway DX Vifs",
+ "x-stax-sdk-operation-id": "networking.ReadDxVifs"
+ }
+ },
+ "/20190206/networking/dxresources": {
+ "post": {
+ "description": "
Creates a Stax DX Resource, a DX Gateway and/or DX Vif.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDxResource"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDxResourceEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Resource to deploy the DX Resources into cannot be found."
+ }
+ },
+ "summary": "Create DX Resources",
+ "x-stax-sdk-operation-id": "networking.CreateDxResource"
+ }
+ },
+ "/20190206/networking/dxvifs": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxVifs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Vifs",
+ "x-stax-sdk-operation-id": "networking.ReadDxVifs"
+ }
+ },
+ "/20190206/networking/dxvifs/{dx_vif_id}": {
+ "delete": {
+ "description": "
Deletes a Stax DX Vif.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Vif to delete.",
+ "in": "path",
+ "name": "dx_vif_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteDxVifEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX Vif to delete cannot be found."
+ }
+ },
+ "summary": "Delete DX Vif",
+ "x-stax-sdk-operation-id": "networking.DeleteDxVif"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax DX Vif to fetch.",
+ "in": "path",
+ "name": "dx_vif_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxVifs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch DX Vif",
+ "x-stax-sdk-operation-id": "networking.ReadDxVifs"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax DX Vif. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Vif to update.",
+ "in": "path",
+ "name": "dx_vif_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDxVif"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateDxVifEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX Vif to update cannot be found."
+ }
+ },
+ "summary": "Update DX VIf",
+ "x-stax-sdk-operation-id": "networking.UpdateDxVif"
+ }
+ },
+ "/20190206/networking/dxvifs/{dx_vif_id}/status": {
+ "get": {
+ "description": "
Returns the connectivity status of the BPG Peers for a specific DX VIF
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax DX Gateway where the Stax DX Vif is attached.",
+ "in": "path",
+ "name": "dx_vif_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxVifStatus"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax DX VIF cannot be found."
+ }
+ },
+ "summary": "Fetch DX VIF Status",
+ "x-stax-sdk-operation-id": "networking.ReadDxVifStatus"
+ }
+ },
+ "/20190206/networking/exclusions": {
+ "get": {
+ "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
+ "parameters": [
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrExclusions"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch CIDR Exclusions",
+ "x-stax-sdk-operation-id": "networking.ReadCidrExclusions"
+ }
+ },
+ "/20190206/networking/exclusions/{exclusion_id}": {
+ "delete": {
+ "description": "
Deletes a CIDR Exclusion within a Stax Networking Hub.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Exclusion to Delete.",
+ "in": "path",
+ "name": "exclusion_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrExclusions"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The CIDR Exclusion to delete cannot be found or is already deleted."
+ }
+ },
+ "summary": "Delete CIDR Exclusion",
+ "x-stax-sdk-operation-id": "networking.DeleteCidrExclusion"
+ },
+ "get": {
+ "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Exclusion to read.",
+ "in": "path",
+ "name": "exclusion_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrExclusions"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch CIDR Exclusion",
+ "x-stax-sdk-operation-id": "networking.ReadCidrExclusions"
+ },
+ "put": {
+ "description": "
Updates a CIDR Exclusion within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the Exclusion to update.",
+ "in": "path",
+ "name": "exclusion_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateCidrExclusion"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateCidrExclusion"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The CIDR Exclusion to update cannot be found."
+ }
+ },
+ "summary": "Update CIDR Exclusion",
+ "x-stax-sdk-operation-id": "networking.UpdateCidrExclusion"
+ }
+ },
+ "/20190206/networking/hubpeerings": {
+ "get": {
+ "description": "
Returns all the Stax Hub Peerings.
",
+ "parameters": [
+ {
+ "description": "The Stax Hub Peering statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,PENDING_ACCEPT,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadHubPeerings"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub Peerings",
+ "x-stax-sdk-operation-id": "networking.ReadHubPeerings"
+ }
+ },
+ "/20190206/networking/hubpeerings/{hub_peering_id}": {
+ "delete": {
+ "description": "
Deletes a Stax Hub Peering.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Hub Peering to delete.",
+ "in": "path",
+ "name": "hub_peering_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteHubPeeringEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Hub Peering to delete cannot be found."
+ }
+ },
+ "summary": "Delete Hub Peering",
+ "x-stax-sdk-operation-id": "networking.DeleteHubPeering"
+ },
+ "get": {
+ "description": "
Providing the UUID of a Stax Hub Peering will return a specific Stax Hub Peering.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Hub Peering to Read.",
+ "in": "path",
+ "name": "hub_peering_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax Hub Peering statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,PENDING_ACCEPT,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadHubPeerings"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub Peering",
+ "x-stax-sdk-operation-id": "networking.ReadHubPeering"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax Hub Peering. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Hub Peering to update.",
+ "in": "path",
+ "name": "hub_peering_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateHubPeering"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateHubPeeringEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Hub Peering to update cannot be found."
+ }
+ },
+ "summary": "Update Hub Peering",
+ "x-stax-sdk-operation-id": "networking.UpdateHubPeering"
+ }
+ },
+ "/20190206/networking/hubs": {
+ "get": {
+ "description": "
Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.
",
+ "parameters": [
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadHubs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub cannot be found."
+ }
+ },
+ "summary": "Fetch Networking Hubs",
+ "x-stax-sdk-operation-id": "networking.ReadHubs"
+ },
+ "post": {
+ "description": "
Creates Stax Networking Hub within your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateHub"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateHubEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The account to deploy a hub does not exist."
+ }
+ },
+ "summary": "Create Networking Hub",
+ "x-stax-sdk-operation-id": "networking.CreateHub"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}": {
+ "delete": {
+ "description": "
Deletes a hub from the Stax Organisation
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub to delete.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteHubEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The hub to be deleted doesn't exist or is already deleted."
+ }
+ },
+ "summary": "Delete Networking Hub",
+ "x-stax-sdk-operation-id": "networking.DeleteHub"
+ },
+ "get": {
+ "description": "
Returns a list of networking hubs in your Stax Organisation.
Can use the UUID of a Hub to return a specific hub details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadHubs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub cannot be found."
+ }
+ },
+ "summary": "Fetch Networking Hub",
+ "x-stax-sdk-operation-id": "networking.ReadHubs"
+ },
+ "put": {
+ "description": "
Updates various attributes for a given hub. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub to update.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateHub"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateHubEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "An active hub to be updated does not exist"
+ }
+ },
+ "summary": "Update Networking Hub",
+ "x-stax-sdk-operation-id": "networking.UpdateHub"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/dnsresolvers": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax Networking Hub where the Stax DNS Resolver is deployed.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DNS Resolver statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDnsResolvers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub DNS Resolvers",
+ "x-stax-sdk-operation-id": "networking.ReadDnsResolvers"
+ },
+ "post": {
+ "description": "
Creates a Stax DNS Resolver within a Stax Networking Hub.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to deploy the Stax DNS Resolver.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDnsResolver"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateDnsResolverEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub to deploy the Stax DNS Resolver cannot be found."
+ }
+ },
+ "summary": "Create DNS Resolver",
+ "x-stax-sdk-operation-id": "networking.CreateDnsResolver"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/dxassociations": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax Networking Hub to fetch associations for.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Association statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxAssociations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub DX Associations",
+ "x-stax-sdk-operation-id": "networking.ReadDxAssociations"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/dxgateways": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax Networking Hub where the Stax DX Gateway is deployed.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax DX Gateway statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub DX Gateways",
+ "x-stax-sdk-operation-id": "networking.ReadDxGateways"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/exclusions": {
+ "get": {
+ "description": "
Returns a list of CIDR Exclusions.
Can use the UUID of a CIDR Exclusions to return a specific CIDR Exclusions details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub to list Exclusions in.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrExclusions"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub CIDR Exclusions",
+ "x-stax-sdk-operation-id": "networking.ReadCidrExclusions"
+ },
+ "post": {
+ "description": "
Creates a CIDR Exclusion within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub where the CIDR Exclusion is created in.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateCidrExclusion"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrExclusions"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The hub to create the CIDR Exclusion is not found."
+ }
+ },
+ "summary": "Create CIDR Exclusion",
+ "x-stax-sdk-operation-id": "networking.CreateCidrExclusion"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/prefixlists": {
+ "get": {
+ "description": "
Providing the UUID of a Stax Networking Hub will return the Stax Prefix Lists for the Stax Networking Hub.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to retrieve Prefix Lists for.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax Prefix List statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadPrefixLists"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Networking Hub Prefix Lists",
+ "x-stax-sdk-operation-id": "networking.ReadHubPrefixLists"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/prefixlists/hubs": {
+ "post": {
+ "description": "
Creates a Stax Hub Prefix List.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to create the Hub Prefix List for.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateHubPrefixList"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreatePrefixListEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub to create the Prefix List for cannot be found."
+ }
+ },
+ "summary": "Create a Hub Prefix List",
+ "x-stax-sdk-operation-id": "networking.CreateHubPrefixList"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/prefixlists/vpcs": {
+ "post": {
+ "description": "
Creates a Stax VPC Prefix List.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to create the Vpc Prefix List for.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpcPrefixList"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreatePrefixListEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub to create the Prefix List for cannot be found."
+ }
+ },
+ "summary": "Create a VPC Prefix List",
+ "x-stax-sdk-operation-id": "networking.CreateVpcPrefixList"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/ranges": {
+ "get": {
+ "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub you want the Ranges for.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of range ids to fetch, comma delimited.\n",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrRanges"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub CIDR Ranges",
+ "x-stax-sdk-operation-id": "networking.ReadCidrRanges"
+ },
+ "post": {
+ "description": "
Creates a CIDR Range within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub where the CIDR Range is created in.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateCidrRange"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrRanges"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The hub to create the CIDR Range is not found."
+ }
+ },
+ "summary": "Create CIDR Range",
+ "x-stax-sdk-operation-id": "networking.CreateCidrRange"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/vpcs": {
+ "get": {
+ "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub where the VPC is.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ },
+ {
+ "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpcs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub VPCs",
+ "x-stax-sdk-operation-id": "networking.ReadVpcs"
+ },
+ "post": {
+ "description": "
Creates a VPC within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the Hub where the VPC is.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpc"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpcEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is forbidden."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The hub to create the VPC is not found."
+ }
+ },
+ "summary": "Create VPC",
+ "x-stax-sdk-operation-id": "networking.CreateVpc"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/vpnconnections": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax Networking Hub where the Stax VPN Connection is deployed.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax VPN Connections statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnConnections"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub VPN Connections",
+ "x-stax-sdk-operation-id": "networking.ReadVpnConnections"
+ }
+ },
+ "/20190206/networking/hubs/{hub_id}/vpncustomergateways": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax Networking Hub where the Stax VPN Customer Gateways is deployed.",
+ "in": "path",
+ "name": "hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax VPN Customer Gateways statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnCustomerGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Hub VPN Customer Gateways",
+ "x-stax-sdk-operation-id": "networking.ReadVpnCustomerGateways"
+ }
+ },
+ "/20190206/networking/hubs/{networking_hub_id}/hubpeerings": {
+ "get": {
+ "description": "
Providing the UUID of a Stax Networking Hub will return the Stax Hub Peerings for the Stax Networking Hub.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to retrieve Hub Peerings for.",
+ "in": "path",
+ "name": "networking_hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax Hub Peering statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, PENDING_ACCEPT, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,PENDING_ACCEPT,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadHubPeerings"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Networking Hub Hub Peerings",
+ "x-stax-sdk-operation-id": "networking.ReadHubHubPeerings"
+ },
+ "post": {
+ "description": "
Creates a Stax Hub Peering.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Networking Hub to create the Hub Peering for.",
+ "in": "path",
+ "name": "networking_hub_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateHubPeering"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateHubPeeringEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking Hub to create the Hub Peering for cannot be found."
+ }
+ },
+ "summary": "Create a Hub Peering",
+ "x-stax-sdk-operation-id": "networking.CreateHubPeering"
+ }
+ },
+ "/20190206/networking/prefixlists": {
+ "get": {
+ "description": "
Returns all the Stax Prefix Lists.
",
+ "parameters": [
+ {
+ "description": "The Stax Prefix List statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadPrefixLists"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Prefix Lists",
+ "x-stax-sdk-operation-id": "networking.ReadPrefixLists"
+ }
+ },
+ "/20190206/networking/prefixlists/hubs/{prefix_list_id}/associations": {
+ "put": {
+ "description": "
Updates a Stax Hub Prefix List associations. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Prefix List to update associations for.",
+ "in": "path",
+ "name": "prefix_list_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateHubPrefixListAssociation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdatePrefixListAssociationEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Prefix List cannot be found."
+ }
+ },
+ "summary": "Update Hub Prefix List associations",
+ "x-stax-sdk-operation-id": "networking.UpdateHubPrefixListAssociation"
+ }
+ },
+ "/20190206/networking/prefixlists/vpcs/{prefix_list_id}/associations": {
+ "put": {
+ "description": "
Updates a Stax VPC Prefix List associations. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Prefix List to update associations for.",
+ "in": "path",
+ "name": "prefix_list_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpcPrefixListAssociation"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdatePrefixListAssociationEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Prefix List cannot be found."
+ }
+ },
+ "summary": "Update VPC Prefix List associations",
+ "x-stax-sdk-operation-id": "networking.UpdateVpcPrefixListAssociation"
+ }
+ },
+ "/20190206/networking/prefixlists/{prefix_list_id}": {
+ "delete": {
+ "description": "
Deletes a Stax Prefix List.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Prefix List to delete.",
+ "in": "path",
+ "name": "prefix_list_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeletePrefixListEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Prefix List to delete cannot be found."
+ }
+ },
+ "summary": "Delete Prefix List",
+ "x-stax-sdk-operation-id": "networking.DeletePrefixList"
+ },
+ "get": {
+ "description": "
Providing the UUID of a Stax Prefix List will return a specific Stax Prefix List.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Prefix List to Read.",
+ "in": "path",
+ "name": "prefix_list_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax Prefix List statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,DELETE_IN_PROGRESS,DELETED,DELETE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadPrefixLists"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Prefix List",
+ "x-stax-sdk-operation-id": "networking.ReadPrefixList"
+ },
+ "put": {
+ "description": "
Updates a Stax Prefix List. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Prefix List to update.",
+ "in": "path",
+ "name": "prefix_list_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdatePrefixList"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdatePrefixListEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Prefix List cannot be found."
+ }
+ },
+ "summary": "Update Prefix List",
+ "x-stax-sdk-operation-id": "networking.UpdatePrefixList"
+ }
+ },
+ "/20190206/networking/ranges": {
+ "get": {
+ "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
+ "parameters": [
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of range ids to fetch, comma delimited.\n",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrRanges"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch CIDR Ranges",
+ "x-stax-sdk-operation-id": "networking.ReadCidrRanges"
+ }
+ },
+ "/20190206/networking/ranges/{range_id}": {
+ "delete": {
+ "description": "
Deletes a CIDR Range within a Stax Networking Hub. No existing VPCs can be in the CIDR Range.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Range to delete.",
+ "in": "path",
+ "name": "range_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrRanges"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The CIDR Range to delete cannot be found or is already deleted."
+ }
+ },
+ "summary": "Delete CIDR Range",
+ "x-stax-sdk-operation-id": "networking.DeleteCidrRange"
+ },
+ "get": {
+ "description": "
Returns a list of CIDR Ranges.
Can use the UUID of a CIDR Range to return a specific CIDR Range details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Range to read.",
+ "in": "path",
+ "name": "range_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Hub statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE",
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of range ids to fetch, comma delimited.\n",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadCidrRanges"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch CIDR Range",
+ "x-stax-sdk-operation-id": "networking.ReadCidrRanges"
+ },
+ "put": {
+ "description": "
Updates a CIDR Range within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the CIDR Range to update.",
+ "in": "path",
+ "name": "range_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateCidrRange"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateCidrRange"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The CIDR Range to update cannot be found."
+ }
+ },
+ "summary": "Update CIDR Range",
+ "x-stax-sdk-operation-id": "networking.UpdateCidrRange"
+ }
+ },
+ "/20190206/networking/vpcs": {
+ "get": {
+ "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
+ "parameters": [
+ {
+ "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ },
+ {
+ "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpcs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPCs",
+ "x-stax-sdk-operation-id": "networking.ReadVpcs"
+ }
+ },
+ "/20190206/networking/vpcs/{vpc_id}": {
+ "delete": {
+ "description": "
Deletes a VPC within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the VPC to delete.",
+ "in": "path",
+ "name": "vpc_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteVpcEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The VPC to delete cannot be found."
+ }
+ },
+ "summary": "Delete VPC",
+ "x-stax-sdk-operation-id": "networking.DeleteVpc"
+ },
+ "get": {
+ "description": "
Returns a list of VPCs.
Can use the UUID of a VPC to return a specific VPC details.
",
+ "parameters": [
+ {
+ "description": "The UUID of the VPC to read.",
+ "in": "path",
+ "name": "vpc_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The VPC statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ },
+ {
+ "description": "The VPC type to return, comma delimited.\n\nFilter options available: FLAT, ISOLATED, TRANSIT, SHAREDSERVICES\n",
+ "in": "query",
+ "name": "type",
+ "required": false,
+ "schema": {
+ "default": "FLAT,ISOLATED,TRANSIT,SHAREDSERVICES",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpcs"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPC",
+ "x-stax-sdk-operation-id": "networking.ReadVpcs"
+ },
+ "put": {
+ "description": "
Updates a VPC within a Stax Networking Hub
",
+ "parameters": [
+ {
+ "description": "The UUID of the VPC to update.",
+ "in": "path",
+ "name": "vpc_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpc"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpcEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The VPC to update cannot be found."
+ }
+ },
+ "summary": "Update VPC",
+ "x-stax-sdk-operation-id": "networking.UpdateVpc"
+ }
+ },
+ "/20190206/networking/vpnconnections": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax VPN Connections statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnConnections"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPN Connections",
+ "x-stax-sdk-operation-id": "networking.ReadVpnConnections"
+ }
+ },
+ "/20190206/networking/vpnconnections/{vpn_connection_id}": {
+ "delete": {
+ "description": "
Deletes a Stax VPN Conection within a Stax VPN Customer Gateway
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax VPN Conection.",
+ "in": "path",
+ "name": "vpn_connection_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteVpnConnectionEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax VPN Conection to delete cannot be found."
+ }
+ },
+ "summary": "Delete VPN Conection",
+ "x-stax-sdk-operation-id": "networking.DeleteVpnConnection"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax VPN Connection to fetch.",
+ "in": "path",
+ "name": "vpn_connection_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax VPN Connections statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnConnections"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPN Connection",
+ "x-stax-sdk-operation-id": "networking.ReadVpnConnections"
+ },
+ "put": {
+ "description": "
Updates the attributes for a given Stax VPN Connection. Only supplied values are updated.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax VPN Connection to update.",
+ "in": "path",
+ "name": "vpn_connection_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpnConnection"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpnConnectionEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax VPN Connection to update cannot be found."
+ }
+ },
+ "summary": "Update VPN Conection",
+ "x-stax-sdk-operation-id": "networking.UpdateVpnConnection"
+ }
+ },
+ "/20190206/networking/vpnconnections/{vpn_connection_id}/status": {
+ "get": {
+ "description": "
Returns the connectivity status of the VPN Tunnels for a specific VPN Connection
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax VPN Connection.",
+ "in": "path",
+ "name": "vpn_connection_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnConnectionStatus"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax VPN Connection cannot be found."
+ }
+ },
+ "summary": "Fetch VPN Connection Status",
+ "x-stax-sdk-operation-id": "networking.ReadVpnConnectionStatus"
+ }
+ },
+ "/20190206/networking/vpncustomergateways": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The Stax VPN Customer Gateways statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnCustomerGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPN Customer Gateways",
+ "x-stax-sdk-operation-id": "networking.ReadVpnCustomerGateways"
+ },
+ "post": {
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpnCustomerGateway"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpnCustomerGatewayEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Resource to deploy the VPN Customer Gateway into cannot be found."
+ }
+ },
+ "summary": "Creates a Stax VPN Customer Gateway",
+ "x-stax-sdk-operation-id": "networking.CreateVpnCustomerGateway"
+ }
+ },
+ "/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}": {
+ "delete": {
+ "parameters": [
+ {
+ "description": "The UUID of the VPN Customer Gateway to delete.",
+ "in": "path",
+ "name": "vpn_customer_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.DeleteVpnCustomerGatewayEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The VPN Customer Gateway to be deleted doesn't exist or is already deleted."
+ }
+ },
+ "summary": "Delete a Stax VPN Customer Gateway",
+ "x-stax-sdk-operation-id": "networking.DeleteVpnCustomerGateway"
+ },
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax VPN Customer Gateways to fetch.",
+ "in": "path",
+ "name": "vpn_customer_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax VPN Customer Gateways statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnCustomerGateways"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch VPN Customer Gateway",
+ "x-stax-sdk-operation-id": "networking.ReadVpnCustomerGateways"
+ },
+ "put": {
+ "description": "
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax VPN Customer Gateway to update.",
+ "in": "path",
+ "name": "vpn_customer_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpnCustomerGateway"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.UpdateVpnCustomerGatewayEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax VPN Customer Gateway to update cannot be found."
+ }
+ },
+ "summary": "Updates a Stax VPN Customer Gateway",
+ "x-stax-sdk-operation-id": "networking.UpdateVpnCustomerGateway"
+ }
+ },
+ "/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnection": {
+ "post": {
+ "description": "
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.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax VPN Connection to association with a Stax Networking Hub.",
+ "in": "path",
+ "name": "vpn_customer_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpnConnection"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.CreateVpnConnectionEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Resources to create the VPN Connection for cannot be found."
+ }
+ },
+ "summary": "Create VPN Connection",
+ "x-stax-sdk-operation-id": "networking.CreateVpnConnection"
+ }
+ },
+ "/20190206/networking/vpncustomergateways/{vpn_customer_gateway_id}/vpnconnections": {
+ "get": {
+ "description": "
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": [
+ {
+ "description": "The UUID of the Stax VPN Customer Gateways to fetch.",
+ "in": "path",
+ "name": "vpn_customer_gateway_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Stax VPN Connections statuses to return, comma delimited.\n\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadVpnConnections"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Gateway VPN Connections",
+ "x-stax-sdk-operation-id": "networking.ReadVpnConnections"
+ }
+ },
+ "/20190206/networking/{account_id}/dxconnections": {
+ "get": {
+ "description": "
Returns all DX Connections for the specified Stax Account Id.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Stax Account that contains a Direct Connect connection.",
+ "in": "path",
+ "name": "account_id",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/uuidv4"
+ }
+ },
+ {
+ "description": "The Direct Connect Connection states to return, comma delimited.\n\nFilter options available: ordering,requested,pending,available,down,deleting,deleted,rejected,unknown\n",
+ "in": "query",
+ "name": "state",
+ "required": false,
+ "schema": {
+ "default": "pending,available",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/networking.ReadDxConnections"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Account cannot be found."
+ }
+ },
+ "summary": "Fetch DX Connections",
+ "x-stax-sdk-operation-id": "networking.ReadDxConnections"
+ }
+ },
+ "/20190206/organisations": {
+ "get": {
+ "description": "Return a list of your Stax Organisations.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganisations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful. The response body contains an Organisation array."
+ }
+ },
+ "summary": "Fetch Stax Organisations",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisations"
+ }
+ },
+ "/20190206/organisations/current": {
+ "get": {
+ "description": "Return the current users Organisation.
A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and IDAM Users.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganisations"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful. The response body contains an Organisation array."
+ }
+ },
+ "summary": "Fetch Stax Organisation",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisation"
+ }
+ },
+ "/20190206/organisations/current/features": {
+ "get": {
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganizationFeatures"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful. The response body contains an Organisation array."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the organization configuration could not be found."
+ }
+ },
+ "summary": "Fetch Stax Organisation Features",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganizationFeatures"
+ }
+ },
+ "/20190206/organisations/organisational-units": {
+ "get": {
+ "description": "Return all Organisation Units in your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The Stax Organisational Unit statuses to return, comma delimited.\nFilter options available: ACTIVE, CREATE_IN_PROGRESS, CREATE_FAILED, UPDATE_IN_PROGRESS, DELETE_IN_PROGRESS, DELETE_FAILED, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,CREATE_IN_PROGRESS,CREATE_FAILED,UPDATE_IN_PROGRESS,DELETE_IN_PROGRESS,DELETE_FAILED,DELETED",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganisationalUnits"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Organisational Unit cannot be found."
+ }
+ },
+ "summary": "Fetch Organisational Units",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisationalUnits"
+ },
+ "post": {
+ "description": "Create an Organisational Unit in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.CreateOrganisationalUnit"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.CreateOrganisationalUnitEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Create Organisational Unit",
+ "x-stax-sdk-operation-id": "organisations.CreateOrganisationalUnit"
+ }
+ },
+ "/20190206/organisations/organisational-units/{organisational_unit_id}": {
+ "delete": {
+ "description": "Delete an Organisational Unit from your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Organisational Unit to delete.",
+ "in": "path",
+ "name": "organisational_unit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.DeleteOrganisationalUnitEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Organisational Unit to delete cannot be found."
+ }
+ },
+ "summary": "Delete Organisational Unit",
+ "x-stax-sdk-operation-id": "organisations.DeleteOrganisationalUnit"
+ },
+ "get": {
+ "description": "Return the requested Organisational Unit.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Organisational Unit to return.",
+ "in": "path",
+ "name": "organisational_unit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganisationalUnits"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Organisational Unit",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisationalUnit"
+ },
+ "put": {
+ "description": "Update an existing Organisational Unit within your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Organisational Unit to update.",
+ "in": "path",
+ "name": "organisational_unit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.UpdateOrganisationalUnit"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.UpdateOrganisationalUnitEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Organisational Unit to update cannot be found."
+ }
+ },
+ "summary": "Update Organisational Unit",
+ "x-stax-sdk-operation-id": "organisations.UpdateOrganisationalUnit"
+ }
+ },
+ "/20190206/organisations/organisational-units/{organisational_unit_id}/accounts": {
+ "get": {
+ "description": "Return the requested Organisational Units Accounts
",
+ "parameters": [
+ {
+ "description": "The UUID of the Organisational Unit Accounts to return.",
+ "in": "path",
+ "name": "organisational_unit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.ReadOrganisationalUnitAccounts"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Organisational Unit Accounts",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisationalUnitAccounts"
+ }
+ },
+ "/20190206/organisations/organisational-units/{organisational_unit_id}/policies": {
+ "get": {
+ "description": "Return the policies that are attached to the Organisational Unit.
",
+ "parameters": [
+ {
+ "description": "The Stax UUID of the Organisational Unit.",
+ "in": "path",
+ "name": "organisational_unit_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.ReadPolicyAttachments"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Organisational Unit could not be found."
+ }
+ },
+ "summary": "Fetch Organisational Unit Policy Attachments",
+ "x-stax-sdk-operation-id": "organisations.ReadOrganisationalUnitPolicyAttachments"
+ }
+ },
+ "/20190206/policies": {
+ "get": {
+ "description": "Return all Policies in your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The Stax Policy statuses to return, comma delimited.\n\nFilter options available: ACTIVE, DELETED\n",
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "default": "ACTIVE,DELETED",
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.ReadPolicies"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Policies",
+ "x-stax-sdk-operation-id": "organisations.ReadPolicies"
+ },
+ "post": {
+ "description": "Create a Policy in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.CreatePolicy"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.CreatePolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Create Policy",
+ "x-stax-sdk-operation-id": "organisations.CreatePolicy"
+ }
+ },
+ "/20190206/policies/attachments/{policy_attachment_id}": {
+ "delete": {
+ "description": "Detach a Policy from an Organisational Unit or Account.
",
+ "parameters": [
+ {
+ "description": "The UUID of the PolicyAttachment to detach.",
+ "in": "path",
+ "name": "policy_attachment_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.DetachPolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Policy Attachment to detach cannot be found."
+ }
+ },
+ "summary": "Detach Policy",
+ "x-stax-sdk-operation-id": "policies.DetachPolicy"
+ }
+ },
+ "/20190206/policies/organisation/{policy_id}": {
+ "delete": {
+ "description": "Detach a Policy from your Stax Organisation.
The policy will no longer apply to all Account Types within the Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to detach.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.DetachPolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Policy to detach cannot be found."
+ }
+ },
+ "summary": "Detach Policy from Organisation",
+ "x-stax-sdk-operation-id": "organisations.DetachPolicy"
+ },
+ "put": {
+ "description": "Attach a Policy to your Stax Organisation.
The policy will apply to all Account Types within the Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to attach.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.AttachPolicy"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/organisations.AttachPolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Policy to attach cannot be found."
+ }
+ },
+ "summary": "Attach Policy to Organisation",
+ "x-stax-sdk-operation-id": "organisations.AttachPolicy"
+ }
+ },
+ "/20190206/policies/{policy_id}": {
+ "delete": {
+ "description": "Delete a Policy from your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to delete.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.DeletePolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Policy to delete cannot be found."
+ }
+ },
+ "summary": "Delete Policy",
+ "x-stax-sdk-operation-id": "organisations.DeletePolicy"
+ },
+ "get": {
+ "description": "Return all Policies in your Stax Organisation.
Optionally, return the requested Policy.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to return.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.ReadPolicies"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Policy",
+ "x-stax-sdk-operation-id": "organisations.ReadPolicies"
+ },
+ "put": {
+ "description": "Update an existing Policy within your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to update.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.UpdatePolicy"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.UpdatePolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Policy to update cannot be found."
+ }
+ },
+ "summary": "Update Policy",
+ "x-stax-sdk-operation-id": "organisations.UpdatePolicy"
+ }
+ },
+ "/20190206/policies/{policy_id}/attachments": {
+ "get": {
+ "description": "Return all attachments for the Policy in your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to return attachments for.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.ReadPolicyAttachments"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Fetch Policy Attachments",
+ "x-stax-sdk-operation-id": "policies.ReadPolicyAttachments"
+ },
+ "post": {
+ "description": "Attach a Policy to an Organisational Unit or Account.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Policy to attach.",
+ "in": "path",
+ "name": "policy_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.AttachPolicy"
+ }
+ }
+ },
+ "required": false
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/policies.AttachPolicyEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Policy to attach cannot be found."
+ }
+ },
+ "summary": "Attach Policy",
+ "x-stax-sdk-operation-id": "policies.AttachPolicy"
+ }
+ },
+ "/20190206/public/check-alias/{alias}": {
+ "get": {
+ "description": "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": [
+ {
+ "description": "A unique string containing characters a-z, 0-9.\nHyphens can also be used, but not at the start or end of the alias.\n",
+ "in": "path",
+ "name": "alias",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/public.CheckAlias"
+ }
+ }
+ },
+ "description": "The response returned if the Alias is available and not in use by another Customer."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/public.CheckAlias"
+ }
+ }
+ },
+ "description": "The Alias is already in use by another Customer."
+ }
+ },
+ "summary": "Check Alias availability",
+ "x-stax-sdk-operation-id": "public.CheckAlias"
+ }
+ },
+ "/20190206/public/config": {
+ "get": {
+ "description": "This is an unauthenticated endpoint returning your configuration variables which are required to authenticate API requests.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/public.ReadConfig"
+ }
+ }
+ },
+ "description": "Configuration values required to authenicate API requests."
+ }
+ },
+ "summary": "Fetch public config",
+ "x-stax-sdk-operation-id": "public.ReadConfig"
+ }
+ },
+ "/20190206/services/account/configuration": {
+ "get": {
+ "description": "
Returns the Stax-managed Account configuration for your Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadAccountConfiguration"
+ }
+ }
+ },
+ "description": "Service configuration returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Account service configuration cannot be found."
+ }
+ },
+ "summary": "Fetch Account Configuration",
+ "x-stax-sdk-operation-id": "services.ReadAccountConfiguration"
+ },
+ "put": {
+ "description": "
Updates the configuration of a Stax-managed Account in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureAccount"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureAccountEvent"
+ }
+ }
+ },
+ "description": "Account configuration has started."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Account configuration is invalid."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Account configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update Account Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureAccount"
+ }
+ },
+ "/20190206/services/configuration": {
+ "get": {
+ "description": "
Returns a list of Foundation Services configured in your Stax Organisation.
Specify service name (e.g., SECURITYHUB, GUARDDUTY) to get service-specific configuration.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadConfigurations"
+ }
+ }
+ },
+ "description": "Service configuration(s) returned if the request is successful."
+ }
+ },
+ "summary": "Fetch Service Configuration",
+ "x-stax-sdk-operation-id": "services.ReadConfigurations"
+ }
+ },
+ "/20190206/services/guardduty/configuration": {
+ "get": {
+ "description": "
Returns the Stax-managed GuardDuty configuration for your Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadGuardDutyConfiguration"
+ }
+ }
+ },
+ "description": "Service configuration returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "GuardDuty service configuration cannot be found."
+ }
+ },
+ "summary": "Fetch GuardDuty Configuration",
+ "x-stax-sdk-operation-id": "services.ReadGuardDutyConfiguration"
+ },
+ "put": {
+ "description": "
Updates the configuration of Stax-managed GuardDuty in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureGuardDuty"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureGuardDutyEvent"
+ }
+ }
+ },
+ "description": "GuardDuty configuration has started."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Once enabled, GuardDuty configuration cannot be disabled."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "GuardDuty configuration not found for the organisation."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "GuardDuty configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update GuardDuty Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureGuardDuty"
+ }
+ },
+ "/20190206/services/guardrails/configuration": {
+ "get": {
+ "description": "
Returns the guardrails configuration for the Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadGuardrailsConfiguration"
+ }
+ }
+ },
+ "description": "The organisation's guardrails configuration."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The organisation's guardrails configuration cannot be found."
+ }
+ },
+ "summary": "Read Guardrails Configuration",
+ "x-stax-sdk-operation-id": "services.ReadGuardrailsConfiguration"
+ },
+ "put": {
+ "description": "
Updates guardrails configurations for the Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureGuardrails"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureGuardrailsEvent"
+ }
+ }
+ },
+ "description": "Guardrails configuration operation has started."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The organisation's guardrails configuration cannot be found."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Guardrails configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update Guardrails Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureGuardrails"
+ }
+ },
+ "/20190206/services/organization/configuration": {
+ "get": {
+ "description": "
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadOrganizationConfiguration"
+ }
+ }
+ },
+ "description": "The organisation service configuration."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The organisation configuration cannot be found."
+ }
+ },
+ "summary": "Read Organisation Service Configuration",
+ "x-stax-sdk-operation-id": "services.ReadOrganizationConfiguration"
+ },
+ "put": {
+ "description": "
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureOrganization"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureOrganizationEvent"
+ }
+ }
+ },
+ "description": "Organisation configuration operation has started."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The organisation configuration cannot be found."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Organisation configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update Organisation Service Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureOrganization"
+ }
+ },
+ "/20190206/services/regions/configuration": {
+ "get": {
+ "description": "
Returns the Stax-managed Regions configuration for your Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadRegionsConfiguration"
+ }
+ }
+ },
+ "description": "Service configuration returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Regions service configuration cannot be found."
+ }
+ },
+ "summary": "Fetch Regions Configuration",
+ "x-stax-sdk-operation-id": "services.ReadRegionsConfiguration"
+ },
+ "put": {
+ "description": "
Updates the configuration of Stax-managed Regions in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureRegions"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureRegionsEvent"
+ }
+ }
+ },
+ "description": "Regions configuration has started."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Regions configuration is invalid."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Regions configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update Regions Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureRegions"
+ }
+ },
+ "/20190206/services/securityhub/configuration": {
+ "get": {
+ "description": "
Returns the Stax-managed Security Hub configuration for your Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadSecurityHubConfiguration"
+ }
+ }
+ },
+ "description": "Service configuration returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Stax Networking resource cannot be found."
+ }
+ },
+ "summary": "Fetch Security Hub Configuration",
+ "x-stax-sdk-operation-id": "services.ReadSecurityHubConfiguration"
+ },
+ "put": {
+ "description": "
Updates the configuration of Stax-managed Security Hub in your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureSecurityHub"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ConfigureSecurityHubEvent"
+ }
+ }
+ },
+ "description": "Security Hub configuration has started."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Once enabled, security hub configuration cannot be disabled."
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "Security hub configuration cannot be updated because of a conflicting operation in progress."
+ }
+ },
+ "summary": "Update Security Hub Configuration",
+ "x-stax-sdk-operation-id": "services.ConfigureSecurityHub"
+ }
+ },
+ "/20190206/services/sso/configuration": {
+ "get": {
+ "description": "
Returns the SSO configuration for the Stax Organisation.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/services.ReadSsoConfiguration"
+ }
+ }
+ },
+ "description": "The organisation's SSO configuration."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The organisation's SSO configuration cannot be found."
+ }
+ },
+ "summary": "Read SSO Configuration",
+ "x-stax-sdk-operation-id": "services.ReadSsoConfiguration"
+ }
+ },
+ "/20190206/task/{task_id}": {
+ "get": {
+ "description": "Return the status of the requested Task.
A Task may relate to an Account, User, Workload, Organisation or Log Event.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Task to return.",
+ "in": "path",
+ "name": "task_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/tasks.ReadTask"
+ }
+ }
+ },
+ "description": "The response returned for a valid Task."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the requested Task could not be found."
+ }
+ },
+ "summary": "Fetch status of Task",
+ "x-stax-sdk-operation-id": "tasks.ReadTask"
+ }
+ },
+ "/20190206/users": {
+ "get": {
+ "description": "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": [
+ {
+ "description": "List of Users filtered by auth origin, comma delimited.\n\nFilter Options available: Team, Federated\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "default": "Team",
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of User IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Users filtered by Status, comma delimited.\n\nFilter Options available: ACTIVE, NEW, INVITED, DISABLED, DELETED\n\nDefaults to: ACTIVE,NEW,INVITED,DISABLED\n",
+ "in": "query",
+ "name": "status_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadUsers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful due to user input."
+ }
+ },
+ "summary": "Fetch Stax Users and Federated Users",
+ "x-stax-sdk-operation-id": "teams.ReadUsers"
+ }
+ },
+ "/20190206/users/me": {
+ "get": {
+ "description": "Returns the current logged in User.
",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadUsers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "User not found."
+ }
+ },
+ "summary": "Fetch Current User",
+ "x-stax-sdk-operation-id": "teams.FetchCurrentUser"
+ }
+ },
+ "/20190206/users/{user_id}": {
+ "delete": {
+ "description": "Delete a Stax User from your Stax Organisation.
",
+ "parameters": [
+ {
+ "description": "The UUID of the User to delete.",
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.DeleteUserResponse"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "User not found."
+ }
+ },
+ "summary": "Delete Stax User",
+ "x-stax-sdk-operation-id": "teams.DeleteUser"
+ },
+ "get": {
+ "description": "Return the requested User.
Attempting to fetch a DELETED user will always return User not found.
",
+ "parameters": [
+ {
+ "description": "The UUID of the User to return.",
+ "in": "path",
+ "name": "user_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/teams.ReadUsers"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "User not found."
+ }
+ },
+ "summary": "Fetch Stax User or Federated User",
+ "x-stax-sdk-operation-id": "teams.ReadUsers"
+ }
+ },
+ "/20190206/workload-catalogue": {
+ "get": {
+ "description": "Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.
",
+ "parameters": [
+ {
+ "description": "The Name of the Workload Catalogue Items to return.",
+ "in": "query",
+ "name": "name",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Workload Catalogue Item statuses you want returned, comma delimited.\n\nFilter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Workload Catalogue Item IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return.",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "enum": [
+ "Id",
+ "Name",
+ "Description",
+ "Status",
+ "OrganisationId",
+ "Public",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS",
+ "UserTaskId",
+ "CatalogueVersionId",
+ "Protection"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down.",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want all Versions?",
+ "in": "query",
+ "name": "include_versions",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ {
+ "description": "Do you want the Parameter dictionary?",
+ "in": "query",
+ "name": "include_parameters",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ {
+ "description": "Do you want all the Tags?",
+ "in": "query",
+ "name": "include_tags",
+ "required": false,
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadCatalogueItems"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if an invalid ID is entered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if no catalogue is found."
+ }
+ },
+ "summary": "Fetch Workload Catalogue Items",
+ "x-stax-sdk-operation-id": "workloads.ReadCatalogueItems"
+ },
+ "post": {
+ "description": "Create a new Workload Catalogue Item within your Stax Organisation.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.CreateCatalogueItem"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateCatalogueEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the catalogue manifest is invalid."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Create Workload Catalogue Item",
+ "x-stax-sdk-operation-id": "workloads.CreateCatalogueItem"
+ }
+ },
+ "/20190206/workload-catalogue/manifest/{version_id}": {
+ "get": {
+ "description": "Return a Workload Catalogue Manifest
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Version",
+ "in": "path",
+ "name": "version_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadCatalogueManifest"
+ }
+ }
+ },
+ "description": "Returns the presigned url for the manifest file"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if an invalid ID is entered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalogue Version ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Fetch Workload Catalogue Manifest",
+ "x-stax-sdk-operation-id": "workloads.ReadCatalogueManifest"
+ }
+ },
+ "/20190206/workload-catalogue/template/{version_id}/{name}": {
+ "get": {
+ "description": "Return a specific Workload Catalogue Cloudformation Template
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Version",
+ "in": "path",
+ "name": "version_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Retrieve the Cloudformation with this Resource Name.",
+ "in": "path",
+ "name": "name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadCatalogueTemplate"
+ }
+ }
+ },
+ "description": "Returns the presigned url to retrieve the template"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if an invalid ID is entered."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is not successful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the request is not successful."
+ }
+ },
+ "summary": "Fetch Workload Catalogue Cloudformation Template",
+ "x-stax-sdk-operation-id": "workloads.ReadCatalogueTemplate"
+ }
+ },
+ "/20190206/workload-catalogue/{catalogue_id}": {
+ "delete": {
+ "description": "Delete a Workload Catalogue Item from your Stax Organisation.
Existing Workloads launched from this Catalogue will not be deleted.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Item to delete.",
+ "in": "path",
+ "name": "catalogue_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteCatalogueEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalogue can not be deleted due to running workloads."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalogue is Protected. Protection must be disabled before you can delete it."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalog ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Delete Workload Catalogue Item",
+ "x-stax-sdk-operation-id": "workloads.DeleteCatalogueItem"
+ },
+ "get": {
+ "description": "Return all Workload Catalogue Items within your Stax Organisation.
Optionally, return the requested Workload Catalogue Item.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Item to return.",
+ "in": "path",
+ "name": "catalogue_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Name of the Workload Catalogue Items to return.",
+ "in": "query",
+ "name": "name",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Workload Catalogue Item statuses you want returned, comma delimited.\n\nFilter options available: STARTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "List of Workload Catalogue Item IDs you want returned, comma delimited.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return.",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return.",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "enum": [
+ "Id",
+ "Name",
+ "Description",
+ "Status",
+ "OrganisationId",
+ "Public",
+ "CreatedTS",
+ "CreatedBy",
+ "ModifiedTS",
+ "UserTaskId",
+ "CatalogueVersionId",
+ "Protection"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down.",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want all Versions?",
+ "in": "query",
+ "name": "include_versions",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ {
+ "description": "Do you want the Parameter dictionary?",
+ "in": "query",
+ "name": "include_parameters",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ {
+ "description": "Do you want all the Tags?",
+ "in": "query",
+ "name": "include_tags",
+ "required": false,
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadCatalogueItems"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if an invalid ID is entered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if no catalogue is found."
+ }
+ },
+ "summary": "Fetch Workload Catalogue Item",
+ "x-stax-sdk-operation-id": "workloads.ReadCatalogueItems"
+ },
+ "put": {
+ "description": "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.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Item to update.",
+ "in": "path",
+ "name": "catalogue_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.CreateCatalogueVersion"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateVersionEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the catalogue manifest is invalid."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the catalogue has already been deleted."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalog ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Update Workload Catalogue Item",
+ "x-stax-sdk-operation-id": "workloads.CreateCatalogueVersion"
+ }
+ },
+ "/20190206/workload-catalogue/{catalogue_id}/{version_id}": {
+ "delete": {
+ "description": "Delete a Workload Catalogue Version from your Stax Organisation.
Existing Workloads launched from this Workload Catalogue Version will not be deleted.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Item.",
+ "in": "path",
+ "name": "catalogue_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The UUID of the Catalogue Version to delete.",
+ "in": "path",
+ "name": "version_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteVersionEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalogue Version can not be deleted due to running workloads."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalogue Version can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Delete Workload Catalogue Version",
+ "x-stax-sdk-operation-id": "workloads.DeleteCatalogueVersion"
+ },
+ "get": {
+ "description": "Return a specific Workload Catalogue Version.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Catalogue Item to return.",
+ "in": "path",
+ "name": "catalogue_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The UUID of the Catalogue Version to return.",
+ "in": "path",
+ "name": "version_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want the Parameter dictionary?",
+ "in": "query",
+ "name": "include_parameters",
+ "required": false,
+ "schema": {
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadCatalogueVersion"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if an invalid ID is entered."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload Catalog ID or Catalogue Version ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Fetch Workload Catalogue Version",
+ "x-stax-sdk-operation-id": "workloads.ReadCatalogueVersion"
+ }
+ },
+ "/20190206/workloads": {
+ "get": {
+ "description": "Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.
",
+ "parameters": [
+ {
+ "description": "The Name of the Workloads to return.",
+ "in": "query",
+ "name": "name",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Fuzzy search by workload name.",
+ "in": "query",
+ "name": "name_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.\nFilter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names.",
+ "in": "query",
+ "name": "account_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types.",
+ "in": "query",
+ "name": "account_types",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs.",
+ "in": "query",
+ "name": "account_ids",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names.",
+ "in": "query",
+ "name": "catalogue_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs.",
+ "in": "query",
+ "name": "catalogue_ids",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids",
+ "in": "query",
+ "name": "catalogue_version",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version ID.",
+ "in": "query",
+ "name": "catalogue_version_id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return. Must be used with limit",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return. Must be used with offset",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "enum": [
+ "Id",
+ "Name",
+ "AccountId",
+ "CatalogueId",
+ "CatalogueVersionId",
+ "Region",
+ "Status",
+ "UserTaskId",
+ "CreatedBy",
+ "CreatedTS",
+ "ModifiedTS",
+ "FactoryVersion"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down.",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadWorkloadsResponse"
+ }
+ }
+ },
+ "description": "A list of all Workloads for the logged in Customer."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Workload ID is not a valid UUID."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Fetch Workloads",
+ "x-stax-sdk-operation-id": "workloads.ReadWorkloads"
+ },
+ "post": {
+ "description": "Deploy a Workload within an AWS Account.
",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.CreateWorkload"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateWorkloadEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ }
+ },
+ "summary": "Deploy Workload",
+ "x-stax-sdk-operation-id": "workloads.CreateWorkload"
+ }
+ },
+ "/20190206/workloads/{workload_id}": {
+ "delete": {
+ "description": "Terminate an active Workload within an AWS Account.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Workload to delete.",
+ "in": "path",
+ "name": "workload_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DeleteWorkloadEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The Workload is Protected. Protection must be disabled before you can delete it."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Terminate Workload",
+ "x-stax-sdk-operation-id": "workloads.DeleteWorkload"
+ },
+ "get": {
+ "description": "Return a list of all Workloads available within your Stax Organisation.
Optionally, return the requested Workload.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Workload Item to return.",
+ "in": "path",
+ "name": "workload_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The Name of the Workloads to return.",
+ "in": "query",
+ "name": "name",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload statuses. Returns all Workloads with this status.\n\nFilter Options available: NEW, INITIALIZING, ACTIVE, CREATE_FAILED, DELETE_IN_PROGRESS, DELETED, DELETE_FAILED, UPDATE_IN_PROGRESS, UPDATE_FAILED, UPDATE_COMPLETE.\n",
+ "in": "query",
+ "name": "filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account Names. Returns all Workloads deployed to these Accounts Names.",
+ "in": "query",
+ "name": "account_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account Types. Returns all Workloads deployed to these Account Types.",
+ "in": "query",
+ "name": "account_types",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Account IDs. Returns all Workloads deployed to these Account IDs.",
+ "in": "query",
+ "name": "account_ids",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload IDs. Returns all Workloads with these Workload IDs.",
+ "in": "query",
+ "name": "id_filter",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload Catalogue Names. Returns all Workloads deployed with these Workload Catalogue Names.",
+ "in": "query",
+ "name": "catalogue_names",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Comma delimited list of Stax Workload Catalogue IDs. Returns all Workloads deployed with these Catalogue IDs.",
+ "in": "query",
+ "name": "catalogue_ids",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version (eg. 1.0.0). Requires catalogue_ids",
+ "in": "query",
+ "name": "catalogue_version",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Only return Workloads launched from this Stax Workload Catalogue Version ID.",
+ "in": "query",
+ "name": "catalogue_version_id",
+ "required": false,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "Pagination - The page number to return. Must be used with limit",
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "Pagination - The number of items per page to return. Must be used with offset",
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The field to sort on.",
+ "in": "query",
+ "name": "sort",
+ "required": false,
+ "schema": {
+ "enum": [
+ "Id",
+ "Name",
+ "AccountId",
+ "CatalogueId",
+ "CatalogueVersionId",
+ "Region",
+ "Status",
+ "UserTaskId",
+ "CreatedBy",
+ "CreatedTS",
+ "ModifiedTS",
+ "FactoryVersion"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "The sort order - up or down.",
+ "in": "query",
+ "name": "sort_order",
+ "required": false,
+ "schema": {
+ "default": "DESC",
+ "enum": [
+ "ASC",
+ "DESC"
+ ],
+ "type": "string"
+ }
+ },
+ {
+ "description": "Do you want all the Tags?",
+ "in": "query",
+ "name": "include_tags",
+ "required": false,
+ "schema": {
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.ReadWorkloadsResponse"
+ }
+ }
+ },
+ "description": "A list of all Workloads for the logged in Customer."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The response returned if the Workload ID is not a valid UUID."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Fetch Workload",
+ "x-stax-sdk-operation-id": "workloads.ReadWorkloads"
+ },
+ "put": {
+ "description": "Update a Workload running within an AWS Account.
",
+ "parameters": [
+ {
+ "description": "The UUID of the Workload to update.",
+ "in": "path",
+ "name": "workload_id",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/workloads.UpdateWorkload"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/UpdateWorkloadEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is successful."
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/StaxEvent"
+ }
+ }
+ },
+ "description": "The response returned if the request is unsuccessful."
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ }
+ }
+ },
+ "description": "The Workload ID can not be found or does not belong to the user."
+ }
+ },
+ "summary": "Update Workload",
+ "x-stax-sdk-operation-id": "workloads.UpdateWorkload"
+ }
+ }
+ },
+ "servers": [
+ {
+ "url": "https://api.core.dev.juma.cloud"
+ }
+ ],
+ "tags": [
+ {
+ "description": "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.",
+ "name": "Accounts"
+ },
+ {
+ "description": "Deprecated API operations which are marked for retirement.",
+ "name": "Deprecated"
+ },
+ {
+ "description": "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.",
+ "name": "Groups"
+ },
+ {
+ "description": "The Stax Identity Service governs access to Stax and to Stax-managed AWS accounts.",
+ "name": "IDAM"
+ },
+ {
+ "description": "Stax Networks provides a simple and flexible way of deploying AWS network topologies.",
+ "name": "Networking"
+ },
+ {
+ "description": "A Stax Organisation is an instance of Stax which houses your AWS Accounts, Workloads and Users.",
+ "name": "Organisations"
+ },
+ {
+ "description": "Stax Policies are AWS Service Control Policies that can be attached to a Stax Organization or an Account Type.",
+ "name": "Policies"
+ },
+ {
+ "description": "Preview operations which could change in the future.",
+ "name": "Preview"
+ },
+ {
+ "description": "Stax public discovery.",
+ "name": "Public"
+ },
+ {
+ "description": "Stax Tasks enables you to monitor async operations.",
+ "name": "Tasks"
+ },
+ {
+ "description": "Stax Users can be granted different levels of access to both Stax itself, and to the AWS accounts managed by Stax.",
+ "name": "Team"
+ },
+ {
+ "description": "Stax Workloads are packages of infrastructure-as-code that can be deployed to one or more AWS accounts from a single location.",
+ "name": "Workloads"
+ }
+ ]
+}
diff --git a/staxapp/openapi.py b/staxapp/openapi.py
index 9f3f13b..78714ef 100644
--- a/staxapp/openapi.py
+++ b/staxapp/openapi.py
@@ -69,7 +69,7 @@ def _map_paths_to_operations(cls):
for method_type, method in path.items():
method = path[method_type]
- operation = method.get("operationId", "").split(".")
+ operation = method.get("x-stax-sdk-operation-id", "").split(".")
if len(operation) != 2:
continue
diff --git a/tests/test_client.py b/tests/test_client.py
index 536af04..b6b45a6 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -5,7 +5,6 @@
nose2 -v basics
"""
-from distutils.command.config import config
import responses
import unittest
from unittest.mock import patch
@@ -81,14 +80,15 @@ def testMapOperations(self, mock_load_schema):
"get": {
"description": "This is a test route",
"operationId": "Test.Route",
+ "x-stax-sdk-operation-id": "Test.Route",
"parameters": [],
-
}
},
"Test/Bad/Route": {
"get": {
"description": "This is a bad test route",
"operationId": "Test.Bad.Route",
+ "x-stax-sdk-operation-id": "Test.Bad.Route",
"parameters": [],
}
}
diff --git a/tests/test_config.py b/tests/test_config.py
index f5dbcb3..8b4cad2 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -95,7 +95,7 @@ def testSchemaUrl(self):
Test schema url is returned
"""
self.assertEqual(
- self.Config.schema_url(), f"https://api.au1.staxapp.cloud/20190206/public/api-document",
+ self.Config.schema_url(), f"https://api.au1.staxapp.cloud/20190206/public/oas3-document",
)
def testAuthClass(self):