Advertisement
Guest User

Untitled

a guest
Jul 18th, 2017
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.91 KB | None | 0 0
  1. {
  2. "AWSTemplateFormatVersion": "2010-09-09",
  3.  
  4. "Description": "Database Stack. Version %TEMPLATE-VERSION%",
  5.  
  6. "Parameters": {
  7.  
  8. "ParentStackName": {
  9. "Type": "String",
  10. "Description": "The Parent Stack Name"
  11. },
  12.  
  13. "InboundTraffic": {
  14. "Description": "Allow inbound traffic to the cluster from this CIDR range.",
  15. "Type": "String",
  16. "MinLength": "9",
  17. "MaxLength": "18",
  18. "Default": "0.0.0.0/0",
  19. "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
  20. "ConstraintDescription": "must be a valid CIDR range of the form x.x.x.x/x."
  21. },
  22.  
  23. "Username": {
  24. "Description": "The user name that is associated with the master user account for the cluster that is being created",
  25. "Type": "String",
  26. "Default": "root",
  27. "AllowedPattern": "([a-z])([a-z]|[0-9])*"
  28. },
  29.  
  30. "Password": {
  31. "Description": "The password that is associated with the master user account for the cluster that is being created.",
  32. "Type": "String",
  33. "Default": "TaeJ2eez",
  34. "NoEcho": "true"
  35. },
  36.  
  37. "RdsMysqlInstanceType": {
  38. "Description": "RdsMysqlInstanceType",
  39. "Type": "String",
  40. "Default": "db.t2.large",
  41. "ConstraintDescription": "Must be a valid instance type"
  42. },
  43.  
  44. "RdsAuroraPrimaryInstanceType": {
  45. "Description": "RdsAuroraPrimaryInstanceType",
  46. "Type": "String",
  47. "Default": "db.r3.large",
  48. "ConstraintDescription": "Must be a valid instance type"
  49. },
  50.  
  51. "RdsAuroraSecondaryInstanceType": {
  52. "Description": "RdsAuroraSecondaryInstanceType",
  53. "Type": "String",
  54. "Default": "db.t2.medium",
  55. "ConstraintDescription": "Must be a valid instance type"
  56. },
  57.  
  58. "RedshiftDatabaseName": {
  59. "Description": "The name of the first database to be created when the cluster is created",
  60. "Type": "String",
  61. "Default": "company",
  62. "AllowedPattern": "([a-z]|[0-9])+"
  63. },
  64.  
  65. "RedshiftClusterType": {
  66. "Description": "The type of cluster",
  67. "Type": "String",
  68. "Default": "single-node",
  69. "AllowedValues": [ "single-node", "multi-node" ]
  70. },
  71.  
  72. "RedshiftNumberOfNodes": {
  73. "Description": "The number of compute nodes in the cluster. For multi-node clusters, the NumberOfNodes parameter must be greater than 1",
  74. "Type": "Number",
  75. "Default": "1"
  76. },
  77.  
  78. "RedshiftNodeType": {
  79. "Description": "The type of node to be provisioned",
  80. "Type": "String",
  81. "Default": "ds2.xlarge"
  82. },
  83.  
  84. "RedshiftPortNumber": {
  85. "Description": "The port number on which the cluster accepts incoming connections.",
  86. "Type": "Number",
  87. "Default": "5439"
  88. }
  89.  
  90. },
  91.  
  92. "Mappings": {
  93.  
  94. },
  95.  
  96. "Conditions": {
  97.  
  98. "IsMultiNodeCluster": {
  99. "Fn::Equals": [{ "Ref": "RedshiftClusterType" }, "multi-node" ]
  100. }
  101.  
  102. },
  103.  
  104. "Resources": {
  105.  
  106. "VPCId": {
  107. "Type": "AWS::EC2::VPC",
  108. "Properties": {
  109. "CidrBlock": "10.1.0.0/16",
  110. "EnableDnsSupport": "true",
  111. "EnableDnsHostnames": "true",
  112. "Tags": [
  113. { "Key": "Name", "Value": { "Ref": "AWS::StackName" } },
  114. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } }
  115. ]
  116. }
  117. },
  118.  
  119. "VPCRouteTable": {
  120. "Type": "AWS::EC2::RouteTable",
  121. "Properties": {
  122. "VpcId": { "Ref": "VPCId" },
  123. "Tags": [
  124. { "Key": "Name", "Value": { "Ref": "AWS::StackName" } },
  125. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } }
  126. ]
  127. }
  128. },
  129.  
  130. "VPCInternetGateway": {
  131. "Type": "AWS::EC2::InternetGateway",
  132. "Properties": {
  133. "Tags": [
  134. { "Key": "Name", "Value": { "Ref": "AWS::StackName" } },
  135. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } }
  136. ]
  137. }
  138. },
  139.  
  140. "VPCInternetGatewayAttachment": {
  141. "Type": "AWS::EC2::VPCGatewayAttachment",
  142. "Properties": {
  143. "VpcId": { "Ref" : "VPCId" },
  144. "InternetGatewayId": { "Ref" : "VPCInternetGateway" }
  145. }
  146. },
  147.  
  148. "VPCInternetRoute": {
  149. "DependsOn" : "VPCInternetGatewayAttachment",
  150. "Type": "AWS::EC2::Route",
  151. "Properties": {
  152. "RouteTableId": { "Ref": "VPCRouteTable" },
  153. "DestinationCidrBlock": "0.0.0.0/0",
  154. "GatewayId": { "Ref": "VPCInternetGateway" }
  155. }
  156. },
  157.  
  158. "Subnet5": {
  159. "Type": "AWS::EC2::Subnet",
  160. "Properties": {
  161. "AvailabilityZone": { "Fn::Select": [ "0", { "Fn::GetAZs": { "Ref": "AWS::Region" } } ] },
  162. "CidrBlock": "10.1.105.0/27",
  163. "VpcId": { "Ref": "VPCId" },
  164. "Tags": [
  165. { "Key": "Name", "Value": "name" },
  166. { "Key": "Fleet", "Value": "fleet" },
  167. { "Key": "Company", "Value": "company" },
  168. { "Key": "Stack", "Value": "stack" },
  169. { "Key": "Environment", "Value": "environment" },
  170. { "Key": "Role", "Value": "role" },
  171. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  172. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  173. ]
  174. }
  175. },
  176.  
  177. "Subnet532": {
  178. "Type": "AWS::EC2::Subnet",
  179. "Properties": {
  180. "AvailabilityZone": { "Fn::Select": [ "1", { "Fn::GetAZs": { "Ref": "AWS::Region" } } ] },
  181. "CidrBlock": "10.1.105.32/27",
  182. "VpcId": { "Ref": "VPCId" },
  183. "Tags": [
  184. { "Key": "Name", "Value": "name" },
  185. { "Key": "Fleet", "Value": "fleet" },
  186. { "Key": "Company", "Value": "company" },
  187. { "Key": "Stack", "Value": "stack" },
  188. { "Key": "Environment", "Value": "environment" },
  189. { "Key": "Role", "Value": "role" },
  190. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  191. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  192. ]
  193. }
  194. },
  195.  
  196. "Subnet564": {
  197. "Type": "AWS::EC2::Subnet",
  198. "Properties": {
  199. "AvailabilityZone": { "Fn::Select": [ "2", { "Fn::GetAZs": { "Ref": "AWS::Region" } } ] },
  200. "CidrBlock": "10.1.105.64/27",
  201. "VpcId": { "Ref": "VPCId" },
  202. "Tags": [
  203. { "Key": "Name", "Value": "name" },
  204. { "Key": "Fleet", "Value": "fleet" },
  205. { "Key": "Company", "Value": "company" },
  206. { "Key": "Stack", "Value": "stack" },
  207. { "Key": "Environment", "Value": "environment" },
  208. { "Key": "Role", "Value": "role" },
  209. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  210. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  211. ]
  212. }
  213. },
  214.  
  215. "Subnet5RouteTableAssociation": {
  216. "Type": "AWS::EC2::SubnetRouteTableAssociation",
  217. "Properties": {
  218. "SubnetId": { "Ref": "Subnet5" },
  219. "RouteTableId": { "Ref": "VPCRouteTable" }
  220. }
  221. },
  222.  
  223. "Subnet532RouteTableAssociation": {
  224. "Type": "AWS::EC2::SubnetRouteTableAssociation",
  225. "Properties": {
  226. "SubnetId": { "Ref": "Subnet532" },
  227. "RouteTableId": { "Ref": "VPCRouteTable" }
  228. }
  229. },
  230.  
  231. "Subnet564RouteTableAssociation": {
  232. "Type": "AWS::EC2::SubnetRouteTableAssociation",
  233. "Properties": {
  234. "SubnetId": { "Ref": "Subnet564" },
  235. "RouteTableId": { "Ref": "VPCRouteTable" }
  236. }
  237. },
  238.  
  239. "SubnetGroup": {
  240. "Type": "AWS::RDS::DBSubnetGroup",
  241. "Properties": {
  242. "DBSubnetGroupDescription": "SubnetGroup",
  243. "SubnetIds": [
  244. { "Ref": "Subnet5" },
  245. { "Ref": "Subnet532" },
  246. { "Ref": "Subnet564" }
  247. ],
  248. "Tags": [
  249. { "Key": "Name", "Value": "name" },
  250. { "Key": "Fleet", "Value": "fleet" },
  251. { "Key": "Company", "Value": "company" },
  252. { "Key": "Stack", "Value": "stack" },
  253. { "Key": "Environment", "Value": "environment" },
  254. { "Key": "Role", "Value": "role" },
  255. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  256. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  257. ]
  258. }
  259. },
  260.  
  261. "RdsSecurityGroup" : {
  262. "Type": "AWS::EC2::SecurityGroup",
  263. "Properties": {
  264. "GroupDescription": "RdsSecurityGroup",
  265. "VpcId": { "Ref": "VPCId" },
  266. "SecurityGroupEgress": [],
  267. "SecurityGroupIngress": [
  268. { "IpProtocol": "tcp", "FromPort": "3306", "ToPort": "3306", "CidrIp": { "Ref": "InboundTraffic" } }
  269. ],
  270. "Tags": [
  271. { "Key": "Name", "Value": "name" },
  272. { "Key": "Fleet", "Value": "fleet" },
  273. { "Key": "Company", "Value": "company" },
  274. { "Key": "Stack", "Value": "stack" },
  275. { "Key": "Environment", "Value": "environment" },
  276. { "Key": "Role", "Value": "role" },
  277. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  278. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  279. ]
  280. }
  281. },
  282.  
  283. "RdsMysqlParameterGroup" : {
  284. "Type" : "AWS::RDS::DBParameterGroup",
  285. "Properties" : {
  286. "Description" : "Rds ParameterGroup",
  287. "Family" : "MySQL5.6",
  288. "Parameters" : {
  289. "binlog_format": "ROW",
  290. "character_set_server": "utf8",
  291. "interactive_timeout": "180",
  292. "log_bin_trust_function_creators": "1",
  293. "log_queries_not_using_indexes": "0",
  294. "long_query_time": "8",
  295. "slow_query_log": "1",
  296. "wait_timeout": "180",
  297. "innodb_print_all_deadlocks": "1"
  298. }
  299. }
  300. },
  301.  
  302. "RdsMysqlInstance": {
  303. "Type": "AWS::RDS::DBInstance",
  304. "Properties": {
  305. "Engine": "MySQL",
  306. "EngineVersion": "5.6",
  307. "DBInstanceIdentifier": "company-stack-environment-role",
  308. "DBParameterGroupName": { "Ref": "RdsMysqlParameterGroup" },
  309. "DBSubnetGroupName": { "Ref" : "SubnetGroup" },
  310. "VPCSecurityGroups": [ { "Ref": "RdsSecurityGroup" } ],
  311. "MasterUsername": { "Ref": "Username" },
  312. "DBInstanceClass": { "Ref": "RdsMysqlInstanceType" },
  313. "AllocatedStorage": "100",
  314. "MasterUserPassword": { "Ref": "Password" },
  315. "Tags": [
  316. { "Key": "Name", "Value": "name" },
  317. { "Key": "Fleet", "Value": "fleet" },
  318. { "Key": "Company", "Value": "company" },
  319. { "Key": "Stack", "Value": "stack" },
  320. { "Key": "Environment", "Value": "environment" },
  321. { "Key": "Role", "Value": "role" },
  322. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  323. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  324. ]
  325. },
  326. "DeletionPolicy": "Snapshot"
  327. },
  328.  
  329. "RdsAuroraClusterFromSnapshot": {
  330. "Type": "AWS::RDS::DBCluster",
  331. "Properties": {
  332. "Engine": "aurora",
  333. "DBSubnetGroupName": { "Ref": "SubnetGroup" },
  334. "DBClusterParameterGroupName": { "Ref": "RdsAuroraClusterParameterGroup" },
  335. "SnapshotIdentifier": "rds:company-stack-environment-role-2017-07-18-06-00"
  336. },
  337. "DeletionPolicy": "Snapshot"
  338. },
  339.  
  340. "RdsAuroraPrimaryInstance": {
  341. "DependsOn": "RdsAuroraParameterGroup",
  342. "Type": "AWS::RDS::DBInstance",
  343. "Properties": {
  344. "DBSubnetGroupName": { "Ref": "SubnetGroup" },
  345. "DBParameterGroupName": { "Ref": "RdsAuroraParameterGroup" },
  346. "Engine": "aurora",
  347. "DBClusterIdentifier": { "Ref": "RdsAuroraClusterFromSnapshot" },
  348. "PubliclyAccessible": "false",
  349. "AvailabilityZone": { "Fn::GetAtt": [ "Subnet5", "AvailabilityZone" ] },
  350. "DBInstanceClass": { "Ref": "RdsAuroraPrimaryInstance" },
  351. "Tags": [
  352. { "Key": "Name", "Value": "name" },
  353. { "Key": "Fleet", "Value": "fleet" },
  354. { "Key": "Company", "Value": "company" },
  355. { "Key": "Stack", "Value": "stack" },
  356. { "Key": "Environment", "Value": "environment" },
  357. { "Key": "Role", "Value": "role" },
  358. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  359. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  360. ]
  361. }
  362. },
  363.  
  364. "RdsAuroraSecondaryInstance": {
  365. "DependsOn": "RdsAuroraPrimaryInstance",
  366. "Type": "AWS::RDS::DBInstance",
  367. "Properties": {
  368. "DBSubnetGroupName": { "Ref": "SubnetGroup" },
  369. "DBParameterGroupName": { "Ref": "RdsAuroraParameterGroup" },
  370. "Engine": "aurora",
  371. "DBClusterIdentifier": { "Ref": "RdsAuroraClusterFromSnapshot" },
  372. "PubliclyAccessible": "false",
  373. "AvailabilityZone": { "Fn::GetAtt": [ "Subnet532", "AvailabilityZone" ] },
  374. "DBInstanceClass": { "Ref": "RdsAuroraSecondaryInstance" },
  375. "Tags": [
  376. { "Key": "Name", "Value": "name" },
  377. { "Key": "Fleet", "Value": "fleet" },
  378. { "Key": "Company", "Value": "company" },
  379. { "Key": "Stack", "Value": "stack" },
  380. { "Key": "Environment", "Value": "environment" },
  381. { "Key": "Role", "Value": "role" },
  382. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  383. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  384. ]
  385. }
  386. },
  387.  
  388. "RdsAuroraClusterParameterGroup": {
  389. "Type": "AWS::RDS::DBClusterParameterGroup",
  390. "Properties": {
  391. "Description": "RdsAuroraClusterParameterGroup",
  392. "Family": "aurora5.6",
  393. "Parameters": {
  394. "time_zone": "UTC"
  395. }
  396. }
  397. },
  398.  
  399. "RdsAuroraParameterGroup": {
  400. "Type": "AWS::RDS::DBParameterGroup",
  401. "Properties": {
  402. "Description": "RdsAuroraParameterGroup",
  403. "Family": "aurora5.6",
  404. "Parameters": {
  405. "sql_mode": "IGNORE_SPACE",
  406. "performance_schema": "1",
  407. "interactive_timeout": "180",
  408. "log_bin_trust_function_creators": "1",
  409. "log_queries_not_using_indexes": "0",
  410. "long_query_time": "1",
  411. "slow_query_log": "1",
  412. "wait_timeout": "180",
  413. "innodb_print_all_deadlocks": "1",
  414. "max_connect_errors": "10000"
  415. }
  416. }
  417. },
  418.  
  419. "RedshiftClusterSecurityGroup" : {
  420. "Type": "AWS::EC2::SecurityGroup",
  421. "Properties": {
  422. "GroupDescription": "RedshiftClusterSecurityGroup",
  423. "VpcId": { "Ref": "VPCId" },
  424. "SecurityGroupEgress": [],
  425. "SecurityGroupIngress": [
  426. { "IpProtocol": "tcp", "FromPort": "5439", "ToPort": "5439", "CidrIp": { "Ref": "InboundTraffic" } }
  427. ],
  428. "Tags": [
  429. { "Key": "Name", "Value": "name" },
  430. { "Key": "Fleet", "Value": "fleet" },
  431. { "Key": "Company", "Value": "company" },
  432. { "Key": "Stack", "Value": "stack" },
  433. { "Key": "Environment", "Value": "environment" },
  434. { "Key": "Role", "Value": "role" },
  435. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  436. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  437. ]
  438. }
  439. },
  440.  
  441. "RedshiftCluster": {
  442. "Type": "AWS::Redshift::Cluster",
  443. "DeletionPolicy": "Snapshot",
  444. "Properties": {
  445. "ClusterType": { "Ref": "RedshiftClusterType" },
  446. "NumberOfNodes": { "Fn::If": [ "IsMultiNodeCluster", { "Ref": "RedshiftNumberOfNodes" }, { "Ref": "AWS::NoValue" }]},
  447. "NodeType": { "Ref": "RedshiftNodeType" },
  448. "DBName": { "Ref": "RedshiftDatabaseName" },
  449. "MasterUsername": { "Ref": "Username" },
  450. "MasterUserPassword": { "Ref": "Password" },
  451. "ClusterParameterGroupName": { "Ref": "RedshiftClusterParameterGroup" },
  452. "ClusterSubnetGroupName": { "Ref": "SubnetGroup" },
  453. "VpcSecurityGroupIds": [ { "Ref": "RedshiftClusterSecurityGroup" } ],
  454. "PubliclyAccessible": "true",
  455. "Port": { "Ref": "RedshiftPortNumber" },
  456. "AllowVersionUpgrade": "true",
  457. "AutomatedSnapshotRetentionPeriod": "14"
  458. }
  459. },
  460.  
  461. "RedshiftClusterParameterGroup": {
  462. "Type": "AWS::Redshift::ClusterParameterGroup",
  463. "Properties": {
  464. "Description": "Cluster parameter group",
  465. "ParameterGroupFamily": "redshift-1.0",
  466. "Parameters": [{
  467. "ParameterName": "enable_user_activity_logging",
  468. "ParameterValue": "true"
  469. }]
  470. }
  471. },
  472.  
  473. "ElasticacheSecurityGroup": {
  474. "Type": "AWS::EC2::SecurityGroup",
  475. "Properties": {
  476. "GroupDescription": "ElasticacheSecurityGroup",
  477. "VpcId": { "Ref": "VPCId" },
  478. "SecurityGroupIngress": [
  479. { "IpProtocol": "tcp", "FromPort": "11211", "ToPort": "11211", "CidrIp": { "Ref": "InboundTraffic" } },
  480. { "IpProtocol": "tcp", "FromPort": "6379", "ToPort": "6379", "CidrIp": { "Ref": "InboundTraffic" } }
  481. ],
  482. "Tags": [
  483. { "Key": "Name", "Value": "name" },
  484. { "Key": "Fleet", "Value": "fleet" },
  485. { "Key": "Company", "Value": "company" },
  486. { "Key": "Stack", "Value": "stack" },
  487. { "Key": "Environment", "Value": "environment" },
  488. { "Key": "Role", "Value": "role" },
  489. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  490. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  491. ]
  492. }
  493. },
  494.  
  495. "ElasticacheMemcacheCluster": {
  496. "Type": "AWS::ElastiCache::CacheCluster",
  497. "Properties": {
  498. "AutoMinorVersionUpgrade": "true",
  499. "Engine": "memcached",
  500. "CacheNodeType": "cache.t2.micro",
  501. "NumCacheNodes": "1",
  502. "CacheSubnetGroupName": { "Ref": "SubnetGroup" },
  503. "VpcSecurityGroupIds": [{"Fn::GetAtt": [ "ElasticacheSecurityGroup", "GroupId"]}],
  504. "Tags": [
  505. { "Key": "Name", "Value": "name" },
  506. { "Key": "Fleet", "Value": "fleet" },
  507. { "Key": "Company", "Value": "company" },
  508. { "Key": "Stack", "Value": "stack" },
  509. { "Key": "Environment", "Value": "environment" },
  510. { "Key": "Role", "Value": "role" },
  511. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  512. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  513. ]
  514. }
  515. },
  516.  
  517. "ElasticacheRedisCluster": {
  518. "Type": "AWS::ElastiCache::CacheCluster",
  519. "Properties": {
  520. "CacheNodeType": "cache.t2.micro",
  521. "Engine": "redis",
  522. "NumCacheNodes": "1",
  523. "CacheSubnetGroupName": { "Ref": "SubnetGroup" },
  524. "VpcSecurityGroupIds": [{"Fn::GetAtt": [ "ElasticacheSecurityGroup", "GroupId"]}],
  525. "Tags": [
  526. { "Key": "Name", "Value": "name" },
  527. { "Key": "Fleet", "Value": "fleet" },
  528. { "Key": "Company", "Value": "company" },
  529. { "Key": "Stack", "Value": "stack" },
  530. { "Key": "Environment", "Value": "environment" },
  531. { "Key": "Role", "Value": "role" },
  532. { "Key": "CloudformationStack", "Value": { "Ref": "AWS::StackName" } },
  533. { "Key": "CloudformationParentStack", "Value": { "Ref": "ParentStackName" } }
  534. ]
  535. }
  536. }
  537.  
  538. },
  539.  
  540. "Outputs": {
  541.  
  542. "RdsAuroraCluster": {
  543. "Description": "RdsAuroraCluster",
  544. "Value": { "Fn::Join": [ "", [ "jdbc:mysql://", { "Fn::GetAtt": [ "RdsAuroraCluster", "Endpoint.Address" ] }, ":", { "Fn::GetAtt": [ "RdsAuroraCluster", "Endpoint.Port" ] }, "/", { "Ref": "RdsAuroraCluster" }]]}
  545. },
  546.  
  547. "RdsMysqlInstance": {
  548. "Description": "RdsMysqlInstance",
  549. "Value": { "Fn::Join": [ "", [ "jdbc:mysql://", { "Fn::GetAtt": [ "RdsMysqlInstance", "Endpoint.Address" ] }, ":", { "Fn::GetAtt": [ "RdsMysqlInstance", "Endpoint.Port" ] }, "/", { "Ref": "RdsMysqlInstance" }]]}
  550. },
  551.  
  552. "RedshiftCluster": {
  553. "Description": "RedshiftCluster",
  554. "Value": { "Fn::Join": [ ":", [ { "Fn::GetAtt": [ "RedshiftCluster", "Endpoint.Address" ] }, { "Fn::GetAtt": [ "RedshiftCluster", "Endpoint.Port" ] } ] ] }
  555. },
  556.  
  557. "ElasticacheMemcacheCluster": {
  558. "Description": "ElasticacheMemcacheCluster",
  559. "Value": {
  560. "Fn::GetAtt": [ "ElasticacheMemcacheCluster", "ConfigurationEndpoint.Address" ]
  561. }
  562. },
  563.  
  564. "ElasticacheRedisCluster": {
  565. "Description": "ElasticacheRedisCluster",
  566. "Value": {
  567. "Fn::GetAtt": [ "ElasticacheRedisCluster", "ConfigurationEndpoint.Address" ]
  568. }
  569. }
  570.  
  571. }
  572.  
  573. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement