233 Commits

Author SHA1 Message Date
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
Steve Pulec
1dcfcbca57 Add cloudformation tags. 2015-08-31 16:48:36 -04:00
Steve Pulec
73f03d1ccf Add redshift support for cloudformation. 2015-08-08 13:29:37 -04:00
Jot
b2570d901e Enabled cloudformation in server mode with some tests 2015-08-02 16:31:16 +02:00
Steve Pulec
de29762a65 Cleanup parsing. 2015-07-13 15:28:29 -04:00
Steve Pulec
53fff2eb84 Add UpdateStack functionality for Cloudformation. 2015-07-13 13:56:46 -04:00
Steve Pulec
7f73d7e26d Add cloudformation list_stack_resources. 2015-07-13 11:05:36 -04:00
Jeffrey Gelens
f5c4ac0b44 Merge branch 'master' of https://github.com/silveregg/moto into 0.4.1-threadsafe
* 'master' of https://github.com/silveregg/moto: (22 commits)
  filtering the items is needed because of defaultdict is not threadsafe and returns an empty dict which results in an exception here
  add tests for list_endpoints_by_platform_application
  add mock for list_endpoints_by_platform_application method
  [S3]Only add multipart part_id to partlist if it is not already in there. Closes #324.
  Fix etag for reduced min part size.
  Add test_multipart_duplicate_upload
  Fix reduced_min_part_size so that tests run
  Fix authors
  Add @mikegrima to authors
  Fixed how parameters are passed in following clarification on GitHub comments.
  Added in test for the boto IAM method: list_instance_profiles_for_role()
  Change SecurityGroupBackend.{authorize,revoke}_security_group_ingress() methods to receive group name or id, never both
  Add support to AWS::EC2::SecurityGroupIngress creation
  Add @aaltepet to authors.
  Add publish command.
  Add support to tag filtering to Security Groups
  slight change in formatting
  fix test for ec2 instance type filter
  Update minimum support boto version.
  support 'instance_type' filter
  ...
2015-05-29 11:34:23 +02:00
Jeffrey Gelens
c2f2c16892 Fixed non threadsafe code 2015-03-16 13:13:40 +01:00