apigateway

Application level API proxy

There are multiple modes of deployment offered for the API Gateway, mainly to support use of product domains for endpoints. The key consideration is the handling of the host header. The modes reflect the changes and improvements AWS have made to the API Gateway over time. For whitelisted APIs, mode 4 is the recommended one now.

  1. Multi-domain cloudfront + EDGE endpoint
    • waf based IP whitelisting
    • multiple cloudfront aliases
    • host header blocked
    • EDGE based API Gateway
    • signing based on AWS assigned API domain name
    • API-KEY used as shared secret between cloudfront and the API
  2. Single domain cloudfront + EDGE endpoint
    • waf based IP whitelisting
    • single cloudfront alias
    • host header blocked
    • EDGE based API Gateway
    • signing based on "sig4-" + alias
    • API-KEY used as shared secret between cloudfront and the API
  3. Multi-domain cloudfront + REGIONAL endpoint
    • waf based IP whitelisting
    • multiple cloudfront aliases
    • host header passed through to endpoint
    • REGIONAL based API Gateway
    • signing based on any of the aliases
    • API-KEY used as shared secret between cloudfront and the API
  4. API endpoint
    • waf or policy based IP whitelisting
    • multiple aliases or AWS assigned domain
    • EDGE or REGIONAL
    • signing based on any of the aliases
    • API-KEY can be used for client metering

If multiple domains are provided, the primary domain is used to provide the endpoint for the the API documentation and for the gateway attributes. For documentation, the others redirect to the primary.

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "apigateway" : {
        "Fragment" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "WAF" : {
            "IPAddressGroups" : "<array of string>",
            "OWASP" : false
        },
        "EndpointType" : "EDGE",
        "IPAddressGroups" : "<array of string>",
        "Authentication" : "IP",
        "CloudFront" : {
            "AssumeSNI" : true,
            "EnableLogging" : true,
            "CountryGroups" : "<array of string>",
            "CustomHeaders" : "<array of any>",
            "Mapping" : false,
            "Compress" : true
        },
        "Certificate" : {
            "Qualifiers" : "<object>",
            "Domain" : "<string>",
            "IncludeInDomain" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>"
            },
            "Host" : "<string>",
            "HostParts" : "<array of string>",
            "IncludeInHost" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>",
                "Tier" : "<boolean>",
                "Component" : "<boolean>",
                "Instance" : "<boolean>",
                "Version" : "<boolean>",
                "Host" : "<boolean>"
            },
            "External" : "<boolean>",
            "Wildcard" : "<boolean>"
        },
        "Publish" : {
            "DnsNamePrefix" : "docs",
            "IPAddressGroups" : "<array of string>"
        },
        "Publishers" : {
            "example" : {
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                },
                "Path" : {
                    "Host" : "<string>",
                    "Style" : "single",
                    "IncludeInPath" : {
                        "Product" : true,
                        "Environment" : false,
                        "Solution" : false,
                        "Segment" : true,
                        "Tier" : false,
                        "Component" : false,
                        "Instance" : false,
                        "Version" : false,
                        "Host" : false
                    }
                }
            }
        },
        "Mapping" : {
            "IncludeStage" : true
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Security" : "default"
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "BasePathBehaviour" : "ignore"
    }
}

Attribute Reference


apiusageplan

provides a metered link between an API gateway and an invoking client

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "apiusageplan" : {
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference


baseline

A set of resources required for every segment deployment

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Sub Components

  • baselinedata
    • Component Attribute - DataBuckets
    • Link Attribute - DataBucket
  • baselinekey
    • Component Attribute - Keys
    • Link Attribute - Key

Component Format

{
    "baseline" : {
        "Active" : false,
        "Seed" : {
            "Length" : 10
        },
        "DataBuckets" : {
            "example" : "< instance of baselinedata>"
        },
        "Keys" : {
            "example" : "< instance of baselinekey>"
        }
    }
}

Attribute Reference

  • Active - Optional - Type: boolean - Default: false
  • Seed
    • Length - Optional - Type: number - Default: 10

baselinedata

A segment shared data store

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "baselinedata" : {
        "Role" : "<string>",
        "Lifecycles" : {
            "example" : {
                "Prefix" : "<unknown>",
                "Expiration" : "_operations",
                "Offline" : "_operations"
            }
        },
        "Versioning" : false,
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Notifications" : {
            "example" : {
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                },
                "Prefix" : "<string>",
                "Suffix" : "<string>",
                "Events" : [
                    "create"
                ]
            }
        }
    }
}

Attribute Reference

  • Role - Required - Type: string
    Possible Values: [appdata, operations]
  • Lifecycles
    • Prefix - Optional
      Types: string Description: The prefix to apply the lifecycle to
    • Expiration - Optional - Default: _operations
      Types: string, number Description: Provide either a date or a number of days
    • Offline - Optional - Default: _operations
      Types: string, number Description: Provide either a date or a number of days
  • Versioning - Optional - Type: boolean - Default: false
  • Links
  • Notifications
    • Links
    • Any - Optional - Type: string
    • Tenant - Optional - Type: string
    • Product - Optional - Type: string
    • Environment - Optional - Type: string
    • Segment - Optional - Type: string
    • Tier - Required - Type: string
    • Component - Required - Type: string
    • Function - Optional - Type: string
    • Service - Optional - Type: string
    • Task - Optional - Type: string
    • PortMapping (Port) - Optional - Type: string
    • Mount - Optional - Type: string
    • Platform - Optional - Type: string
    • RouteTable - Optional - Type: string
    • NetworkACL - Optional - Type: string
    • DataBucket - Optional - Type: string
    • Key - Optional - Type: string
    • Branch - Optional - Type: string
    • Client - Optional - Type: string
    • AuthProvider - Optional - Type: string
    • DataFeed - Optional - Type: string
    • RegistryService - Optional - Type: string
    • Instance - Optional - Type: string
    • Version - Optional - Type: string
    • Role - Optional - Type: string
    • Direction - Optional - Type: string
    • Type - Optional - Type: string
    • Enabled - Optional - Type: boolean - Default: true
    • Prefix - Optional - Type: string
    • Suffix - Optional - Type: string
    • Events - Optional - Type: array of string - Default: create
      Possible Values: [create, remove, restore, reducedredundancy]

baselinekey

Shared security keys for a segment

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "baselinekey" : {
        "Engine" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference


bastion

An bastion instance to manage vpc only components

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "bastion" : {
        "Active" : false,
        "OS" : "linux",
        "Fragment" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "AutoScaling" : {
            "DetailedMetrics" : true,
            "WaitForSignal" : true,
            "MinUpdateInstances" : 1,
            "ReplaceCluster" : false,
            "UpdatePauseTime" : "10M",
            "StartupTimeout" : "15M",
            "AlwaysReplaceOnUpdate" : false,
            "ActivityCooldown" : 30
        },
        "Permissions" : {
            "Decrypt" : false,
            "AsFile" : false,
            "AppData" : false,
            "AppPublic" : false
        }
    }
}

