Example usage for com.amazonaws.services.ecs.model DeleteServiceRequest DeleteServiceRequest

List of usage examples for com.amazonaws.services.ecs.model DeleteServiceRequest DeleteServiceRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.ecs.model DeleteServiceRequest DeleteServiceRequest.

Prototype

DeleteServiceRequest

Source Link

Usage

From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.ops.DestroyServiceAtomicOperation.java

License:Apache License

@Override
public Void operate(List priorOutputs) {
    updateTaskStatus("Initializing Destroy Amazon ECS Server Group Operation...");
    AmazonECS ecs = getAmazonEcsClient();

    String ecsClusterName = containerInformationService.getClusterName(description.getServerGroupName(),
            description.getAccount(), description.getRegion());

    updateTaskStatus("Removing MetricAlarms from " + description.getServerGroupName() + ".");
    ecsCloudMetricService.deleteMetrics(description.getServerGroupName(), description.getAccount(),
            description.getRegion());//ww  w  .j a va 2  s .c om
    updateTaskStatus("Done removing MetricAlarms from " + description.getServerGroupName() + ".");

    UpdateServiceRequest updateServiceRequest = new UpdateServiceRequest();
    updateServiceRequest.setService(description.getServerGroupName());
    updateServiceRequest.setDesiredCount(0);
    updateServiceRequest.setCluster(ecsClusterName);

    updateTaskStatus("Scaling " + description.getServerGroupName() + " server group down to 0.");
    ecs.updateService(updateServiceRequest);

    DeleteServiceRequest deleteServiceRequest = new DeleteServiceRequest();
    deleteServiceRequest.setService(description.getServerGroupName());
    deleteServiceRequest.setCluster(ecsClusterName);

    updateTaskStatus("Deleting " + description.getServerGroupName() + " server group.");
    DeleteServiceResult deleteServiceResult = ecs.deleteService(deleteServiceRequest);

    updateTaskStatus("Deleting " + deleteServiceResult.getService().getTaskDefinition()
            + " task definition belonging to the server group.");
    ecs.deregisterTaskDefinition(new DeregisterTaskDefinitionRequest()
            .withTaskDefinition(deleteServiceResult.getService().getTaskDefinition()));

    return null;
}