Add support for Cloudformation Mappings.

This commit is contained in:
Steve Pulec 2015-01-07 22:32:51 -05:00
commit e05a061993
2 changed files with 65 additions and 8 deletions

View file

@ -652,3 +652,48 @@ def test_conditional_if_handling():
reservation = ec2_conn.get_all_instances()[0]
ec2_instance = reservation.instances[0]
ec2_instance.image_id.should.equal("ami-00000000")
@mock_cloudformation()
@mock_ec2()
def test_cloudformation_mapping():
dummy_template = {
"AWSTemplateFormatVersion": "2010-09-09",
"Mappings": {
"RegionMap": {
"us-east-1": {"32": "ami-6411e20d", "64": "ami-7a11e213"},
"us-west-1": {"32": "ami-c9c7978c", "64": "ami-cfc7978a"},
"eu-west-1": {"32": "ami-37c2f643", "64": "ami-31c2f645"},
"ap-southeast-1": {"32": "ami-66f28c34", "64": "ami-60f28c32"},
"ap-northeast-1": {"32": "ami-9c03a89d", "64": "ami-a003a8a1"}
}
},
"Resources": {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {
"Fn::FindInMap": ["RegionMap", {"Ref": "AWS::Region"}, "32"]
},
"InstanceType": "m1.small"
},
"Type": "AWS::EC2::Instance",
},
},
}
dummy_template_json = json.dumps(dummy_template)
conn = boto.cloudformation.connect_to_region("us-east-1")
conn.create_stack('test_stack1', template_body=dummy_template_json)
ec2_conn = boto.ec2.connect_to_region("us-east-1")
reservation = ec2_conn.get_all_instances()[0]
ec2_instance = reservation.instances[0]
ec2_instance.image_id.should.equal("ami-6411e20d")
conn = boto.cloudformation.connect_to_region("us-west-1")
conn.create_stack('test_stack1', template_body=dummy_template_json)
ec2_conn = boto.ec2.connect_to_region("us-west-1")
reservation = ec2_conn.get_all_instances()[0]
ec2_instance = reservation.instances[0]
ec2_instance.image_id.should.equal("ami-c9c7978c")