Skip to content
This repository was archived by the owner on Oct 4, 2024. It is now read-only.

Commit 1836425

Browse files
Merge pull request #1 from trend-scottb/develop
Commit of v3.4 of Trend quick start
2 parents c173439 + 3614a85 commit 1836425

33 files changed

+5635
-1872
lines changed
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
{
2+
"AWSTemplateFormatVersion" : "2010-09-09",
3+
"Description" : "v2016-01-08: This template is an abstraction layer for choosing Oracle or MSSQL when deploying Deep Security Manager",
4+
"Parameters" : {
5+
"DBIRDSInstanceSize" : {
6+
"Default" : "db.m3.large",
7+
"Description" : "Trend Micro Deep Security Database instance class",
8+
"Type" : "String",
9+
"AllowedValues" : [
10+
"db.m4.medium",
11+
"db.m4.large",
12+
"db.m4.xlarge",
13+
"db.m4.2xlarge",
14+
"db.m3.medium",
15+
"db.m3.large",
16+
"db.m3.xlarge",
17+
"db.m3.2xlarge",
18+
"db.m2.xlarge",
19+
"db.r3.large",
20+
"db.r3.xlarge",
21+
"db.r3.2xlarge",
22+
"db.r3.4xlarge",
23+
"db.r3.8xlarge",
24+
"db.m2.2xlarge",
25+
"db.m2.4xlarge",
26+
"db.m1.medium",
27+
"db.m1.large",
28+
"db.m1.xlarge"
29+
],
30+
"ConstraintDescription" : "must select a valid database instance type."
31+
},
32+
"DBIStorageAllocation" : {
33+
"Default" : 10,
34+
"Description" : "The Storage Allocated to Database Instance (in GB). Minimum 200 for SQL Server, 10 for Oracle.",
35+
"Type" : "Number",
36+
"MinValue" : 10,
37+
"MaxValue" : 3072,
38+
"ConstraintDescription" : "must be between 10 and 3072Gb."
39+
},
40+
"DBPBackupDays" : {
41+
"Default" : 1,
42+
"Description" : "Days to keep automatic RDS backups (0-35)",
43+
"Type" : "Number",
44+
"MinValue" : 0,
45+
"MaxValue" : 35,
46+
"ConstraintDescription" : "must be between 0 and 35 days."
47+
},
48+
"DBICAdminName" : {
49+
"Default" : "dsadmin",
50+
"NoEcho" : false,
51+
"Description" : "Admin account username to be used for the database instance",
52+
"Type" : "String",
53+
"MinLength" : 1,
54+
"MaxLength" : 16,
55+
"AllowedPattern" : "[a-zA-Z][a-zA-Z0-9]*",
56+
"ConstraintDescription" : "must begin with a letter and contain only alphanumeric characters."
57+
},
58+
"DBICAdminPassword" : {
59+
"NoEcho" : true,
60+
"Description" : "Password to be used for the database admin account. 8-41 alphanumeric characters",
61+
"Type" : "String",
62+
"MinLength" : 8,
63+
"MaxLength" : 41,
64+
"AllowedPattern" : "[a-zA-Z0-9!^*\\-_+]*",
65+
"ConstraintDescription" : "Can only contain alphanumeric characters or the following special characters !^*-_+ Min length 8, max length 41"
66+
},
67+
"DBPName" : {
68+
"Default" : "dsm",
69+
"Description" : "Name to be assigned to the database",
70+
"Type" : "String",
71+
"MinLength" : 1,
72+
"MaxLength" : 64,
73+
"AllowedPattern" : "[a-zA-Z][a-zA-Z0-9]*",
74+
"ConstraintDescription" : "must begin with a letter and contain only alphanumeric characters."
75+
},
76+
"StorageType" : {
77+
"Default" : "gp2",
78+
"Type" : "String"
79+
},
80+
"RDSSG" : {
81+
"Type" : "AWS::EC2::SecurityGroup::Id"
82+
},
83+
"DBPEngine" : {
84+
"Description" : "Choose SQL or Oracle for DSM database Engine",
85+
"Type" : "String",
86+
"Default" : "SQL",
87+
"AllowedValues" : [
88+
"SQL",
89+
"Oracle"
90+
]
91+
},
92+
"MultiAZ": {
93+
"Description": "Use Multi-AZ or SQL Mirroring Option Group for RDS Instance",
94+
"Type" : "String",
95+
"AllowedValues" : [
96+
"true",
97+
"false"
98+
],
99+
"Default" : "false"
100+
},
101+
"DBIInstanceIdentifier" : {
102+
"Description" : "Choose RDS Instance ID",
103+
"Type" : "String"
104+
},
105+
"DBISubnetGroupName" : {
106+
"Type" : "String",
107+
"Default" : ""
108+
},
109+
"DBISubnet1" : {
110+
"Description" : "Choose a private subnets in the same VPC for the RDS instance",
111+
"Type" : "AWS::EC2::Subnet::Id",
112+
"ConstraintDescription" : "RDS Subnet Groups must be comprised of 2 subnets in seperate availability zones with the specified VPC for deploying this template"
113+
},
114+
"DBISubnet2" : {
115+
"Description" : "Choose private subnets in the same VPC for this RDS instance",
116+
"Type" : "AWS::EC2::Subnet::Id",
117+
"ConstraintDescription" : "RDS Subnet Groups must be comprised of 2 subnets in seperate availability zones with the specified VPC for deploying this template"
118+
},
119+
"CfnUrlPrefix" : {
120+
"Type" : "String",
121+
"Default" : "https://s3.amazonaws.com/trend-micro-quick-start/v3.4/"
122+
}
123+
},
124+
"Resources" : {
125+
"DSOracleRDS" : {
126+
"Type" : "AWS::CloudFormation::Stack",
127+
"Condition" : "DBTypeIsOracle",
128+
"Properties" : {
129+
"TemplateURL" : {
130+
"Fn::Join" : [
131+
"",
132+
[
133+
{ "Ref" : "CfnUrlPrefix" },
134+
"Common/DB/DSDBOracleRDS.template"
135+
]
136+
]
137+
},
138+
"TimeoutInMinutes" : "10",
139+
"Parameters" : {
140+
"DBIRDSInstanceSize" : {
141+
"Ref" : "DBIRDSInstanceSize"
142+
},
143+
"DBIStorageAllocation" : {
144+
"Ref" : "DBIStorageAllocation"
145+
},
146+
"DBPBackupDays" : {
147+
"Ref" : "DBPBackupDays"
148+
},
149+
"DBICAdminName" : {
150+
"Ref" : "DBICAdminName"
151+
},
152+
"DBICAdminPassword" : {
153+
"Ref" : "DBICAdminPassword"
154+
},
155+
"DBPName" : {
156+
"Ref" : "DBPName"
157+
},
158+
"RDSSG" : {
159+
"Ref" : "RDSSG"
160+
},
161+
"DBIInstanceIdentifier" : { "Ref" : "DBIInstanceIdentifier" },
162+
"DBISubnetGroupName" : { "Ref" : "DBISubnetGroup" },
163+
"MultiAZ" : { "Ref" : "MultiAZ" }
164+
}
165+
}
166+
},
167+
"DSSQLRDS" : {
168+
"Type" : "AWS::CloudFormation::Stack",
169+
"Condition" : "DBTypeIsSQL",
170+
"Properties" : {
171+
"TemplateURL" : {
172+
"Fn::Join" : [
173+
"",
174+
[
175+
{ "Ref" : "CfnUrlPrefix" },
176+
"Common/DB/DSDBSQLRDS.template"
177+
]
178+
]
179+
},
180+
"TimeoutInMinutes" : "10",
181+
"Parameters" : {
182+
"DBIRDSInstanceSize" : {
183+
"Ref" : "DBIRDSInstanceSize"
184+
},
185+
"DBIStorageAllocation" : {
186+
"Ref" : "DBIStorageAllocation"
187+
},
188+
"DBPBackupDays" : {
189+
"Ref" : "DBPBackupDays"
190+
},
191+
"DBICAdminName" : {
192+
"Ref" : "DBICAdminName"
193+
},
194+
"DBICAdminPassword" : {
195+
"Ref" : "DBICAdminPassword"
196+
},
197+
"DBPName" : {
198+
"Ref" : "DBPName"
199+
},
200+
"RDSSG" : {
201+
"Ref" : "RDSSG"
202+
},
203+
"DBIInstanceIdentifier" : { "Ref" : "DBIInstanceIdentifier" },
204+
"DBISubnetGroupName" : { "Ref" : "DBISubnetGroup" },
205+
"MultiAZ" : { "Ref" : "MultiAZ" }
206+
}
207+
}
208+
},
209+
"DBISubnetGroup" : {
210+
"Type" : "AWS::RDS::DBSubnetGroup",
211+
"Properties" : {
212+
"DBSubnetGroupDescription" : "DeepSecurityRDSSubnetGroup",
213+
"SubnetIds" : [ { "Ref" : "DBISubnet1" }, { "Ref" : "DBISubnet2" } ]
214+
}
215+
}
216+
},
217+
"Conditions" : {
218+
"DBTypeIsOracle" : {
219+
"Fn::Equals" : [
220+
{
221+
"Ref" : "DBPEngine"
222+
},
223+
"Oracle"
224+
]
225+
},
226+
"DBTypeIsSQL" : {
227+
"Fn::Equals" : [
228+
{
229+
"Ref" : "DBPEngine"
230+
},
231+
"SQL"
232+
]
233+
}
234+
235+
},
236+
"Outputs" : {
237+
"DSDBEndpoint" : {
238+
"Value" : {
239+
"Fn::If" : [
240+
"DBTypeIsOracle",
241+
{
242+
"Fn::GetAtt" : [
243+
"DSOracleRDS",
244+
"Outputs.DSDBEndpoint"
245+
]
246+
},
247+
{
248+
"Fn::GetAtt" : [
249+
"DSSQLRDS",
250+
"Outputs.DSDBEndpoint"
251+
]
252+
}
253+
]
254+
}
255+
},
256+
"DSDBPort" : {
257+
"Value" : {
258+
"Fn::If" : [
259+
"DBTypeIsOracle",
260+
{
261+
"Fn::GetAtt" : [
262+
"DSOracleRDS",
263+
"Outputs.DSDBPort"
264+
]
265+
},
266+
{
267+
"Fn::GetAtt" : [
268+
"DSSQLRDS",
269+
"Outputs.DSDBPort"
270+
]
271+
}
272+
]
273+
}
274+
}
275+
}
276+
}

0 commit comments

Comments
 (0)