Attribute Reference

  • Active - Optional - Type: boolean - Default: false
  • OS - Optional - Type: string - Default: linux
    Possible Values: [linux]
  • Fragment (Container) - Optional - Type: string
  • Links
  • Profiles
    • Deployment - Optional - Type: array of string
    • Processor - Optional - Type: string - Default: default
  • AutoScaling
    • DetailedMetrics - Optional - Type: boolean - Default: true
      Description: Enable the collection of autoscale group detailed metrics
    • WaitForSignal - Optional - Type: boolean - Default: true
      Description: Wait for a cfn-signal before treating the instances as alive
    • MinUpdateInstances - Optional - Type: number - Default: 1
      Description: The minimum number of instances which must be available during an update
    • ReplaceCluster - Optional - Type: boolean - Default: false
      Description: When set to true a brand new cluster will be built, if false the instances in the current cluster will be replaced
    • UpdatePauseTime - Optional - Type: string - Default: 10M
      Description: How long to pause betweeen updates of instances
    • StartupTimeout - Optional - Type: string - Default: 15M
      Description: How long to wait for a cfn-signal to be received from a host
    • AlwaysReplaceOnUpdate - Optional - Type: boolean - Default: false
      Description: Replace instances on every update action
    • ActivityCooldown - Optional - Type: number - Default: 30
  • Permissions
    • Decrypt - Optional - Type: boolean - Default: false
    • AsFile - Optional - Type: boolean - Default: false
    • AppData - Optional - Type: boolean - Default: false
    • AppPublic - Optional - Type: boolean - Default: false

cache

Managed in-memory cache services

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "cache" : {
        "Engine" : "<string>",
        "EngineVersion" : "<string>",
        "Port" : "<string>",
        "Backup" : {
            "RetentionPeriod" : "<string>"
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "Hibernate" : {
            "Enabled" : false,
            "StartUpMode" : "replace"
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        }
    }
}

Attribute Reference


computecluster

Auto-Scaling IaaS with code deployment

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "computecluster" : {
        "Fragment" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "UseInitAsService" : false,
        "AutoScaling" : {
            "DetailedMetrics" : true,
            "WaitForSignal" : true,
            "MinUpdateInstances" : 1,
            "ReplaceCluster" : false,
            "UpdatePauseTime" : "10M",
            "StartupTimeout" : "15M",
            "AlwaysReplaceOnUpdate" : false,
            "ActivityCooldown" : 30
        },
        "DockerHost" : false,
        "Ports" : {
            "example" : {
                "IPAddressGroups" : "<array of string>",
                "LB" : {
                    "Tier" : "<string>",
                    "Component" : "<string>",
                    "LinkName" : "lb",
                    "Instance" : "<string>",
                    "Version" : "<string>",
                    "PortMapping" : "<string>"
                }
            }
        }
    }
}

Attribute Reference

  • Fragment (Container) - Optional - Type: string
  • Links
  • Profiles
    • Deployment - Optional - Type: array of string
    • Processor - Optional - Type: string - Default: default
  • UseInitAsService - Optional - Type: boolean - Default: false
  • AutoScaling
    • DetailedMetrics - Optional - Type: boolean - Default: true
      Description: Enable the collection of autoscale group detailed metrics
    • WaitForSignal - Optional - Type: boolean - Default: true
      Description: Wait for a cfn-signal before treating the instances as alive
    • MinUpdateInstances - Optional - Type: number - Default: 1
      Description: The minimum number of instances which must be available during an update
    • ReplaceCluster - Optional - Type: boolean - Default: false
      Description: When set to true a brand new cluster will be built, if false the instances in the current cluster will be replaced
    • UpdatePauseTime - Optional - Type: string - Default: 10M
      Description: How long to pause betweeen updates of instances
    • StartupTimeout - Optional - Type: string - Default: 15M
      Description: How long to wait for a cfn-signal to be received from a host
    • AlwaysReplaceOnUpdate - Optional - Type: boolean - Default: false
      Description: Replace instances on every update action
    • ActivityCooldown - Optional - Type: number - Default: 30
  • DockerHost - Optional - Type: boolean - Default: false
  • Ports

configstore

A configuration store to provide dynamic attributes

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Sub Components

  • configbranch
    • Component Attribute - Branches
    • Link Attribute - Branch

Component Format

{
    "configstore" : {
        "Fragment" : "<string>",
        "Table" : {
            "Billing" : "provisioned",
            "Capacity" : {
                "Read" : 1,
                "Write" : 1
            },
            "Backup" : {
                "Enabled" : false
            },
            "Stream" : {
                "Enabled" : false,
                "ViewType" : "NEW_IMAGE"
            }
        },
        "SecondaryKey" : false,
        "Branches" : {
            "example" : "< instance of configbranch>"
        }
    }
}

Attribute Reference

  • Fragment (Container) - Optional - Type: string
  • Table
    • Billing - Optional - Type: string - Default: provisioned
      Description: The billing mode for the table Possible Values: [provisioned, per-request]
    • Capacity
    • Read - Optional - Type: number - Default: 1
      Description: When using provisioned billing the maximum RCU of the table
    • Write - Optional - Type: number - Default: 1
      Description: When using provisioned billing the maximum WCU of the table
    • Backup
    • Enabled - Optional - Type: boolean - Default: false
      Description: Enables point in time recovery on the table
    • Stream
    • Enabled - Optional - Type: boolean - Default: false
      Description: Enables dynamodb event stream
    • ViewType - Optional - Type: string - Default: NEW_IMAGE
      Possible Values: [KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES]
  • SecondaryKey - Optional - Type: boolean - Default: false
    Description: Uses the name of the branch to provide a secondary sort key on branches - id being the primary

configbranch

A branch of configuration which belongs to a config store

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "configbranch" : {
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "States" : {
            "example" : {
                "InitialValue" : "-"
            }
        }
    }
}

Attribute Reference


contenthub

Hub for decentralised content hosting with centralised publishing

Deployment Properties

  • Available Providers - github
  • Component Level - application

Component Format

{
    "contenthub" : {
        "Prefix" : "<string>",
        "Engine" : "github",
        "Branch" : "master",
        "Repository" : "<string>"
    }
}

Attribute Reference

  • Prefix - Required - Type: string
  • Engine - Optional - Type: string - Default: github
  • Branch - Optional - Type: string - Default: master
  • Repository - Optional - Type: string

