diff --git a/moto/ecs/models.py b/moto/ecs/models.py index 820c99fd1..d62d7ffa2 100644 --- a/moto/ecs/models.py +++ b/moto/ecs/models.py @@ -117,6 +117,20 @@ class EC2ContainerServiceBackend(BaseBackend): """ return [cluster.arn for cluster in self.clusters.values()] + def describe_clusters(self, list_clusters_name=None): + list_clusters = [] + if list_clusters_name is None: + if 'default' in self.clusters: + list_clusters.append(self.clusters['default'].response_object) + else: + for cluster in list_clusters_name: + cluster_name = cluster.split('/')[-1] + if cluster_name in self.clusters: + list_clusters.append(self.clusters[cluster_name].response_object) + else: + raise Exception("{0} is not a cluster".format(cluster_name)) + return list_clusters + def delete_cluster(self, cluster_str): cluster_name = cluster_str.split('/')[-1] if cluster_name in self.clusters: diff --git a/moto/ecs/responses.py b/moto/ecs/responses.py index de2fdb48b..1cf88bd4d 100644 --- a/moto/ecs/responses.py +++ b/moto/ecs/responses.py @@ -23,6 +23,8 @@ class EC2ContainerServiceResponse(BaseResponse): def create_cluster(self): cluster_name = self._get_param('clusterName') + if cluster_name is None: + cluster_name = 'default' cluster = self.ecs_backend.create_cluster(cluster_name) return json.dumps({ 'cluster': cluster.response_object @@ -31,8 +33,17 @@ class EC2ContainerServiceResponse(BaseResponse): def list_clusters(self): cluster_arns = self.ecs_backend.list_clusters() return json.dumps({ - 'clusterArns': cluster_arns, - 'nextToken': str(uuid.uuid1()) + 'clusterArns': cluster_arns + #, + #'nextToken': str(uuid.uuid1()) + }) + + def describe_clusters(self): + list_clusters_name = self._get_param('clusters') + clusters = self.ecs_backend.describe_clusters(list_clusters_name) + return json.dumps({ + 'clusters': clusters, + 'failures': [] }) def delete_cluster(self): @@ -54,8 +65,9 @@ class EC2ContainerServiceResponse(BaseResponse): def list_task_definitions(self): task_definition_arns = self.ecs_backend.list_task_definitions() return json.dumps({ - 'taskDefinitionArns': task_definition_arns, - 'nextToken': str(uuid.uuid1()) + 'taskDefinitionArns': task_definition_arns + #, + #'nextToken': str(uuid.uuid1()) }) def deregister_task_definition(self): @@ -79,8 +91,9 @@ class EC2ContainerServiceResponse(BaseResponse): cluster_str = self._get_param('cluster') service_arns = self.ecs_backend.list_services(cluster_str) return json.dumps({ - 'serviceArns': service_arns, - 'nextToken': str(uuid.uuid1()) + 'serviceArns': service_arns + # , + # 'nextToken': str(uuid.uuid1()) }) def update_service(self):