* IAM User Cloudformation Enhancements: update, delete, getatt.
* AWS::IAM::Policy Support
* Added unit tests for AWS:IAM:Policy for roles and groups. Fixed bug related to groups.
* AWS:IAM:AccessKey CloudFormation support.
* Refactor of CloudFormation parsing.py methods to simplify and standardize how they call to the models. Adjusted some models accordingly.
* Further model CloudFormation support changes to align with revised CloudFormation logic. Mostly avoidance of getting resoure name from properties.
* Support for Kinesis Stream RetentionPeriodHours param.
* Kinesis Stream Cloudformation Tag Support.
* Added omitted 'region' param to boto3.client() calls in new tests.
Co-authored-by: Joseph Weitekamp <jweite@amazon.com>
* initial implementation of taskSets. Fixed a bug with ECS Service where task_definition was a required parameter.
* Added update_task_set and tests. DRYed up ClusterNotFoundException. General cleanup.
* Added support for filtering tags on include parameter to describe_task_sets. Added additional tests.
* Fix copy/pasta in ClusterNotFoundException
* styling updates
* Added TODO for delete_task_set force parameter
* Updated multiple function and constructor calls to use named variables. Updated tests to reference variables instead of hardcoded strings.
* Run black for formatting
* Updated create_service function call to use named variables
AWS defines this option as:
```
--family-prefix (string)
The full family name with which to filter the ListTaskDefinitions
results. Specifying a familyPrefix limits the listed task
defini-tions to task definition revisions that belong to that
family.
```
This option behaves differently than ecs:ListTaskDefinitionFamilies.
Instead of doing a comparison like `startswith`, it does a full string
comparison by matching the entire task definition family to the prefix.
For example, let's say there exists a task definition with the family
`super-cool-task-def`.
ListTaskDefinitionFamilies would look like this:
```
aws ecs list-task-definition-families --family-prefix super-cool
{
"families": [
"super-cool-task-def"
]
}
```
ListTaskDefinitions would look like this:
```
aws ecs list-task-definitions --family-prefix super-cool
{
"taskDefinitionArns": []
}
```
Before when a task definition revision was de-registered all revisions
after that changed their revision id. This doesn't match the way it is
handled in AWS. Using a hash and manually increment the revision id
solves that.
* Initialize EC2ContainerServiceBackend and ContainerInstance objects with region_name
* Initialize ContainerInstance with default attributes
* These attributes are automatically applied by ECS when a container is registered
* Docs: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
* Format container_instance.attributes for response_object
* Python3
* Only use available ECS regions for ecs_backends
* Sort dictionaries on key='name' using lambda
* Sort all dicts in tests using lambda
* updates
- support lambda messages from SNS
- run lambda in docker container
* decode output
* populate timeout
* simplify
* whoops
* skeletons of cloudwatchlogs
* impl filter log streams
* fix logging
* PEP fixes
* PEP fixes
* fix reset
* fix reset
* add new endpoint
* fix region name
* add docker
* try to fix tests
* try to fix travis issue with boto
* fix escaping in urls
* fix environment variables
* fix PEP
* more pep
* switch back to precise
* another fix attempt
* fix typo
* fix lambda invoke
* fix more unittests
* work on getting this to work in new scheme
* fix py2
* fix error
* fix tests when running in server mode
* more lambda fixes
* try running with latest docker
adapted from aiodocker
* switch to docker python client
* pep fixes
* switch to docker volume
* fix unittest
* fix invoke from sns
* fix zip2tar
* add hack impl for get_function with zip
* try fix
* fix for py < 3.6
* add volume refcount
* try to fix travis
* docker test
* fix yaml
* try fix
* update endpoints
* fix
* another attempt
* try again
* fix recursive import
* refactor fix
* revert changes with better fix
* more reverts
* wait for service to come up
* add back detached mode
* sleep and add another exception type
* put this back for logging
* put back with note
* whoops :)
* docker in docker!
* fix invalid url
* hopefully last fix!
* fix lambda regions
* fix protocol
* travis!!!!
* just run lambda test for now
* use one print
* fix escaping
* another attempt
* yet another
* re-enable all tests
* fixes
* fix for py2
* revert change
* fix for py2.7
* fix output ordering
* remove this given there's a new unittest that covers it
* changes based on review
- add skeleton logs test file
- switch to docker image that matches test env
- fix mock_logs import
* add readme entry
* Uptick boto3 version to version supporting ECS container instance state changes
* Add initial status update
* Only place tasks on active instances
* PEP8 cleanup
* 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
* 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