141 Commits

Author SHA1 Message Date
Jessie Nadler
c6603c6248 Validate export names are unique 2017-06-02 16:35:19 -04:00
Jessie Nadler
de9ea10eb1 Add list_exports to CloudFormationResponse 2017-06-02 16:31:46 -04:00
Jessie Nadler
a0651ccde5 Add exports to CloudFormationBackend 2017-06-02 16:18:52 -04:00
Waldemar Hummer
da7106cfd6 extended CloudFormation models for Lambda and DynamoDB 2017-06-01 22:43:23 +02:00
Steve Pulec
0fe824277b Merge pull request #923 from JackDanger/jack/cloud-formation-yaml
Allow yaml templates for cloud formation
2017-05-12 18:41:46 -04:00
Jack Danger Canty
9801d22629 The name of yaml exceptions is more consistent between Py2->3 2017-05-11 07:15:07 -07:00
Steve Pulec
0adebeed24 Merge #913. 2017-05-10 21:58:42 -04:00
Jack Danger Canty
bf3fff6e2c Allow yaml templates for cloud formation
Fixes #912
2017-05-01 11:28:35 -07:00
Andrew Garrett
6f4cb512ac Allow CloudFormation stack tags to be updated
Limitations:

* does not update the tags of the resources in the stack. that can be
implemented later.
* does not support the supposed feature of clearing tags by passing an
empty value that boto3 mentions in its documentation. I could not find
anything in the request body to indicate when an empty value was passed.
2017-03-17 23:57:57 +00:00
Steve Pulec
e3bff8b926 Fix cloudformation NoValue parsing to not add attribute. Closes #870 2017-03-16 21:20:01 -04:00
Steve Pulec
e25d1499c2 Update cloudformation for new list types. 2017-03-15 23:02:10 -04:00
Steve Pulec
5807a38092 Merge pull request #858 from spulec/dashboard
Add a dashboard
2017-03-12 20:26:42 -04:00
Steve Pulec
0e2fdf94f9 Cleanup lints. 2017-03-12 20:18:54 -04:00
Steve Pulec
6d422d1f37 Add BaseModel to all models. 2017-03-11 23:41:12 -05:00
Steve Pulec
3b4ef2cf15 Merge in master. 2017-03-05 09:58:39 -05:00
Andrew Garrett
e7735c3ee1 Add event IDs to CF Stack events (#852)
So that events can be uniquely identified.

I tried to match the format documented here:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-listing-event-history.html
2017-03-04 23:12:55 -05:00
Andrew Garrett
f6465df630 Return CF Stack events in reverse chronological order (#853)
This is how the AWS API works:
http://boto3.readthedocs.io/en/latest/reference/services/cloudformation.html#CloudFormation.Client.describe_stack_events
2017-03-04 23:00:25 -05:00
David Wilcox
a9554924df make cloudformation update stack use parameters provided (#843) 2017-03-04 22:48:51 -05:00
David Wilcox
bcc3e57949 Cloudformation ResourceMaps incorrectly share namespaces for Conditions and Resources (#828)
* add tests to check CF's conditions and resources have distinct namespace

* separate the resource and condition namespaces for CF
2017-03-04 22:26:23 -05:00
Steve Pulec
3c0c4c2996 Fix tests for py3. 2017-02-23 22:28:09 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
81836b6981 Get standalone server mode working for all tests. 2017-02-23 19:43:48 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Steve Pulec
d3df810065 Generalize decorator code. 2017-02-12 00:22:29 -05:00
Jesse Szwedko
e1260bca06 cloudformation: Support RoleARN for create and update stack (#807)
Signed-off-by: Andrew Harris <andrew.harris@getbraintree.com>
2017-01-18 22:59:47 -05:00
Michael Nussbaum
74bbd9c8e5 Various RDS, RDS/Cloudformation, RDS/KMS improvements. (#789)
We need to mock out deploying RDS instances with full disk encryption
and detailed tagging. We also need to be able do deploy these instances
with Cloudformation, and then access them with both boto and boto3.

* Join RDS and RDS2 backends - this makes RDS resources created via
  either of the two boto RDS APIs visible to both, more closely
  mirroring how AWS works
* Fix RDS responses that were returning JSON but should be returning XML
* Add mocking of RDS Cloudformation calls
* Add mocking of RDS full disk encryption with KMS
* Add mocking of RDS DBParameterGroups
* Fix mocking of RDS DBSecurityGroupIngress rules
* Make mocking of RDS OptionGroupOptions more accurate
* Fix mocking of RDS cross-region DB replication
* Add RDS tag support to:
  * DBs
  * DBSubnetGroups
  * DBSecurityGroups

Signed-off-by: Andrew Garrett <andrew.garrett@getbraintree.com>
2017-01-11 21:02:51 -05:00
Andrew Garrett
231d3cadcb Fix the CloudFormation ValidationError message (#788)
It should be a string, not a tuple, and it has a different form.
I'm not sure if it used to be different, but in the most recent
boto3/botocore, the message is "Stack with id {id} does not exist"

```python
>>> cf = boto3.client('cloudformation', region_name='us-west-2')
>>> try:
...     cf.describe_stacks(StackName='adfgfhghg')
... except botocore.exceptions.ClientError as e:
...     print e.response['Error']['Message']
...
Stack with id adfgfhghg does not exist
```

I am on boto3 1.4.2 and botocore 1.4.82 as of this commit message.
2017-01-11 20:36:45 -05:00
Hugo Lopes Tavares
0115267f2a Add ECS CloudFormation support (#795)
* Add cloudformation support to AWS::ECS::Cluster

* Add CloudFormation support to AWS::ECS::TaskDefinition

* Add CloudFormation support to AWS::ECS::Service

* Add support to update AWS::ECS::Cluster through CloudFormation

* Fix Cluster.update_from_cloudformation_json to return original_resource if nothing changed

* Implement TaskDefinition.update_from_cloudformation_json

* Implement Service.update_from_cloudformation_json
2016-12-20 10:37:18 -05:00
David Wilcox
4ea915fc3a Update Cloudformation/parsing#load_parameters to split commadelimitedlists into lists (#774) 2016-11-23 18:57:47 -06:00
Steve Pulec
5371044b6f Spot fleet (#760)
* initial spot fleet.

* Add cloudformation spot fleet support.

* If no spot fleet ids, return all.
2016-11-07 09:53:44 -05:00
Declan Shanaghy
1441087e5c Add S3 parsing for CloudFormation 2016-08-15 10:57:40 -07:00
Andrew Garrett
542248158f Implement the meat for DescribeStackEvents
Right now this just adds events for the stack itself via the lifecycle
methods of the FakeStack object, but it is possible to add other kinds
of events (I left a method for that should someone need inspiration
later.)
2016-06-29 21:56:39 +00:00
Andrew Garrett
2a6f607ae5 Add DescribeStackEvents endpoint
It returns nothing right now because there's no backend implementation
for events (yet.)
2016-06-29 18:41:16 +00:00
Hitesh Ghia
d8baa957e9 Fix cfn delete stack functionality 2016-06-09 16:23:55 -07:00
Declan Shanaghy
773a49c40d Fix typo in message variable 2016-06-03 16:30:34 -07:00
Steve Pulec
d4895d588a Merge pull request #616 from mnussbaum/cloudformation_kms
Adds KMS support to mock_cloudformation
2016-05-17 21:01:12 -04:00
mnussbaum
01e5c3a384 Adds KMS support to mock_cloudformation 2016-05-13 21:36:24 +00:00
Jesse Szwedko
6928501973 Throw exception if an update is attempted on a stack in ROLLBACK_COMPLETE
If a stack has a status of ROLLBACK_COMPLETE and you attempt to update
it, the AWS API throws a validation error. This updates moto to have the
same behvaior. We also uncommented a test which tests updating a stack
which passed without any additional modification -- it is unclear why
this test was commented.

Signed-off-by: Jack Lund <jack.lund@getbraintree.com>
2016-04-28 09:30:42 -04:00
Steve Pulec
a600deb96a Fix merge conflicts and add EC2 Instance delete. Closes #576. 2016-04-28 09:22:31 -04:00
Steve Pulec
b6d5317b18 Merge pull request #590 from aiell0/hotfix/update-stack-response-issue-575
Fixes issue #575: cloudformation update_stack response ResponseParser…
2016-04-23 19:38:11 -04:00
Lawrence Aiello
3017181862 Fixes issue #575: cloudformation update_stack response ResponseParserError. 2016-04-18 14:37:12 -04:00
Declan Shanaghy
b152c00642 Fix multiple bugs encountered with boto3
* Fix path detection for deleting keys in S3 bucket
* Fix stack deletion ensure delete method exists on object
  * Previous tests were using a stack with no resources
* Fix DESCRIBE_STACK_RESOURCES_RESPONSE,
  * Previously untested code path
2016-04-12 13:58:17 -07:00
Lars Fronius
519b8e59aa Propagate stack-level tags to resources
According to
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
"All stack-level tags, including automatically created tags, are
propagated to resources that AWS CloudFormation supports. Currently,
tags are not propagated to Amazon EBS volumes that are created from
block device mappings."
2016-03-15 15:36:02 +01:00
Hugo Lopes Tavares
c689816337 Add CloudFormation support to NatGateway model 2016-03-01 12:02:57 -05:00
Andrew Garrett
39d9fbcd02 Added resource deletion upon stack deletion
Only implemented for ASGs and LCs since they're all we cared about for
our particular problem. It should be easy to follow this pattern for
other resource types, though.

Signed-off-by: Scott Greene <scott.greene@getbraintree.com>
2016-02-29 19:50:29 +00:00
Andrew Garrett
da98052b18 Add support for DescribeStackResource
Signed-off-by: Scott Greene <scott.greene@getbraintree.com>
2016-02-29 19:50:25 +00:00
Andrew Garrett
ec10699c38 Add XML support for cloudformation commands that lacked it
This lets boto3's cloudformation API work with moto.

fixes #444

Signed-off-by: Scott Greene <scott.greene@getbraintree.com>
2016-02-29 19:50:23 +00:00
Hugo Lopes Tavares
576b9f683c [lambda] Add CloudFormation support for AWS::Lambda::Function 2016-02-17 16:13:57 -05:00
Hugo Lopes Tavares
e5675e9533 Change CloudFormationResponse.get_template() to return GetTemplateResponse/GetTemplateResult/TemplateBody 2015-10-05 15:21:30 -04:00
Hugo Lopes Tavares
25f9e8b588 Change CloudFormation to support Data Pipelines 2015-09-16 17:49:13 -04:00