Commit graph

73 commits

Author SHA1 Message Date
jweite
49d92861c0
Iam cloudformation update, singificant cloudformation refactoring (#3218)
* 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>
2020-08-27 10:11:47 +01:00
Adam Richie-Halford
9a9a1d8413
Decentralize cloudformation naming responsibilities (#3201)
* #3127 - Decentralize CF naming responsibilities

* Decentralize CloudFormation naming responsibilities

* Update URLs in cloudformation_resource_type functions

* Fix flake8 errors

* Black formatting

* Add a bunch of imports to populate CloudFormationModel.__subclasses__

* Add noqa to s3 models import statement in cloudformation/parsing.py

* Black formatting

* Remove debugging print statement

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-08-01 15:23:36 +01:00
Steve Pulec
41427a78b6
Merge pull request #3147 from bblommers/enhancement/3139
ECS - UpdateService - Allow service ARN to be passed in
2020-07-26 15:31:12 -05:00
Aaron Hill
1e5b8acac6
Implementation: ECS Task Sets (#3152)
* 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
2020-07-21 07:17:37 +01:00
Bert Blommers
f69688b064 ECS - UpdateService - Allow Service ARNs 2020-07-17 12:50:06 +01:00
Rifqi Al Fatih
f23f706825 Implement placement constraints model 2020-05-02 18:47:59 +02:00
Theodore Wong
0163eb6a9d Changed mock_ecs to support ecs.run_task calls with a default cluster 2020-04-07 15:32:44 -07:00
Don Kuntz
fd1fdde1bf
Allow black to reformat correctly 2020-01-09 23:45:14 -06:00
Don Kuntz
2cb3f327de
Store 'networkMode' in ECS Task Definitions instead of just throwing it away 2020-01-09 23:00:33 -06:00
gruebel
d7ba355a65 Add missing regions to all services 2019-12-26 17:12:22 +01:00
Alex Tareshawty
df2279d39c Add familyPrefix option to ecs:ListTaskDefinitions
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": []
}
```
2019-11-26 09:40:01 -05:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
Chih-Hsuan Yen
84fb52d0a2
Fix remaining flake8 issues
Disabling W504 and W605 for now as there are too many instances.
2019-10-27 21:00:01 +08:00
Jamie Starke
017cbb52ca Added Exception to for describe_container_instances to match aws api 2019-10-11 22:13:55 -07:00
Steve Pulec
7de11b672b
Merge pull request #2449 from nadlerjessie/events-and-ecs-multi-region
Events and ecs multi region
2019-10-03 16:20:30 -05:00
Jim Shields
6cb1173719 Add tag_resource and untag_resource for ECS services
* Refactor resource ARN parsing
2019-10-03 15:16:07 -04:00
Jessie Nadler
4fe66f521d Use region to create and describe ECS resources 2019-10-03 15:12:05 -04:00
Jim Shields
d8333fdd7e Add support for tagging of ECS services
* Add tags to create_service
* Add service to list_tags_for_resource
2019-10-03 14:30:08 -04:00
wndhydrnt
3c19f0a02d Convert fields createdAt and updatedAt of deployment to timestamp 2019-08-04 10:23:50 +02:00
Michael van Tellingen
64e2a74e8c Add support for setting tags on ecs task definitions
This also implements the ecs.list_tags_for_resources, although the
resources it checks for are currently only the task definitions
2019-07-29 09:58:08 +02:00
Michael van Tellingen
feef7b2b5a Use a dict instead of a list for storing task definition revisions
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.
2019-07-26 12:55:05 +02:00
Kyle Decot
8cb4db1896 Adds Support for filtering on schedulingStrategy in ECS#list_services (#2180) 2019-05-02 19:00:28 +01:00
Steve Pulec
490d1f5330
Merge pull request #2128 from nadlerjessie/feature/ecs-outputs
Add get_cfn_attribute support for ECS Cluster and Service
2019-04-01 15:13:20 -05:00
Nick Venenga
d181897ec9
Add proper failure response to describe_clusters 2019-03-28 14:50:48 -04:00
Kyle Decot
79e47fd98f
Returns an empty list when the cluster does not exist 2019-03-28 14:50:48 -04:00
Jessie Nadler
8644b2ff1d Add get_cfn_attribute support for ECS Cluster and Service 2019-03-25 19:14:05 -04:00
Jamie Starke
090cad8c88 [1009] Converts ECS Instance full arn to instance_id for storage 2018-10-26 21:54:01 -07:00
Manuel Adarve
b75e78a3cd ECS: Added schedulingStrategy support
Co-authored-by: Jonas Gratz <jgratz@newstore.com>
2018-08-13 18:30:05 +02:00
Steve Pulec
bb6da93891
Merge pull request #1697 from spulec/ecs-tasks
Improve ECS update_service and describing tasks.
2018-06-24 20:39:16 -04:00
Steve Pulec
7c1fd0a2f1 Fix ECS update_service and describing tasks. 2018-06-24 20:13:39 -04:00
Flavio Ferrara
5298b221b5 Add support for creating ECS services with Load Balancer 2018-06-06 09:50:03 +01:00
Steve Pulec
080e3c5f5d
Merge pull request #1537 from william-richard/cloudformation-ecs-cluster-name-optional
If Properies isn't set, cloudformation will just use default values
2018-04-12 18:52:16 -04:00
Steve Pulec
97708fdbed
Merge pull request #1551 from william-richard/add-physical-resource-id-to-ecs-task-definition
Add physical_resource_id to ECS task definition
2018-04-12 18:48:43 -04:00
William Richard
9b281f63f6
Add support for calculating resource requirements for cloudforamtion container definitions
Cloudformation user capitalized resource names, while boto does not

Undo whitespace changes
2018-04-11 17:20:58 -04:00
William Richard
1f46543ae2
ECS CPU, memory hard limits and host ports are all optional.
http://boto3.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.register_task_definition
2018-04-11 17:20:58 -04:00
William Richard
4636a2afc3
Add physical_resource_id to ECS task definition 2018-04-04 15:15:22 -04:00
Steve Pulec
daa6bfe84d Dont iterate over dictionary that we are modifying. 2018-04-04 14:56:57 -04:00
William Richard
0ed388b4b8
If Properies isn't set, cloudformation will just use default values 2018-03-26 14:15:16 -04:00
Jessie Nadler
04c5198a0c Add default ecs attributes and format in response obj (#1346)
* 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
2017-11-17 18:25:08 +00:00
Terry Cain
6e28c58e26 Added ecs attributes methods 2017-10-28 19:18:39 +01:00
Tom Elliff
51afd54229 Fix runningTasksCount ECS container instance attribute
ECS container instances have attributes of 'runningTasksCount' and 'pendingTasksCount'.
See Boto3 docs here: http://boto3.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.describe_container_instances
REST API docs here: http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html#API_DescribeContainerInstances_ResponseSyntax
2017-10-12 13:26:19 +01:00
Toshiya Kawasaki
b922af8ab7 set None to ecs taskdefinition volumes called when called from cfn (#1104) 2017-09-07 11:28:56 -07:00
Steve Pulec
df84675ae6 Merge pull request #897 from gjtempleton/TaskDraining
ContainerInstance deregistration
2017-04-15 23:47:47 -04:00
Steve Pulec
a83a235637 Merge pull request #903 from mvantellingen/ecs-deployments
Add deployments to the ecs services (describe_services)
2017-04-15 23:46:02 -04:00
GuyTempleton
47bc23f481
Move agent_connected assignation 2017-04-15 16:31:19 +01:00
Michael van Tellingen
0ae6e404d0 Add deployments to the ecs services (describe_services) 2017-04-14 18:40:47 +02:00
Michael van Tellingen
18ed73292c Return the revision in ecs.register_task_definition
This matches boto, see
http://boto3.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.register_task_definition
2017-04-14 18:16:24 +02:00
GuyTempleton
69b86b2c7a
Fix indentation of ContainerInstance response object 2017-04-13 18:41:29 +01:00
GuyTempleton
f3aff0f356
Switch ContainerInstance model to snake case 2017-04-13 17:53:23 +01:00
GuyTempleton
acb6c3ce01
Implement container instance deregistration 2017-04-13 17:46:15 +01:00