contentnode

Node for decentralised content hosting with centralised publishing

Deployment Properties

  • Available Providers - github
  • Component Level - application

Component Format

{
    "contentnode" : {
        "Path" : {
            "Host" : "<string>",
            "Style" : "single",
            "IncludeInPath" : {
                "Product" : true,
                "Environment" : false,
                "Solution" : false,
                "Segment" : true,
                "Tier" : false,
                "Component" : false,
                "Instance" : false,
                "Version" : false,
                "Host" : false
            }
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference

  • Path
    • Host - Optional - Type: string
    • Style - Optional - Type: string - Default: single
    • IncludeInPath
    • Product - Optional - Type: boolean - Default: true
    • Environment - Optional - Type: boolean - Default: false
    • Solution - Optional - Type: boolean - Default: false
    • Segment - Optional - Type: boolean - Default: true
    • Tier - Optional - Type: boolean - Default: false
    • Component - Optional - Type: boolean - Default: false
    • Instance - Optional - Type: boolean - Default: false
    • Version - Optional - Type: boolean - Default: false
    • Host - Optional - Type: boolean - Default: false
  • Links

datafeed

A service which feeds data into the ES index currently based on kineses data firehose

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "datafeed" : {
        "ElasticSearch" : {
            "IndexPrefix" : "<string>",
            "IndexRotation" : "OneMonth",
            "DocumentType" : "<string>"
        },
        "Buffering" : {
            "Interval" : 60,
            "Size" : 1
        },
        "Logging" : true,
        "Encrypted" : false,
        "Backup" : {
            "FailureDuration" : 3600,
            "Policy" : "FailedDocumentsOnly"
        },
        "Destination" : {
            "Link" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "LogWatchers" : {
            "example" : {
                "LogFilter" : "<string>",
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                }
            }
        }
    }
}

Attribute Reference

  • ElasticSearch
    • IndexPrefix - Required - Type: string
      Description: The prefix applied to generate the index name ( if not using roll over this will be the index name)
    • IndexRotation - Optional - Type: string - Default: OneMonth
      Description: When to rotate the index ( the timestamp will be appended to the indexprefix) Possible Values: [NoRotation, OneDay, OneHour, OneMonth, OneWeek]
    • DocumentType - Required - Type: string
      Description: The document type used when creating the document
  • Buffering
    • Interval - Optional - Type: number - Default: 60
      Description: The time in seconds before data should be delivered
    • Size - Optional - Type: number - Default: 1
      Description: The size in MB before data should be delivered
  • Logging - Optional - Type: boolean - Default: true
  • Encrypted - Optional - Type: boolean - Default: false
  • Backup
    • FailureDuration - Optional - Type: number - Default: 3600
      Description: The time in seconds that the data feed will attempt to deliver the data before it is sent to backup
    • Policy - Optional - Type: string - Default: FailedDocumentsOnly
      Description: The backup policy to apply to records Possible Values: [AllDocuments, FailedDocumentsOnly]
  • Destination
  • Links
  • Alerts
    • Description - Optional
    • Name - Required - Type: string
    • Resource
    • Id - Optional - Type: string
    • Type - Optional - Type: string
    • Metric - Required - Type: string
    • Threshold - Optional - Type: number - Default: 1
    • Severity - Optional - Type: string - Default: Info
    • Namespace - Optional - Type: string
    • Comparison - Optional - Type: string - Default: Threshold
    • Operator - Optional - Type: string - Default: GreaterThanOrEqualToThreshold
    • Time - Optional - Type: number - Default: 300
    • Periods - Optional - Type: number - Default: 1
    • Statistic - Optional - Type: string - Default: Sum
    • ReportOk - Optional - Type: boolean - Default: false
    • MissingData - Optional - Type: string - Default: notBreaching
  • LogWatchers

datapipeline

Managed Data ETL Processing

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "datapipeline" : {
        "Fragment" : "<string>",
        "Permissions" : {
            "Decrypt" : true,
            "AsFile" : true,
            "AppData" : true,
            "AppPublic" : true
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        }
    }
}

Attribute Reference


dataset

A data aretefact that is managed in a similar way to a code unit

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "dataset" : {
        "Engine" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Prefix" : "<string>",
        "BuildEnvironment" : "<array of string>"
    }
}

Attribute Reference


datavolume

A persistant disk volume independent of compute

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "datavolume" : {
        "Engine" : "ebs",
        "Encrypted" : false,
        "Size" : 20,
        "VolumeType" : "gp2",
        "ProvisionedIops" : 100,
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Backup" : {
            "Enabled" : true,
            "Schedule" : "rate(1 day)",
            "ScheduleTimeZone" : "Etc/UTC",
            "RetentionPeriod" : 35
        }
    }
}

Attribute Reference

  • Engine - Optional - Type: string - Default: ebs
    Possible Values: [ebs]
  • Encrypted - Optional - Type: boolean - Default: false
  • Size - Optional - Type: number - Default: 20
  • VolumeType - Optional - Type: string - Default: gp2
    Possible Values: [standard, io1, gp2, sc1, st1]
  • ProvisionedIops - Optional - Type: number - Default: 100
  • Profiles
  • Backup
    • Enabled - Optional - Type: boolean - Default: true
      Description: Create scheduled snapshots of the data volume
    • Schedule - Optional - Type: string - Default: rate(1 day)
      Description: Schedule in rate() or cron() formats
    • ScheduleTimeZone - Optional - Type: string - Default: Etc/UTC
      Description: When using a cron expression in Schedule sets the time zone to base it from
    • RetentionPeriod - Optional - Type: number - Default: 35
      Description: How long to keep snapshot for in days

ec2

A single virtual machine with no code deployment

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "ec2" : {
        "FixedIP" : false,
        "DockerHost" : false,
        "Fragment" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "Ports" : {
            "example" : {
                "IPAddressGroups" : "<array of string>",
                "LB" : {
                    "Tier" : "<string>",
                    "Component" : "<string>",
                    "LinkName" : "lb",
                    "Instance" : "<string>",
                    "Version" : "<string>",
                    "PortMapping" : "<string>"
                }
            }
        }
    }
}

Attribute Reference


ecs

An autoscaling container host cluster

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Sub Components

  • service
    • Component Attribute - Services
    • Link Attribute - Service
  • task
    • Component Attribute - Tasks
    • Link Attribute - Task

Component Format

