Skip to content

Instantly share code, notes, and snippets.

@ramarnat
Created February 27, 2011 22:52
Show Gist options
  • Select an option

  • Save ramarnat/846656 to your computer and use it in GitHub Desktop.

Select an option

Save ramarnat/846656 to your computer and use it in GitHub Desktop.
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description" : "elasticBI - Vertica Edition",
"Parameters": {
"RunList": {
"Default": "role[vertica_4_1_6]",
"Description" : "Chef Run List",
"Type": "String"
},
"KeyName": {
"Description" : "Name of an existing EC2 KeyPair to enable SSH access",
"Type": "String"
},
"InstanceType": {
"Default": "m1.large",
"Description" : "The type of EC2 instances used for the server",
"Type": "String"
}
},
"Resources": {
"EC2SecurityGroup": {
"Properties": {
"SecurityGroupIngress": [
{
"FromPort": "22",
"CidrIp": "0.0.0.0/0",
"ToPort": "22",
"IpProtocol": "tcp"
}
],
"GroupDescription": "SSH access"
},
"Type": "AWS::EC2::SecurityGroup"
},
"Ec2Instance": {
"Properties": {
"SecurityGroups": [
{
"Ref": "EC2SecurityGroup"
}
],
"ImageId": {
"Fn::FindInMap": [
"AWSRegionArch2AMI",
{
"Ref": "AWS::Region"
},
{
"Fn::FindInMap": [
"AWSInstanceType2Arch",
{
"Ref": "InstanceType"
},
"Arch"
]
}
]
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
<%= bootstrap_script.to_json %>,
"(\ncat <<'EOP'\n{\"run_list\":\"",
{"Ref": "RunList"},
"\"}\nEOP\n) > /etc/chef/first-boot.json\n\n/usr/bin/chef-client -j /etc/chef/first-boot.json\n"
]
]
}
},
"KeyName": {
"Ref": "KeyName"
},
"InstanceType": {
"Ref": "InstanceType"
}
},
"Type": "AWS::EC2::Instance"
}
},
"Description": "Elastic BI",
"Mappings": {
"AWSInstanceType2Arch" : {
"m1.large" : { "Arch" : "64" },
"m1.xlarge" : { "Arch" : "64" },
"m2.xlarge" : { "Arch" : "64" },
"m2.2xlarge" : { "Arch" : "64" },
"m2.4xlarge" : { "Arch" : "64" },
"c1.xlarge" : { "Arch" : "64" },
"cc1.4xlarge" : { "Arch" : "64" }
},
"AWSRegionArch2AMI" : {
"us-east-1" : { "64" : "ami-3227d65b" }
}
},
"Outputs" : {
"InstanceId" : {
"Description" : "InstanceId of the newly created EC2 instance",
"Value" : { "Ref" : "Ec2Instance" }
},
"AZ" : {
"Description" : "Availability Zone of the newly created EC2 instance",
"Value" : { "Fn::GetAtt" : [ "Ec2Instance", "AvailabilityZone" ] }
},
"PublicIP" : {
"Description" : "Public IP address of the newly created EC2 instance",
"Value" : { "Fn::GetAtt" : [ "Ec2Instance", "PublicIp" ] }
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment