{ "Parameters": { "PublicSubnet": { "Description": "\nSubnet ID for use by all public agent nodes", "Type": "AWS::EC2::Subnet::Id" }, "InternetGateway": { "Description": "\nInternet Gateway ID, must be attached to the 'Vpc'. Used by all nodes for outgoing Internet access.", "Type": "String" }, "AdminLocation": { "ConstraintDescription": "must be a valid CIDR.", "AllowedPattern": "^([0-9]+\\.){3}[0-9]+\\/[0-9]+$", "Type": "String", "Description": "\nOptional: Specify the IP range to whitelist for access to the admin zone. Must be a valid CIDR.", "MinLength": "9", "Default": "0.0.0.0/0", "MaxLength": "18" }, "CustomAMI": { "Type": "String", "Description": "\nExisting AMI in the deploy region which has all DC/OS pre-requisites installed or 'default'", "AllowedPattern": "(default|ami-[a-f0-9]{8})", "Default": "default" }, "PrivateAgentInstanceType": { "Default": "m3.xlarge", "Description": "\nRegion-specific instance type. E.g. m3.xlarge", "Type": "String" }, "MasterInstanceType": { "Default": "m3.xlarge", "Description": "\nRegion-specific instance type. E.g. m3.xlarge", "Type": "String" }, "PublicAgentInstanceType": { "Default": "m3.xlarge", "Description": "\nRegion-specific instance type. E.g. m3.xlarge", "Type": "String" }, "PublicAgentInstanceCount": { "Default": "5", "Description": "\nSpecify the number of public agent nodes or accept the default.", "Type": "Number" }, "PrivateSubnet": { "Description": "\nSubnet ID for use by all private agent nodes", "Type": "AWS::EC2::Subnet::Id" }, "KeyName": { "Description": "\nSpecify your AWS EC2 Key Pair.", "Type": "AWS::EC2::KeyPair::KeyName" }, "Vpc": { "Description": "\nExisting VPC to use. Nodes will be launched using subnets and Internet Gateway under this VPC", "Type": "AWS::EC2::VPC::Id" }, "PrivateAgentInstanceCount": { "Default": "5", "Description": "\nSpecify the number of private agent nodes or accept the default.", "Type": "Number" } }, "AWSTemplateFormatVersion": "2010-09-09", "Metadata": { "DcosImageCommit": "c1915a9f9f02caf7e34022eaea04f15ff853bd0e", "TemplateGenerationDate": "2016-08-11 01:33:47.857178" }, "Outputs": { "StackRef": { "Value": { "Ref": "MasterStack" } }, "OutputFromNestedStack": { "Value": { "Fn::GetAtt": [ "MasterStack", "Outputs.MasterDNSName" ] } } }, "Resources": { "Infrastructure": { "Type": "AWS::CloudFormation::Stack", "Properties": { "Parameters": { "PublicSubnet": { "Ref": "PublicSubnet" }, "InternetGateway": { "Ref": "InternetGateway" }, "AdminLocation": { "Ref": "AdminLocation" }, "KeyName": { "Ref": "KeyName" }, "Vpc": { "Ref": "Vpc" }, "PrivateSubnet": { "Ref": "PrivateSubnet" } }, "TimeoutInMinutes": "60", "TemplateURL": "https://s3-us-west-2.amazonaws.com/downloads.dcos.io/dcos/EarlyAccess/commit/c1915a9f9f02caf7e34022eaea04f15ff853bd0e/cloudformation/infra.json" } }, "MasterStack": { "Type": "AWS::CloudFormation::Stack", "DependsOn": [ "Infrastructure" ], "Properties": { "Parameters": { "PublicSubnet": { "Ref": "PublicSubnet" }, "CustomAMI": { "Ref": "CustomAMI" }, "MasterSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.MasterSecurityGroupId" ] }, "MasterInstanceType": { "Ref": "MasterInstanceType" }, "ExhibitorS3Bucket": { "Fn::GetAtt": [ "Infrastructure", "Outputs.ExhibitorS3BucketId" ] }, "PrivateAgentSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.PrivateAgentSecurityGroupId" ] }, "KeyName": { "Ref": "KeyName" }, "LbSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.LbSecurityGroupId" ] }, "AdminSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.AdminSecurityGroupId" ] }, "PublicAgentSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.PublicAgentSecurityGroupId" ] }, "PrivateSubnet": { "Ref": "PrivateSubnet" } }, "TimeoutInMinutes": "60", "TemplateURL": "https://s3-us-west-2.amazonaws.com/downloads.dcos.io/dcos/EarlyAccess/commit/c1915a9f9f02caf7e34022eaea04f15ff853bd0e/cloudformation/coreos-advanced-master-3.json" } }, "PrivateAgentStack": { "Type": "AWS::CloudFormation::Stack", "DependsOn": [ "Infrastructure", "MasterStack" ], "Properties": { "Parameters": { "CustomAMI": { "Ref": "CustomAMI" }, "PrivateAgentSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.PrivateAgentSecurityGroupId" ] }, "KeyName": { "Ref": "KeyName" }, "PrivateAgentInstanceType": { "Ref": "PrivateAgentInstanceType" }, "PrivateAgentInstanceCount": { "Ref": "PrivateAgentInstanceCount" }, "PrivateSubnet": { "Ref": "PrivateSubnet" }, "InternalMasterLoadBalancerDnsName": { "Fn::GetAtt": [ "MasterStack", "Outputs.InternalMasterLoadBalancerDnsName" ] } }, "TimeoutInMinutes": "60", "TemplateURL": "https://s3-us-west-2.amazonaws.com/downloads.dcos.io/dcos/EarlyAccess/commit/c1915a9f9f02caf7e34022eaea04f15ff853bd0e/cloudformation/coreos-advanced-priv-agent.json" } }, "PublicAgentStack": { "Type": "AWS::CloudFormation::Stack", "DependsOn": [ "Infrastructure", "MasterStack" ], "Properties": { "Parameters": { "PublicSubnet": { "Ref": "PublicSubnet" }, "CustomAMI": { "Ref": "CustomAMI" }, "KeyName": { "Ref": "KeyName" }, "PublicAgentSecurityGroup": { "Fn::GetAtt": [ "Infrastructure", "Outputs.PublicAgentSecurityGroupId" ] }, "PublicAgentInstanceType": { "Ref": "PublicAgentInstanceType" }, "PublicAgentInstanceCount": { "Ref": "PublicAgentInstanceCount" }, "InternalMasterLoadBalancerDnsName": { "Fn::GetAtt": [ "MasterStack", "Outputs.InternalMasterLoadBalancerDnsName" ] } }, "TimeoutInMinutes": "60", "TemplateURL": "https://s3-us-west-2.amazonaws.com/downloads.dcos.io/dcos/EarlyAccess/commit/c1915a9f9f02caf7e34022eaea04f15ff853bd0e/cloudformation/coreos-advanced-pub-agent.json" } } } }