{
    "ecs" : {
        "Fragment" : "<string>",
        "FixedIP" : false,
        "LogDriver" : "awslogs",
        "VolumeDrivers" : "<array of string>",
        "ClusterLogGroup" : true,
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "AutoScaling" : {
            "DetailedMetrics" : true,
            "WaitForSignal" : true,
            "MinUpdateInstances" : 1,
            "ReplaceCluster" : false,
            "UpdatePauseTime" : "10M",
            "StartupTimeout" : "15M",
            "AlwaysReplaceOnUpdate" : false,
            "ActivityCooldown" : 30
        },
        "DockerUsers" : {
            "example" : {
                "UserName" : "<string>",
                "UID" : "<number>"
            }
        },
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "Hibernate" : {
            "Enabled" : false,
            "StartUpMode" : "replace"
        },
        "Services" : {
            "example" : "< instance of service>"
        },
        "Tasks" : {
            "example" : "< instance of task>"
        }
    }
}

Attribute Reference

  • Fragment (Container) - Optional - Type: string
  • FixedIP - Optional - Type: boolean - Default: false
  • LogDriver - Optional - Type: string - Default: awslogs
    Possible Values: [awslogs, json-file, fluentd]
  • VolumeDrivers - Optional - Type: array of string
    Possible Values: [ebs]
  • ClusterLogGroup - Optional - Type: boolean - Default: true
  • Links
  • Profiles
    • Deployment - Optional - Type: array of string
    • Processor - Optional - Type: string - Default: default
  • AutoScaling
    • DetailedMetrics - Optional - Type: boolean - Default: true
      Description: Enable the collection of autoscale group detailed metrics
    • WaitForSignal - Optional - Type: boolean - Default: true
      Description: Wait for a cfn-signal before treating the instances as alive
    • MinUpdateInstances - Optional - Type: number - Default: 1
      Description: The minimum number of instances which must be available during an update
    • ReplaceCluster - Optional - Type: boolean - Default: false
      Description: When set to true a brand new cluster will be built, if false the instances in the current cluster will be replaced
    • UpdatePauseTime - Optional - Type: string - Default: 10M
      Description: How long to pause betweeen updates of instances
    • StartupTimeout - Optional - Type: string - Default: 15M
      Description: How long to wait for a cfn-signal to be received from a host
    • AlwaysReplaceOnUpdate - Optional - Type: boolean - Default: false
      Description: Replace instances on every update action
    • ActivityCooldown - Optional - Type: number - Default: 30
  • DockerUsers
    • UserName - Optional - Type: string
    • UID - Required - Type: number
  • LogMetrics
  • Alerts
    • Description - Optional
    • Name - Required - Type: string
    • Resource
    • Id - Optional - Type: string
    • Type - Optional - Type: string
    • Metric - Required - Type: string
    • Threshold - Optional - Type: number - Default: 1
    • Severity - Optional - Type: string - Default: Info
    • Namespace - Optional - Type: string
    • Comparison - Optional - Type: string - Default: Threshold
    • Operator - Optional - Type: string - Default: GreaterThanOrEqualToThreshold
    • Time - Optional - Type: number - Default: 300
    • Periods - Optional - Type: number - Default: 1
    • Statistic - Optional - Type: string - Default: Sum
    • ReportOk - Optional - Type: boolean - Default: false
    • MissingData - Optional - Type: string - Default: notBreaching
  • Hibernate
    • Enabled - Optional - Type: boolean - Default: false
    • StartUpMode - Optional - Type: string - Default: replace
      Possible Values: [replace]

service

An orchestrated container with always on scheduling

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "service" : {
        "Engine" : "ec2",
        "Containers" : {
            "example" : {
                "Cpu" : "<number>",
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                },
                "LocalLogging" : false,
                "LogDriver" : "awslogs",
                "LogMetrics" : {
                    "example" : {
                        "LogFilter" : "<string>"
                    }
                },
                "Alerts" : {
                    "example" : {
                        "Description" : "unknown",
                        "Name" : "<string>",
                        "Resource" : {
                            "Id" : "<string>",
                            "Type" : "<string>"
                        },
                        "Metric" : "<string>",
                        "Threshold" : 1,
                        "Severity" : "Info",
                        "Namespace" : "<string>",
                        "Comparison" : "Threshold",
                        "Operator" : "GreaterThanOrEqualToThreshold",
                        "Time" : 300,
                        "Periods" : 1,
                        "Statistic" : "Sum",
                        "ReportOk" : false,
                        "MissingData" : "notBreaching"
                    }
                },
                "ContainerLogGroup" : false,
                "RunCapabilities" : "<array of string>",
                "Privileged" : false,
                "MaximumMemory" : "<unknown>",
                "MemoryReservation" : "<number>",
                "Ports" : {
                    "example" : {
                        "Container" : "unknown",
                        "DynamicHostPort" : false,
                        "LB" : {
                            "Tier" : "<string>",
                            "Component" : "<string>",
                            "LinkName" : "lb",
                            "Instance" : "<string>",
                            "Version" : "<string>",
                            "PortMapping" : "<string>"
                        },
                        "Registry" : {
                            "Tier" : "<string>",
                            "Component" : "<string>",
                            "LinkName" : "srvreg",
                            "Instance" : "<string>",
                            "Version" : "<string>",
                            "RegistryService" : "<string>"
                        },
                        "IPAddressGroups" : "<array of string>"
                    }
                },
                "Version" : "<string>",
                "ContainerNetworkLinks" : "<array of string>"
            }
        },
        "DesiredCount" : -1,
        "UseTaskRole" : true,
        "Permissions" : {
            "Decrypt" : true,
            "AsFile" : true,
            "AppData" : true,
            "AppPublic" : true
        },
        "TaskLogGroup" : true,
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "NetworkMode" : "<string>",
        "ContainerNetworkLinks" : false,
        "Placement" : {
            "Strategy" : "<string>"
        },
        "Profiles" : {
            "Deployment" : "<array of string>"
        }
    }
}

Attribute Reference


task

