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.
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>
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.
* 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
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.)
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>
* 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
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>