Commit Graph

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
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
Hugo Lopes Tavares
dc351dfc9e Add support to AWS::EC2::SecurityGroupIngress creation 2015-02-25 12:20:25 -05:00
Hugo Lopes Tavares
8d25aa2529 Add support to create AWS::EC2::VPCPeeringConnection through the CloudFormation interface 2015-02-17 14:40:48 -05:00
Steve Pulec
31bf84b363 Fix six import. Closes #299. 2015-02-14 08:43:17 -05:00
Steve Pulec
c22ea3014b Add SNS topics to cloudformation. 2015-01-17 19:48:08 -05:00
Steve Pulec
f19fdc9802 Cleaner code. 2015-01-17 19:10:19 -05:00
Steve Pulec
585ef7b768 Add route53 health checks. 2015-01-17 19:06:43 -05:00
Steve Pulec
adb26986eb Add route53 ResourceSet to Cloudformation. 2015-01-17 15:37:46 -05:00
Steve Pulec
5d5f241b99 Add route53 support to cloudformation. 2015-01-17 10:17:25 -05:00
Steve Pulec
166f4893ba Add cloudformation for RDS. 2015-01-11 16:15:08 -05:00
Steve Pulec
e05a061993 Add support for Cloudformation Mappings. 2015-01-07 22:32:51 -05:00
Steve Pulec
b8a11b7b8d Python 3 fixes. 2015-01-07 21:40:03 -05:00
Steve Pulec
8da6437689 Add some support for Cloudformation Conditions. Closes #285. 2015-01-07 21:37:12 -05:00
Steve Pulec
1e4df18c42 Allow actual use of cloudformation input parameters. 2014-12-31 14:21:47 -05:00
Steve Pulec
fceeed0c9f PY3 fixes. 2014-12-29 22:17:50 -05:00
Steve Pulec
186ee6a5a4 Add cloudformation stack parsing for S3 keys. 2014-12-29 22:12:23 -05:00
dreadpirateshawn
9affa7753d Performance: Leverage jinja2's Environment to cache compiled Templates. 2014-12-12 12:46:07 -08:00
Steve Pulec
1f8253a1a1 Cleanup the default region backends. 2014-11-15 14:21:58 -05:00
Steve Pulec
bd847bd941 Cleanup multi-region support for ELB, SQS, Cloudformation, EC2, Autoscaling. 2014-11-15 13:34:52 -05:00
Steve Pulec
c77207a8b8 More flake8. 2014-11-15 09:53:45 -05:00
Joseph Lawson
8299b5c312 enable cloudformation of NetworkInterface 2014-11-03 14:24:22 -05:00
Joseph Lawson
1152939ecd add notification arns to cloudformation 2014-10-29 11:59:41 -04:00
Joseph Lawson
0aec1d0f92 create_stack returns stack_id 2014-10-23 14:55:40 -04:00
Joseph Lawson
90191675a2 Deleted Stack Fix and ValidationError for DescribeStacks.
* stop backed from trying to iterate over empty list of deleted stacks.
  * Update DescribeStacks to throw ValidationError if stack name or id doesn't exist.
2014-10-23 14:39:15 -04:00
Joseph Lawson
94e969fed5 Enhance DescribeStacks. Keep track of deleted stacks. Stack status.
Made describe_stacks more in line with http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackResource.html
2014-10-22 23:58:42 -04:00
Joseph Lawson
184d5be54a remove debug exception catch 2014-10-21 21:58:39 -04:00
Joseph Lawson
54794651d3 implement Fn::Join 2014-10-21 16:29:51 -04:00
Joseph Lawson
20a69255c3 tweak Fn::GetAtt to return resource_json if resource is not implemented. DRY
This is better than failing out with a misleading Boto 400 error which should only happen when get_cfn_attribute is called but fails.
2014-10-21 14:51:26 -04:00
Joseph Lawson
1d9ffafaa5 create CloudFormation outputs and enable 'Fn::GetAtt' to work. 2014-10-21 12:45:03 -04:00
Joseph Lawson
832769b8a7 Name resources via CloudFormation naming convention and tag EC2 resources.
* Make sure taggable resources are tagged per convention: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack-parameters.html
  * Update CloudFormation parsing to use logical resource ids and name resources as CloudFomation would.
  * Fix tests for CloudFormation stack integration.
2014-10-20 15:16:39 -04:00
Joseph Lawson
91a74424e5 Handle Name Type resources for CloudFormation 2014-10-20 11:45:47 -04:00
David Baumgold
eedb4c4b73 Support Python 3 using six 2014-08-28 10:57:43 -04:00
David Baumgold
4201e6b430 from __future__ import unicode_literals 2014-08-27 11:33:55 -04:00
Steve Pulec
ef876dd27e Fix merge conflicts. Add basic cloudformation support. Closes #111. 2014-03-27 19:12:53 -04:00