From 55f270654825e76d11e75b5ba370fc3fdb9861b5 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Date: Mon, 30 Mar 2026 15:15:13 +1100 Subject: [PATCH 1/4] chore(deps): unpin openapi-spec-validator dependency --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index aca013e..01001d7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,4 +12,4 @@ requests 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 From 5b1562dd2b075733ed8cebc26aaa4373777beb99 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Date: Mon, 30 Mar 2026 15:15:37 +1100 Subject: [PATCH 2/4] chore(platform): update target python versions to 3.9 minimum up to 3.13 --- .github/workflows/build.yml | 7 +++++-- .pre-commit-config.yaml | 2 +- Makefile | 6 +++--- pyproject.toml | 2 +- setup.py | 9 +++++---- staxapp/__init__.py | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) 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..f7f6312 100644 --- a/Makefile +++ b/Makefile @@ -26,12 +26,12 @@ 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 + ${BLACK} -t py39 staxapp/data/*.json download-schema: curl --fail --compressed -s -o staxapp/data/schema.json https://api.au1.staxapp.cloud/20190206/public/api-document 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/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" From 24704786304ab536c68bf4f7c6389a91d67ab5b0 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Date: Mon, 30 Mar 2026 15:56:01 +1100 Subject: [PATCH 3/4] chore(deps): add setuptools as an explicit dependency --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 01001d7..4de3632 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ pytest pytest-cov responses requests +setuptools pyjwt boto3 aws_requests_auth From 507484348087896bea94d26b071a35e4c1793eb3 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Date: Thu, 30 Apr 2026 14:14:45 +1000 Subject: [PATCH 4/4] chore(platform): derive schema and operations from oas3 spec --- staxapp/config.py | 2 +- staxapp/contract.py | 3 +- staxapp/data/schema.json | 27754 ++++++++++++++++++++++--------------- staxapp/openapi.py | 2 +- tests/test_client.py | 4 +- tests/test_config.py | 2 +- 6 files changed, 16587 insertions(+), 11180 deletions(-) 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..6012d86 100644 --- a/staxapp/data/schema.json +++ b/staxapp/data/schema.json @@ -1,11174 +1,16582 @@ { - "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 staxOptionally 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 staxOptionally 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.au1.staxapp.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):