A container defintion which is invoked on demand

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "task" : {
        "Engine" : "ec2",
        "Containers" : {
            "example" : {
                "Cpu" : "<number>",
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                },
                "LocalLogging" : false,
                "LogDriver" : "awslogs",
                "LogMetrics" : {
                    "example" : {
                        "LogFilter" : "<string>"
                    }
                },
                "Alerts" : {
                    "example" : {
                        "Description" : "unknown",
                        "Name" : "<string>",
                        "Resource" : {
                            "Id" : "<string>",
                            "Type" : "<string>"
                        },
                        "Metric" : "<string>",
                        "Threshold" : 1,
                        "Severity" : "Info",
                        "Namespace" : "<string>",
                        "Comparison" : "Threshold",
                        "Operator" : "GreaterThanOrEqualToThreshold",
                        "Time" : 300,
                        "Periods" : 1,
                        "Statistic" : "Sum",
                        "ReportOk" : false,
                        "MissingData" : "notBreaching"
                    }
                },
                "ContainerLogGroup" : false,
                "RunCapabilities" : "<array of string>",
                "Privileged" : false,
                "MaximumMemory" : "<unknown>",
                "MemoryReservation" : "<number>",
                "Ports" : {
                    "example" : {
                        "Container" : "unknown",
                        "DynamicHostPort" : false,
                        "LB" : {
                            "Tier" : "<string>",
                            "Component" : "<string>",
                            "LinkName" : "lb",
                            "Instance" : "<string>",
                            "Version" : "<string>",
                            "PortMapping" : "<string>"
                        },
                        "Registry" : {
                            "Tier" : "<string>",
                            "Component" : "<string>",
                            "LinkName" : "srvreg",
                            "Instance" : "<string>",
                            "Version" : "<string>",
                            "RegistryService" : "<string>"
                        },
                        "IPAddressGroups" : "<array of string>"
                    }
                },
                "Version" : "<string>",
                "ContainerNetworkLinks" : "<array of string>"
            }
        },
        "UseTaskRole" : true,
        "Permissions" : {
            "Decrypt" : true,
            "AsFile" : true,
            "AppData" : true,
            "AppPublic" : true
        },
        "TaskLogGroup" : true,
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "NetworkMode" : "<string>",
        "FixedName" : false,
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Schedules" : {
            "example" : {
                "Expression" : "rate(1 hours)",
                "TaskCount" : 1
            }
        }
    }
}

Attribute Reference


efs

A managed network attached file share

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Sub Components

  • efsMount
    • Component Attribute - Mounts
    • Link Attribute - Mount

Component Format

{
    "efs" : {
        "Encrypted" : true,
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Mounts" : {
            "example" : "< instance of efsMount>"
        }
    }
}

Attribute Reference


efsmount

A specific directory on the share for OS mounting

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "efsMount" : {
        "Directory" : "<string>"
    }
}

Attribute Reference


es

A managed ElasticSearch instance

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "es" : {
        "Authentication" : "IP",
        "Accounts" : [
            "_environment"
        ],
        "IPAddressGroups" : "<array of string>",
        "AdvancedOptions" : "<array of string>",
        "Version" : "<string>",
        "Encrypted" : false,
        "Snapshot" : {
            "Hour" : "<string>"
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        }
    }
}

Attribute Reference

  • Authentication - Optional - Type: string - Default: IP
    Possible Values: [IP, SIG4ORIP, SIG4ANDIP]
  • Accounts - Optional - Type: array of string - Default: _environment
    Description: A list of accounts which will be permitted to access the ES index
  • IPAddressGroups - Required - Type: array of string
    Description: A list of IP Address Groups which will be permitted to access the ES index
  • AdvancedOptions - Optional - Type: array of string
  • Version - Required - Type: string
  • Encrypted - Optional - Type: boolean - Default: false
  • Snapshot
    • Hour - Optional - Type: string
  • Links
  • Profiles
    • Deployment - Optional - Type: array of string
    • Processor - Optional - Type: string - Default: default
  • Alerts
    • Description - Optional
    • Name - Required - Type: string
    • Resource
    • Id - Optional - Type: string
    • Type - Optional - Type: string
    • Metric - Required - Type: string
    • Threshold - Optional - Type: number - Default: 1
    • Severity - Optional - Type: string - Default: Info
    • Namespace - Optional - Type: string
    • Comparison - Optional - Type: string - Default: Threshold
    • Operator - Optional - Type: string - Default: GreaterThanOrEqualToThreshold
    • Time - Optional - Type: number - Default: 300
    • Periods - Optional - Type: number - Default: 1
    • Statistic - Optional - Type: string - Default: Sum
    • ReportOk - Optional - Type: boolean - Default: false
    • MissingData - Optional - Type: string - Default: notBreaching

lambda

Container for a Function as a Service deployment

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Sub Components

  • function
    • Component Attribute - Functions
    • Link Attribute - Function

Component Format

{
    "lambda" : {
        "DeploymentType" : "REGIONAL",
        "Functions" : {
            "example" : "< instance of function>"
        }
    }
}

Attribute Reference

  • DeploymentType - Optional - Type: string - Default: REGIONAL
    Possible Values: [EDGE, REGIONAL]

function

A specific entry point for the lambda deployment

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "function" : {
        "Fragment" : "<string>",
        "Handler" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "LogWatchers" : {
            "example" : {
                "LogFilter" : "<string>",
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                }
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "Memory" : 0,
        "RunTime" : "<string>",
        "Schedules" : {
            "example" : {
                "Expression" : "rate(6 minutes)",
                "InputPath" : "/healthcheck",
                "Input" : "<object>"
            }
        },
        "Timeout" : 0,
        "VPCAccess" : true,
        "UseSegmentKey" : false,
        "Permissions" : {
            "Decrypt" : true,
            "AsFile" : true,
            "AppData" : true,
            "AppPublic" : true
        },
        "PredefineLogGroup" : false,
        "Environment" : {
            "AsFile" : false,
            "Json" : {
                "Escaped" : true,
                "Prefix" : "json"
            }
        },
        "FixedCodeVersion" : {
            "CodeHash" : "<unknown>"
        }
    }
}

Attribute Reference


lb

A load balancer for virtual network based components

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Notes

Warning

Requires second deployment to complete configuration

Sub Components

  • lbport
    • Component Attribute - PortMappings
    • Link Attribute - PortMapping, Port

Component Format

{
    "lb" : {
        "Logs" : false,
        "Engine" : "application",
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Security" : "default"
        },
        "IdleTimeout" : 60,
        "HealthCheckPort" : "<string>",
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "PortMappings" : {
            "example" : "< instance of lbport>"
        }
    }
}

Attribute Reference

  • Logs - Optional - Type: boolean - Default: false
  • Engine - Optional - Type: string - Default: application
    Possible Values: [application, network, classic]
  • Profiles
    • Deployment - Optional - Type: array of string
    • Security - Optional - Type: string - Default: default
  • IdleTimeout - Optional - Type: number - Default: 60
  • HealthCheckPort - Optional - Type: string
  • Alerts
    • Description - Optional
    • Name - Required - Type: string
    • Resource
    • Id - Optional - Type: string
    • Type - Optional - Type: string
    • Metric - Required - Type: string
    • Threshold - Optional - Type: number - Default: 1
    • Severity - Optional - Type: string - Default: Info
    • Namespace - Optional - Type: string
    • Comparison - Optional - Type: string - Default: Threshold
    • Operator - Optional - Type: string - Default: GreaterThanOrEqualToThreshold
    • Time - Optional - Type: number - Default: 300
    • Periods - Optional - Type: number - Default: 1
    • Statistic - Optional - Type: string - Default: Sum
    • ReportOk - Optional - Type: boolean - Default: false
    • MissingData - Optional - Type: string - Default: notBreaching
  • Links

