This adds/fixes the following things:
- Add missing KeyCount in result (fixes#734).
- Do not hard code MaxKeys to 1000.
- Truncate result if it has more than MaxKeys items. Set IsTruncated
and NextContinuationToken accordingly.
- Support the StartAfter parameter.
- Return Owner information only when FetchOwner=True is given.
- "Prefix" in response is now "" instead of None when omitted in request.
- "Delimiter" is now omitted from response when not given in request.
Also more closely mirror AWS by not returning ELB
BackendServerDescriptions that don't have policies.
Signed-off-by: Michael Nussbaum <michael.nussbaum@getbraintree.com>
* made the Security Group backend throw the same error as AWS if the security group limit is hit
* included in the security group limit the count of grants to other security groups & updated the unit tests to cover these
* refactored a few things about the sec group rule count limit
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>
* Adding PolicyType to FakeScalingPolicy
* Implement filtering for AutoScalingBackend.describe_policies(...)
* Unit test for describe_policies fuction in autoscaling
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.
unix_time() from moto.core.utils is used as the time source through moto,
and it is identical to time.time() in output. Hence, using unix_time()
since it makes mocking easier during testing (when time is mocked out).
* 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
* check HTTP header for IPv4 or IPv6 addresses and default to path based S3
* improved IPv4 and IPv6 checking with optional ports
* typo
* subdomain bucket creation with trailing '/' did not work
* Use regex for Host field check to determine IPv4/IPv6
* add testcases for trailing slash, IPv4 and IPv6
* describe_task_definition support
* Refactor fetch_task_definition
* Add ECS Descriptors (#772)
* Add support for "DescribeServices" in ecs mock
* Add support for "DescribeTaskDefinition" in ecs
* Let ecs responses handle baseobject for services
* Update Cloudformation/parsing#load_parameters to split commadelimitedlists into lists (#774)
* Fix JSON dump error in ecs.update_service with task_definition (#775)
* Fix s3bucketpath handling for IP based requests (#765)
* check HTTP header for IPv4 or IPv6 addresses and default to path based S3
* improved IPv4 and IPv6 checking with optional ports
* typo
* Freezetime.
* Add S3 ACL for aws-exec-read. Closes#740.
* Fixed time formatting in ec2/models.py (#778)
* Fixed time formatting in ec2/models.py
* Used freezegun on test that was failing due to time progression causing timestamp differences.
* rename duplicate rds/models db_instance_identifier to physical_resource_id (#776)
* rename duplicate db_instance_identifier to physical_resource_id
* Update create_from_cloudformation_json to use db_source_identifier str
* Update code to be more conventional.
* describe_task_definition support
* Refactor fetch_task_definition
* rename duplicate db_instance_identifier to physical_resource_id
* Update create_from_cloudformation_json to use db_source_identifier str
* Update code to be more conventional.