Example usage for com.amazonaws.services.ecs AmazonECS deleteService

List of usage examples for com.amazonaws.services.ecs AmazonECS deleteService

Introduction

In this page you can find the example usage for com.amazonaws.services.ecs AmazonECS deleteService.

Prototype

DeleteServiceResult deleteService(DeleteServiceRequest deleteServiceRequest);

Source Link

Document

Deletes a specified service within a cluster.

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());/*from  w  w w .  ja v a  2  s.c o m*/
    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;
}