lbport

A specifc listener based on the client side network port

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "lbport" : {
        "IPAddressGroups" : "<array of string>",
        "Certificate" : {
            "Qualifiers" : "<object>",
            "Domain" : "<string>",
            "IncludeInDomain" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>"
            },
            "Host" : "<string>",
            "HostParts" : "<array of string>",
            "IncludeInHost" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>",
                "Tier" : "<boolean>",
                "Component" : "<boolean>",
                "Instance" : "<boolean>",
                "Version" : "<boolean>",
                "Host" : "<boolean>"
            },
            "External" : "<boolean>",
            "Wildcard" : "<boolean>"
        },
        "HostFilter" : false,
        "Mapping" : "<string>",
        "Path" : "default",
        "Priority" : 100,
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Authentication" : {
            "SessionCookieName" : "AWSELBAuthSessionCookie",
            "SessionTimeout" : 604800
        },
        "Redirect" : {
            "Protocol" : "HTTPS",
            "Port" : "443",
            "Host" : "#{host}",
            "Path" : "/#{path}",
            "Query" : "#{query}",
            "Permanent" : true
        },
        "Fixed" : {
            "Message" : "This application is currently unavailable. Please try again later.",
            "ContentType" : "text/plain",
            "StatusCode" : "404"
        },
        "Forward" : {
            "TargetType" : "instance",
            "SlowStartTime" : -1,
            "StickinessTime" : -1,
            "DeregistrationTimeout" : 30
        }
    }
}

Attribute Reference


mobileapp

mobile apps with over the air update hosting

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "mobileapp" : {
        "Engine" : "expo",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "BuildFormats" : [
            "ios",
            "android"
        ],
        "Fragment" : "<string>"
    }
}

Attribute Reference

  • Engine - Optional - Type: string - Default: expo
    Possible Values: [expo]
  • Links
  • BuildFormats - Optional - Type: array of string - Default: ios, android
    Possible Values: [ios, android]
  • Fragment (Container) - Optional - Type: string

mobilenotifier

A managed mobile notification proxy

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Sub Components

Component Format

{
    "mobilenotifier" : {
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "SuccessSampleRate" : "100",
        "Credentials" : {
            "EncryptionScheme" : "base64"
        },
        "Platforms" : {
            "example" : "< instance of mobilenotiferplatform>"
        }
    }
}

Attribute Reference


mobilenotiferplatform

A specific mobile platform notification proxy

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Notes

Warning

SMS Engine requires account level configuration for AWS provider

Info

Platform specific credentials are required and must be provided as credentials

Component Format

{
    "mobilenotiferplatform" : {
        "Engine" : "<string>",
        "SuccessSampleRate" : "<string>",
        "Credentials" : {
            "EncryptionScheme" : "<string>"
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "LogMetrics" : {
            "example" : {
                "LogFilter" : "<string>"
            }
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        }
    }
}

Attribute Reference


network

A virtual network segment used by private resources

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Sub Components

  • networkroute
    • Component Attribute - RouteTables
    • Link Attribute - RouteTable
  • networkacl
    • Component Attribute - NetworkACLs
    • Link Attribute - NetworkACL

Component Format

{
    "network" : {
        "Active" : false,
        "Logging" : {
            "EnableFlowLogs" : true
        },
        "DNS" : {
            "UseProvider" : true,
            "GenerateHostNames" : true
        },
        "Address" : {
            "CIDR" : "10.0.0.0/16"
        },
        "RouteTables" : {
            "example" : "< instance of networkroute>"
        },
        "NetworkACLs" : {
            "example" : "< instance of networkacl>"
        }
    }
}

Attribute Reference


networkroute

A network routing table providing acess to resources outside of the network

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "networkroute" : {
        "Active" : false,
        "Public" : false,
        "Profiles" : {
            "Deployment" : "<array of string>"
        }
    }
}

Attribute Reference

  • Active - Optional - Type: boolean - Default: false
  • Public - Optional - Type: boolean - Default: false
    Description: Does the route table require Public IP internet access
  • Profiles

networkacl

A tier/subnet level network access control policy

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "networkacl" : {
        "Active" : false,
        "Rules" : {
            "example" : {
                "Priority" : "<number>",
                "Action" : "deny",
                "Source" : {
                    "IPAddressGroups" : "<array of string>",
                    "Port" : "ephemeraltcp"
                },
                "Destination" : {
                    "IPAddressGroups" : "<array of string>",
                    "Port" : "<string>"
                },
                "ReturnTraffic" : true
            }
        }
    }
}

Attribute Reference

  • Active - Optional - Type: boolean - Default: false
  • Rules
    • Priority - Optional - Type: number
      Required: true
    • Action - Optional - Type: string - Default: deny
      Possible Values: [allow, deny]
    • Source
    • IPAddressGroups - Optional - Type: array of string
      Required: true
    • Port - Optional - Type: string - Default: ephemeraltcp
      Description: Port or port range the source is coming from
    • Destination
    • IPAddressGroups - Optional - Type: array of string
      Required: true
    • Port - Optional - Type: string
      Description: Port or port range the source is trying to access Required: true
    • ReturnTraffic - Optional - Type: boolean - Default: true
      Description: If ACL is stateless add a return rule

gateway

A service providing a route to another network

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Sub Components

Component Format

{
    "gateway" : {
        "Active" : false,
        "Engine" : "<string>",
        "SourceIPAddressGroups" : [
            "_localnet"
        ],
        "Destinations" : {
            "example" : "< instance of gatewaydestination>"
        }
    }
}

Attribute Reference

  • Active - Optional - Type: boolean - Default: false
  • Engine - Optional - Type: string
    Possible Values: [natgw, igw, vpcendpoint] Required: true
  • SourceIPAddressGroups - Optional - Type: array of string - Default: _localnet
    Description: IP Address Groups which can access this gateway

gatewaydestination

A network destination offerred by the Gateway

Deployment Properties

  • Available Providers - aws
  • Component Level - segment

Component Format

