From 1441087e5c47a982468fc608a9a437bbba8c9d11 Mon Sep 17 00:00:00 2001 From: Declan Shanaghy Date: Mon, 15 Aug 2016 10:57:40 -0700 Subject: [PATCH] Add S3 parsing for CloudFormation --- moto/cloudformation/parsing.py | 2 ++ moto/s3/models.py | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/moto/cloudformation/parsing.py b/moto/cloudformation/parsing.py index f569f6a8..690b9563 100644 --- a/moto/cloudformation/parsing.py +++ b/moto/cloudformation/parsing.py @@ -14,6 +14,7 @@ from moto.kms import models as kms_models from moto.rds import models as rds_models from moto.redshift import models as redshift_models from moto.route53 import models as route53_models +from moto.s3 import models as s3_models from moto.sns import models as sns_models from moto.sqs import models as sqs_models from .utils import random_suffix @@ -57,6 +58,7 @@ MODEL_MAP = { "AWS::Route53::RecordSet": route53_models.RecordSet, "AWS::Route53::RecordSetGroup": route53_models.RecordSetGroup, "AWS::SNS::Topic": sns_models.Topic, + "AWS::S3::Bucket": s3_models.FakeBucket, "AWS::SQS::Queue": sqs_models.Queue, } diff --git a/moto/s3/models.py b/moto/s3/models.py index ec1ac46d..e9afa617 100644 --- a/moto/s3/models.py +++ b/moto/s3/models.py @@ -288,6 +288,16 @@ class FakeBucket(object): def set_acl(self, acl): self.acl = acl + @property + def physical_resource_id(self): + return self.name + + @classmethod + def create_from_cloudformation_json( + cls, resource_name, cloudformation_json, region_name): + bucket = s3_backend.create_bucket(resource_name, region_name) + return bucket + class S3Backend(BaseBackend):