diff --git a/moto/ecs/models.py b/moto/ecs/models.py index 1a385226b..254f220d4 100644 --- a/moto/ecs/models.py +++ b/moto/ecs/models.py @@ -931,9 +931,10 @@ class EC2ContainerServiceBackend(BaseBackend): return result def update_service( - self, cluster_str, service_name, task_definition_str, desired_count + self, cluster_str, service_str, task_definition_str, desired_count ): cluster_name = cluster_str.split("/")[-1] + service_name = service_str.split("/")[-1] cluster_service_pair = "{0}:{1}".format(cluster_name, service_name) if cluster_service_pair in self.services: if task_definition_str is not None: diff --git a/tests/test_ecs/test_ecs_boto3.py b/tests/test_ecs/test_ecs_boto3.py index f6de59597..80ba304fd 100644 --- a/tests/test_ecs/test_ecs_boto3.py +++ b/tests/test_ecs/test_ecs_boto3.py @@ -660,6 +660,15 @@ def test_update_service(): response["service"]["desiredCount"].should.equal(0) response["service"]["schedulingStrategy"].should.equal("REPLICA") + # Verify we can pass the ARNs of the cluster and service + response = client.update_service( + cluster=response["service"]["clusterArn"], + service=response["service"]["serviceArn"], + taskDefinition="test_ecs_task", + desiredCount=1, + ) + response["service"]["desiredCount"].should.equal(1) + @mock_ecs def test_update_missing_service():