{
    "gatewaydestination" : {
        "Active" : false,
        "IPAddressGroups" : "<array of string>",
        "NetworkEndpointGroups" : "<array of string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference


rds

A managed SQL database instance

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "rds" : {
        "Engine" : "<unknown>",
        "EngineVersion" : "<string>",
        "Port" : "<string>",
        "Encrypted" : false,
        "GenerateCredentials" : {
            "Enabled" : false,
            "MasterUserName" : "root",
            "CharacterLength" : 20,
            "EncryptionScheme" : "<string>"
        },
        "Size" : 20,
        "Backup" : {
            "RetentionPeriod" : 35,
            "SnapshotOnDeploy" : true,
            "DeleteAutoBackups" : true,
            "DeletionPolicy" : "Snapshot",
            "UpdateReplacePolicy" : "Snapshot"
        },
        "AutoMinorVersionUpgrade" : "<boolean>",
        "DatabaseName" : "<string>",
        "DBParameters" : "<object>",
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Processor" : "default"
        },
        "Hibernate" : {
            "Enabled" : false,
            "StartUpMode" : "restore"
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "AlwaysCreateFromSnapshot" : false
    }
}

Attribute Reference


s3

HTTP based object storage service

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "s3" : {
        "Lifecycle" : {
            "Expiration" : "<unknown>",
            "Offline" : "<unknown>",
            "Versioning" : false
        },
        "Website" : {
            "Index" : "index.html",
            "Error" : "<string>"
        },
        "PublicAccess" : {
            "example" : {
                "Enabled" : false,
                "Permissions" : "ro",
                "IPAddressGroups" : [
                    "_localnet"
                ],
                "Paths" : "<array of string>"
            }
        },
        "Style" : "<string>",
        "Notifications" : {
            "example" : {
                "Links" : {
                    "example" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    }
                },
                "Prefix" : "<string>",
                "Suffix" : "<string>",
                "Events" : [
                    "create"
                ]
            }
        },
        "CORSBehaviours" : "<array of string>",
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Replication" : {
            "Prefixes" : [
                ""
            ],
            "Enabled" : true
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference


serviceregistry

DNS based service registry

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Sub Components

Component Format

{
    "serviceregistry" : {
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Namespace" : {
            "Qualifiers" : "<object>",
            "Domain" : "<string>",
            "IncludeInDomain" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>"
            }
        },
        "RegistryServices" : {
            "example" : "< instance of serviceregistryservice>"
        }
    }
}

Attribute Reference


serviceregistryservice

An individual service in the registry

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "serviceregistryservice" : {
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "ServiceName" : {
            "Host" : "<string>",
            "HostParts" : "<array of string>",
            "IncludeInHost" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>",
                "Tier" : "<boolean>",
                "Component" : "<boolean>",
                "Instance" : "<boolean>",
                "Version" : "<boolean>",
                "Host" : "<boolean>"
            }
        },
        "RecordTypes" : [
            "A"
        ],
        "RecordTTL" : 300,
        "RoutingPolicy" : "OnlyOne"
    }
}

Attribute Reference

  • Profiles
  • Links
  • ServiceName
  • RecordTypes - Optional - Type: array of string - Default: A
    Description: The types of DNS records that an instance can register with the service Possible Values: [A, AAAA, CNAME, SRV]
  • RecordTTL - Optional - Type: number - Default: 300
    Description: DNS record TTL ( in seconds)
  • RoutingPolicy - Optional - Type: string - Default: OnlyOne
    Description: How the service returns records to the client Possible Values: [AllAtOnce, OnlyOne]

spa

Object stored hosted web application with content distribution management

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "spa" : {
        "Fragment" : "<string>",
        "Links" : "<object>",
        "WAF" : {
            "IPAddressGroups" : "<array of string>",
            "OWASP" : false
        },
        "CloudFront" : {
            "AssumeSNI" : true,
            "EnableLogging" : true,
            "CountryGroups" : "<array of string>",
            "ErrorPage" : "/index.html",
            "DeniedPage" : "<string>",
            "NotFoundPage" : "<string>",
            "CachingTTL" : {
                "Default" : 600,
                "Maximum" : 31536000,
                "Minimum" : 0
            },
            "Compress" : true,
            "RedirectAliases" : {
                "RedirectVersion" : "v1"
            },
            "EventHandlers" : {
                "example" : {
                    "Tier" : "<string>",
                    "Component" : "<string>",
                    "Function" : "<string>",
                    "Instance" : "<string>",
                    "Version" : "<string>",
                    "Action" : "<string>"
                }
            },
            "Paths" : {
                "example" : {
                    "PathPattern" : "<string>",
                    "Link" : {
                        "Any" : "<string>",
                        "Tenant" : "<string>",
                        "Product" : "<string>",
                        "Environment" : "<string>",
                        "Segment" : "<string>",
                        "Tier" : "<string>",
                        "Component" : "<string>",
                        "Function" : "<string>",
                        "Service" : "<string>",
                        "Task" : "<string>",
                        "PortMapping" : "<string>",
                        "Mount" : "<string>",
                        "Platform" : "<string>",
                        "RouteTable" : "<string>",
                        "NetworkACL" : "<string>",
                        "DataBucket" : "<string>",
                        "Key" : "<string>",
                        "Branch" : "<string>",
                        "Client" : "<string>",
                        "AuthProvider" : "<string>",
                        "DataFeed" : "<string>",
                        "RegistryService" : "<string>",
                        "Instance" : "<string>",
                        "Version" : "<string>",
                        "Role" : "<string>",
                        "Direction" : "<string>",
                        "Type" : "<string>",
                        "Enabled" : true
                    },
                    "CachingTTL" : {
                        "Default" : 600,
                        "Maximum" : 31536000,
                        "Minimum" : 0
                    },
                    "Compress" : false
                }
            }
        },
        "Certificate" : {
            "Qualifiers" : "<object>",
            "Domain" : "<string>",
            "IncludeInDomain" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>"
            },
            "Host" : "<string>",
            "HostParts" : "<array of string>",
            "IncludeInHost" : {
                "Product" : "<boolean>",
                "Environment" : "<boolean>",
                "Segment" : "<boolean>",
                "Tier" : "<boolean>",
                "Component" : "<boolean>",
                "Instance" : "<boolean>",
                "Version" : "<boolean>",
                "Host" : "<boolean>"
            },
            "External" : "<boolean>",
            "Wildcard" : "<boolean>"
        },
        "Profiles" : {
            "Deployment" : "<array of string>",
            "Security" : "default"
        }
    }
}

Attribute Reference


sqs

