Reputation: 459
Looking for help on a java app to run ECS scheduled task! the program works fine and invokes the task without the overrides. when we pass overrides it gives an error. is there some issue?
ListTaskDefinitionFamiliesRequest request = new ListTaskDefinitionFamiliesRequest();
ListTaskDefinitionFamiliesResult response = client.listTaskDefinitionFamilies(request);
List<String> ls = response.getFamilies();
String cmd[] ={"arg1","arg2"};
List<String> command = Arrays.asList(cmd);
TaskOverride overrides = new TaskOverride();
ContainerOverride containerOverrides = new ContainerOverride();
containerOverrides.setCommand(command);
overrides.withContainerOverrides(containerOverrides);
String subnets[] ={"subnet-bbb","subnet-ccc"};
List<String> subnetList = Arrays.asList(subnets);
String securityGrp[] ={"sg-xxx"};
List<String> securityGrpList = Arrays.asList(securityGrp );
AwsVpcConfiguration awsvpcConfiguration = new AwsVpcConfiguration();
awsvpcConfiguration.setSubnets(subnetList);
awsvpcConfiguration.setSecurityGroups(securityGrpList);
NetworkConfiguration networkConfiguration = new NetworkConfiguration();
networkConfiguration.setAwsvpcConfiguration(awsvpcConfiguration);
RunTaskRequest request = new RunTaskRequest()
.withCluster("cluster-ecs")
.withTaskDefinition("task:1")
.withCount(1)
.withLaunchType("FARGATE")
.withNetworkConfiguration(networkConfiguration);
.withOverrides(overrides);
RunTaskResult response = client.runTask(request);
Upvotes: 1
Views: 2356
Reputation: 459
container name is required field in overrides. all set now.
containerOverrides.setName("blabla");
containerOverrides.setCommand(command);
Upvotes: 1