Example usage for com.amazonaws.services.elasticbeanstalk.model SwapEnvironmentCNAMEsRequest SwapEnvironmentCNAMEsRequest

List of usage examples for com.amazonaws.services.elasticbeanstalk.model SwapEnvironmentCNAMEsRequest SwapEnvironmentCNAMEsRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticbeanstalk.model SwapEnvironmentCNAMEsRequest SwapEnvironmentCNAMEsRequest.

Prototype

SwapEnvironmentCNAMEsRequest

Source Link

Usage

From source file:br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.ZeroDowntime.java

License:Apache License

private void swapEnvironmentCnames(String environmentId, String clonedEnvironmentId)
        throws InterruptedException {
    log("Swapping CNAMEs from environment %s to %s", environmentId, clonedEnvironmentId);

    SwapEnvironmentCNAMEsRequest request = new SwapEnvironmentCNAMEsRequest()
            .withSourceEnvironmentId(environmentId).withDestinationEnvironmentId(clonedEnvironmentId);

    getAwseb().swapEnvironmentCNAMEs(request);

    Thread.sleep(TimeUnit.SECONDS.toMillis(SLEEP_TIME / 6)); //So the CNAMEs will swap
}

From source file:br.com.ingenieux.mojo.beanstalk.bg.BluegreenDeploymentMojo.java

License:Apache License

@Override
protected Object executeInternal() throws Exception {
    versionLabel = lookupVersionLabel(applicationName, versionLabel);

    getLog().info(format("Using version %s", versionLabel));

    Collection<EnvironmentDescription> envs = new WaitForEnvironmentCommand(this)
            .lookupInternal(new WaitForEnvironmentContextBuilder().withApplicationName(applicationName)
                    .withEnvironmentRef(environmentNamePrefix + "*").build());

    if (envs.size() > 2) {
        final Collection<String> environmentList = Collections2.transform(envs,
                new Function<EnvironmentDescription, String>() {
                    @Override//from w w w. j  ava  2 s  . c o m
                    public String apply(EnvironmentDescription input) {
                        return format("%s[%s]", input.getEnvironmentId(), input.getEnvironmentName());
                    }
                });

        String message = "Ooops. There are multiple environments matching the lookup spec: " + environmentList;

        getLog().warn(message);
        getLog().warn("Will pick one at random anyway as long as it uses WebServer tier name");
    }

    String otherEnvId = null;
    for (EnvironmentDescription e : envs) {
        if (!e.getEnvironmentId().equals(curEnv.getEnvironmentId())
                && "WebServer".equals(e.getTier().getName())) {
            otherEnvId = e.getEnvironmentId();
            break;
        }
    }

    getLog().info(
            format("(Green) Environment with environmentId['%s'] will be prepared once its ready to update",
                    curEnv.getEnvironmentId()));

    new WaitForEnvironmentCommand(this).execute(new WaitForEnvironmentContextBuilder()
            .withStatusToWaitFor("Ready").withApplicationName(applicationName)
            .withEnvironmentRef(curEnv.getEnvironmentId()).build());

    getLog().info(
            format("(Blue) Environment with environmentId['%s'] will be prepared once its ready to update",
                    otherEnvId));

    new WaitForEnvironmentCommand(this)
            .execute(new WaitForEnvironmentContextBuilder().withStatusToWaitFor("Ready")
                    .withApplicationName(applicationName).withEnvironmentRef(otherEnvId).build());

    getLog().info(format("(Blue) Updating environmentId to version %s", versionLabel));

    new UpdateEnvironmentCommand(this).execute(new UpdateEnvironmentContextBuilder()
            .withEnvironmentId(otherEnvId).withVersionLabel(versionLabel).build());

    getLog().info(format("(Blue) Waiting for environmentId['%s'] to get ready and green prior to switching",
            otherEnvId));

    new WaitForEnvironmentCommand(this).execute(new WaitForEnvironmentContextBuilder()
            .withStatusToWaitFor("Ready").withApplicationName(applicationName).withHealth("Green")
            .withEnvironmentRef(otherEnvId).build());

    getLog().info(format("Ok. Switching"));

    getService().swapEnvironmentCNAMEs(new SwapEnvironmentCNAMEsRequest()
            .withDestinationEnvironmentId(curEnv.getEnvironmentId()).withSourceEnvironmentId(otherEnvId));

    getLog().info(format("Done."));

    return null; //To change body of implemented methods use File | Settings | File Templates.
}

From source file:br.com.ingenieux.mojo.beanstalk.cmd.env.swap.SwapCNamesCommand.java

License:Apache License

@Override
protected Object executeInternal(SwapCNamesContext context) throws Exception {
    SwapEnvironmentCNAMEsRequest request = new SwapEnvironmentCNAMEsRequest();

    request.setSourceEnvironmentName(context.getSourceEnvironmentName());

    request.setSourceEnvironmentId(context.getSourceEnvironmentId());

    request.setDestinationEnvironmentName(context.getDestinationEnvironmentName());

    request.setDestinationEnvironmentId(context.getDestinationEnvironmentId());

    service.swapEnvironmentCNAMEs(request);

    return request;
}