Managed worker queue engine

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "sqs" : {
        "DelaySeconds" : "<number>",
        "MaximumMessageSize" : "<number>",
        "MessageRetentionPeriod" : "<number>",
        "ReceiveMessageWaitTimeSeconds" : "<number>",
        "DeadLetterQueue" : {
            "MaxReceives" : 0
        },
        "VisibilityTimeout" : "<number>",
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "Alerts" : {
            "example" : {
                "Description" : "unknown",
                "Name" : "<string>",
                "Resource" : {
                    "Id" : "<string>",
                    "Type" : "<string>"
                },
                "Metric" : "<string>",
                "Threshold" : 1,
                "Severity" : "Info",
                "Namespace" : "<string>",
                "Comparison" : "Threshold",
                "Operator" : "GreaterThanOrEqualToThreshold",
                "Time" : 300,
                "Periods" : 1,
                "Statistic" : "Sum",
                "ReportOk" : false,
                "MissingData" : "notBreaching"
            }
        }
    }
}

Attribute Reference


user

A user with permissions on components deployed in the solution

Deployment Properties

  • Available Providers - aws
  • Component Level - application

Component Format

{
    "user" : {
        "Fragment" : "<string>",
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "GenerateCredentials" : {
            "Formats" : [
                "system"
            ],
            "EncryptionScheme" : "<string>",
            "CharacterLength" : 20
        },
        "Permissions" : {
            "Decrypt" : true,
            "AsFile" : true,
            "AppData" : true,
            "AppPublic" : true
        }
    }
}

Attribute Reference


userpool

Managed identity service

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Notes

Warning

Make sure to plan your schema before initial deployment. Updating shema attributes causes a replaccement of the userpool

Warning

Please read https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html before enabling custom domains on userpool hosted UI. An A Record is required in your base domain

Sub Components

Component Format

{
    "userpool" : {
        "MFA" : false,
        "AdminCreatesUser" : true,
        "UnusedAccountTimeout" : 7,
        "VerifyEmail" : true,
        "VerifyPhone" : false,
        "LoginAliases" : [
            "email"
        ],
        "AllowUnauthenticatedIds" : false,
        "AuthorizationHeader" : "Authorization",
        "PasswordPolicy" : {
            "MinimumLength" : 10,
            "Lowercase" : true,
            "Uppercase" : true,
            "Numbers" : true,
            "SpecialCharacters" : true
        },
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        },
        "Profiles" : {
            "Deployment" : "<array of string>"
        },
        "DefaultClient" : true,
        "Schema" : {
            "example" : {
                "DataType" : "String",
                "Mutable" : true,
                "Required" : true
            }
        },
        "HostedUI" : {
            "Certificate" : {
                "Qualifiers" : "<object>",
                "Domain" : "<string>",
                "IncludeInDomain" : {
                    "Product" : "<boolean>",
                    "Environment" : "<boolean>",
                    "Segment" : "<boolean>"
                },
                "Host" : "<string>",
                "HostParts" : "<array of string>",
                "IncludeInHost" : {
                    "Product" : "<boolean>",
                    "Environment" : "<boolean>",
                    "Segment" : "<boolean>",
                    "Tier" : "<boolean>",
                    "Component" : "<boolean>",
                    "Instance" : "<boolean>",
                    "Version" : "<boolean>",
                    "Host" : "<boolean>"
                },
                "External" : "<boolean>",
                "Wildcard" : "<boolean>"
            }
        },
        "Clients" : {
            "example" : "< instance of userpoolclient>"
        },
        "AuthProviders" : {
            "example" : "< instance of userpoolauthprovider>"
        }
    }
}

Attribute Reference


userpoolclient

A oauth app client which belongs to the userpool

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "userpoolclient" : {
        "OAuth" : {
            "Scopes" : [
                "email",
                "openid"
            ],
            "Flows" : [
                "code"
            ]
        },
        "ClientGenerateSecret" : false,
        "ClientTokenValidity" : 30,
        "IdentityPoolAccess" : true,
        "AuthProviders" : [
            "COGNITO"
        ],
        "Links" : {
            "example" : {
                "Any" : "<string>",
                "Tenant" : "<string>",
                "Product" : "<string>",
                "Environment" : "<string>",
                "Segment" : "<string>",
                "Tier" : "<string>",
                "Component" : "<string>",
                "Function" : "<string>",
                "Service" : "<string>",
                "Task" : "<string>",
                "PortMapping" : "<string>",
                "Mount" : "<string>",
                "Platform" : "<string>",
                "RouteTable" : "<string>",
                "NetworkACL" : "<string>",
                "DataBucket" : "<string>",
                "Key" : "<string>",
                "Branch" : "<string>",
                "Client" : "<string>",
                "AuthProvider" : "<string>",
                "DataFeed" : "<string>",
                "RegistryService" : "<string>",
                "Instance" : "<string>",
                "Version" : "<string>",
                "Role" : "<string>",
                "Direction" : "<string>",
                "Type" : "<string>",
                "Enabled" : true
            }
        }
    }
}

Attribute Reference

  • OAuth
    • Scopes - Optional - Type: array of string - Default: email, openid
      Possible Values: [phone, email, openid, aws.cognito.signin.user.admin, profile]
    • Flows - Optional - Type: array of string - Default: code
      Possible Values: [code, implicit, client_credentials]
  • ClientGenerateSecret - Optional - Type: boolean - Default: false
    Description: Generate a client secret which musht be provided in auth calls
  • ClientTokenValidity - Optional - Type: number - Default: 30
    Description: Time in days that the refresh token is valid for
  • IdentityPoolAccess - Optional - Type: boolean - Default: true
    Description: Enable the use of the identity pool for this client
  • AuthProviders - Optional - Type: array of string - Default: COGNITO
    Description: A list of user pool auth providers which can use this client
  • Links

userpoolauthprovider

An external auth provider which will federate with the user pool

Deployment Properties

  • Available Providers - aws
  • Component Level - solution

Component Format

{
    "userpoolauthprovider" : {
        "Engine" : "<string>",
        "AttributeMappings" : {
            "example" : {
                "UserPoolAttribute" : "<string>",
                "ProviderAttribute" : "<string>"
            }
        },
        "IDPIdentifiers" : "<array of string>",
        "SAML" : {
            "MetadataUrl" : "<string>",
            "EnableIDPSignOut" : true
        }
    }
}

Attribute Reference

  • Engine - Required - Type: string
    Description: The authentication provider type Possible Values: [SAML, OIDC]
  • AttributeMappings
    • UserPoolAttribute - Optional - Type: string
      Description: The name of the attribute in the user pool schema - the id of the mapping will be used if not provided
    • ProviderAttribute - Required - Type: string
      Description: The provider attribute which will be mapped
  • IDPIdentifiers - Optional - Type: array of string
    Description: A list of identifiers that can be used to automatically pick the IDP - E.g. email domain
  • SAML
    • MetadataUrl - Optional - Type: string
      Description: The SAML metadataUrl endpoint
    • EnableIDPSignOut - Optional - Type: boolean - Default: true
      Description: Enable the IDP Signout Flow