package core.aws.task.elb; import com.amazonaws.services.elasticloadbalancing.model.Listener; import com.amazonaws.services.elasticloadbalancing.model.ListenerDescription; import core.aws.env.Context; import core.aws.resource.elb.ELB; import core.aws.workflow.Action; import core.aws.workflow.Task; /** * @author neo */ @Action("desc-elb") public class DescribeELBTask extends Task<ELB> { public DescribeELBTask(ELB elb) { super(elb); } @Override public void execute(Context context) throws Exception { String key = "elb/" + resource.id; context.output(key, String.format("status=%s, http=%s, https=%s", resource.status, resource.listenHTTP, resource.listenHTTPS)); if (resource.remoteELB != null) { context.output(key, "dns=" + resource.remoteELB.getDNSName()); for (ListenerDescription description : resource.remoteELB.getListenerDescriptions()) { Listener listener = description.getListener(); context.output(key, String.format("listener=%s:%d=>%s:%d, cert=%s", listener.getProtocol(), listener.getLoadBalancerPort(), listener.getInstanceProtocol(), listener.getInstancePort(), listener.getSSLCertificateId())); } } } }