List of usage examples for com.amazonaws.services.elasticbeanstalk.model CreateEnvironmentRequest CreateEnvironmentRequest
public CreateEnvironmentRequest()
From source file:br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.ZeroDowntime.java
License:Apache License
private String createEnvironment(String versionLabel, String templateName, List<String> environmentNames) throws InvalidDeploymentTypeException { log("Creating environment based on application %s/%s from version %s and configuration template %s", getApplicationName(), getEnvironmentName(), versionLabel, templateName); String newEnvironmentName = environmentNames.get(0); for (String environmentName : environmentNames) { try {//from w ww. ja v a 2 s. c o m lookupEnvironmentIds(Collections.singletonList(environmentName)); } catch (InvalidEnvironmentsSizeException e) { newEnvironmentName = environmentName; break; } } CreateEnvironmentRequest request = new CreateEnvironmentRequest().withEnvironmentName(newEnvironmentName) .withVersionLabel(versionLabel).withApplicationName(getApplicationName()) .withTemplateName(templateName); return getAwseb().createEnvironment(request).getEnvironmentId(); }
From source file:br.com.ingenieux.mojo.beanstalk.cmd.env.create.CreateEnvironmentCommand.java
License:Apache License
@Override protected CreateEnvironmentResult executeInternal(CreateEnvironmentContext context) throws Exception { CreateEnvironmentRequest request = new CreateEnvironmentRequest(); request.setApplicationName(context.getApplicationName()); request.setCNAMEPrefix(parentMojo.ensureSuffixStripped(context.getCnamePrefix())); request.setDescription(context.getApplicationDescription()); request.setEnvironmentName(context.getEnvironmentName()); request.setTags(context.getTags());/*from w w w . j a v a2 s . c o m*/ request.setOptionSettings(Arrays.asList(context.getOptionSettings())); request.setOptionsToRemove(Arrays.asList(context.getOptionsToRemove())); if ("Worker".equals(context.getEnvironmentTierName())) { if (contextDoesNotContainsEC2Role(context)) { parentMojo.getLog().warn( "It is meaningless to launch a worker without an IAM Role. If you set in templateName, thats fine, but here's a warning for you"); } ; context.setEnvironmentTierType(StringUtils.defaultString(context.getEnvironmentTierType(), "SQS/HTTP")); request.setCNAMEPrefix(null); request.setTier(new EnvironmentTier().withName(context.getEnvironmentTierName()) .withType(context.getEnvironmentTierType()).withVersion(context.getEnvironmentTierVersion())); } if (StringUtils.isNotBlank(context.getTemplateName())) { request.setTemplateName( parentMojo.lookupTemplateName(context.getApplicationName(), context.getTemplateName())); } else if (StringUtils.isNotBlank(context.getSolutionStack())) { request.setSolutionStackName(context.getSolutionStack()); } request.setVersionLabel(context.getVersionLabel()); if (parentMojo.isVerbose()) { parentMojo.getLog() .info("Requesting createEnvironment w/ request: " + CredentialsUtil.redact("" + request)); } return service.createEnvironment(request); }
From source file:fr.xebia.workshop.caching.CreateTomcat.java
License:Apache License
public void createServers() { String applicationName = "xfr-cocktail"; // CREATE APPLICATION AmazonAwsUtils.deleteBeanstalkApplicationIfExists(applicationName, beanstalk); CreateApplicationRequest createApplicationRequest = new CreateApplicationRequest() .withApplicationName(applicationName) .withDescription("xfr-cocktail app created at " + new DateTime()); ApplicationDescription applicationDescription = beanstalk.createApplication(createApplicationRequest) .getApplication();/*from w w w. j ava 2s. c o m*/ logger.debug("Application {} created", applicationDescription.getApplicationName()); // CREATE APPLICATION VERSION CreateApplicationVersionRequest createApplicationVersion1Request = new CreateApplicationVersionRequest() .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.0.0") .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.0.0-SNAPSHOT.war")); ApplicationVersionDescription applicationVersion1Description = beanstalk .createApplicationVersion(createApplicationVersion1Request).getApplicationVersion(); logger.debug("Application version {}:{} created", applicationVersion1Description.getApplicationName(), applicationVersion1Description.getVersionLabel()); CreateApplicationVersionRequest createApplicationVersion11Request = new CreateApplicationVersionRequest() .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.1.0") .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.1.0-SNAPSHOT.war")); ApplicationVersionDescription applicationVersion11Description = beanstalk .createApplicationVersion(createApplicationVersion11Request).getApplicationVersion(); logger.debug("Application version {}:{} created", applicationVersion11Description.getApplicationName(), applicationVersion11Description.getVersionLabel()); CreateApplicationVersionRequest createApplicationVersion12Request = new CreateApplicationVersionRequest() .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.2.0") .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.2.0-SNAPSHOT.war")); ApplicationVersionDescription applicationVersion12Description = beanstalk .createApplicationVersion(createApplicationVersion12Request).getApplicationVersion(); logger.debug("Application version {}:{} created", applicationVersion12Description.getApplicationName(), applicationVersion12Description.getVersionLabel()); // CREATE CONFIGURATION TEMPLATE CreateConfigurationTemplateRequest createConfigurationTemplateRequest = new CreateConfigurationTemplateRequest() .withApplicationName(applicationDescription.getApplicationName()) .withTemplateName(applicationDescription.getApplicationName() + "-base-configuration") .withSolutionStackName("32bit Amazon Linux running Tomcat 7").withOptionSettings( new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "InstanceType", "t1.micro"), new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "EC2KeyName", workshopInfrastructure.getKeyPairName()), new ConfigurationOptionSetting("aws:elasticbeanstalk:sns:topics", "Notification Endpoint", workshopInfrastructure.getBeanstalkNotificationEmail()), new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment", "AWS_ACCESS_KEY_ID", workshopInfrastructure.getAwsAccessKeyId()), new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment", "AWS_SECRET_KEY", workshopInfrastructure.getAwsSecretKey())); CreateConfigurationTemplateResult configurationTemplateResult = beanstalk .createConfigurationTemplate(createConfigurationTemplateRequest); logger.debug("Configuration {}:{} created", configurationTemplateResult.getApplicationName(), configurationTemplateResult.getTemplateName(), configurationTemplateResult); for (String teamIdentifier : workshopInfrastructure.getTeamIdentifiers()) { // CREATE ENVIRONMENT CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest() .withEnvironmentName(applicationDescription.getApplicationName() + "-" + teamIdentifier) .withApplicationName(applicationDescription.getApplicationName()) .withVersionLabel(applicationVersion1Description.getVersionLabel()) .withCNAMEPrefix(applicationDescription.getApplicationName() + "-" + teamIdentifier) .withTemplateName(configurationTemplateResult.getTemplateName()); CreateEnvironmentResult createEnvironmentResult = beanstalk.createEnvironment(createEnvironmentRequest); logger.info("Environment {}:{}:{} created at {}", createEnvironmentResult.getApplicationName(), createEnvironmentResult.getVersionLabel(), createEnvironmentResult.getEnvironmentName(), Strings.nullToEmpty(createEnvironmentResult.getEndpointURL())); } }
From source file:fr.xebia.workshop.nginx.CreateTomcat.java
License:Apache License
public void createServers() { String applicationName = "xfr-cocktail-nginx"; // CREATE APPLICATION AmazonAwsUtils.deleteBeanstalkApplicationIfExists(applicationName, beanstalk); CreateApplicationRequest createApplicationRequest = new CreateApplicationRequest() .withApplicationName(applicationName).withDescription("xfr-cocktail-nginx app"); ApplicationDescription applicationDescription = beanstalk.createApplication(createApplicationRequest) .getApplication();//from w ww . jav a 2 s . c o m logger.debug("Application {} created", applicationDescription.getApplicationName()); // CREATE APPLICATION VERSION CreateApplicationVersionRequest createApplicationVersion1Request = new CreateApplicationVersionRequest() .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.0.0") .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.0.0-SNAPSHOT.war")); ApplicationVersionDescription applicationVersion1Description = beanstalk .createApplicationVersion(createApplicationVersion1Request).getApplicationVersion(); logger.debug("Application version {}:{} created", applicationVersion1Description.getApplicationName(), applicationVersion1Description.getVersionLabel()); /*CreateApplicationVersionRequest createApplicationVersion11Request = new CreateApplicationVersionRequest() .withApplicationName(applicationDescription.getApplicationName()) .withVersionLabel("1.1.0") .withSourceBundle(new S3Location(XFR_WORKSHOP_NGINX, "cocktail-app-1.1.0-SNAPSHOT.war")); ApplicationVersionDescription applicationVersion11Description = beanstalk.createApplicationVersion(createApplicationVersion11Request).getApplicationVersion(); logger.debug("Application version {}:{} created", applicationVersion11Description.getApplicationName(), applicationVersion11Description.getVersionLabel()); */ // CREATE CONFIGURATION TEMPLATE CreateConfigurationTemplateRequest createConfigurationTemplateRequest = new CreateConfigurationTemplateRequest() .withApplicationName(applicationDescription.getApplicationName()) .withTemplateName(applicationDescription.getApplicationName() + "-base-configuration") .withSolutionStackName("32bit Amazon Linux running Tomcat 7").withOptionSettings( new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "InstanceType", "t1.micro"), new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "EC2KeyName", workshopInfrastructure.getKeyPairName()), new ConfigurationOptionSetting("aws:elasticbeanstalk:sns:topics", "Notification Endpoint", workshopInfrastructure.getBeanstalkNotificationEmail()), new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment", "AWS_ACCESS_KEY_ID", workshopInfrastructure.getAwsAccessKeyId()), new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment", "AWS_SECRET_KEY", workshopInfrastructure.getAwsSecretKey())); CreateConfigurationTemplateResult configurationTemplateResult = beanstalk .createConfigurationTemplate(createConfigurationTemplateRequest); logger.debug("Configuration {}:{} created", new Object[] { configurationTemplateResult.getApplicationName(), configurationTemplateResult.getTemplateName(), configurationTemplateResult }); for (String teamIdentifier : workshopInfrastructure.getTeamIdentifiers()) { for (int id = 0; id < 2; id++) { // CREATE ENVIRONMENT CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest() .withEnvironmentName( applicationDescription.getApplicationName() + "-" + teamIdentifier + "-" + id) .withApplicationName(applicationDescription.getApplicationName()) .withVersionLabel(applicationVersion1Description.getVersionLabel()) .withCNAMEPrefix( applicationDescription.getApplicationName() + "-" + teamIdentifier + "-" + id) .withTemplateName(configurationTemplateResult.getTemplateName()); CreateEnvironmentResult createEnvironmentResult = beanstalk .createEnvironment(createEnvironmentRequest); logger.info("Environment {}:{}:{} created at {}", new Object[] { createEnvironmentResult.getApplicationName(), createEnvironmentResult.getVersionLabel(), createEnvironmentResult.getEnvironmentName(), createEnvironmentResult.getEndpointURL() }); } } }
From source file:jp.classmethod.aws.gradle.elasticbeanstalk.AWSElasticBeanstalkCreateEnvironmentTask.java
License:Apache License
@TaskAction public void createEnvironment() { // NOPMD // to enable conventionMappings feature String appName = getAppName(); String envName = getEnvName(); String envDesc = getEnvDesc(); String cnamePrefix = getCnamePrefix(); String templateName = getTemplateName(); String versionLabel = getVersionLabel(); Tier tier = getTier();//from w ww . j av a 2 s.c om Map<String, String> tags = getTags(); AwsBeanstalkPluginExtension ext = getProject().getExtensions().getByType(AwsBeanstalkPluginExtension.class); AWSElasticBeanstalk eb = ext.getClient(); DescribeEnvironmentsResult der = eb.describeEnvironments(new DescribeEnvironmentsRequest() .withApplicationName(appName).withEnvironmentNames(envName).withIncludeDeleted(false)); List<Tag> ebTags = tags.entrySet().stream().map(entry -> { Tag t = new Tag(); t.setKey(entry.getKey()); t.setValue(entry.getValue()); return t; }).collect(Collectors.toList()); if (der.getEnvironments() == null || der.getEnvironments().isEmpty()) { CreateEnvironmentRequest req = new CreateEnvironmentRequest().withApplicationName(appName) .withEnvironmentName(envName).withDescription(envDesc).withTemplateName(templateName) .withVersionLabel(versionLabel); if (tier != null) { req.withTier(tier.toEnvironmentTier()); if (tier == Tier.WebServer) { req.withCNAMEPrefix(cnamePrefix); } } if (ebTags != null && !ebTags.isEmpty()) { req.withTags(ebTags); } CreateEnvironmentResult result = eb.createEnvironment(req); getLogger().info("environment {} @ {} ({}) created", envName, appName, result.getEnvironmentId()); } else { String environmentId = der.getEnvironments().get(0).getEnvironmentId(); // Only these two values are required to deploy the a application UpdateEnvironmentRequest req = new UpdateEnvironmentRequest().withEnvironmentId(environmentId) .withVersionLabel(versionLabel); // All other variables are optional and refer to the environment if (isNotBlank(envName)) { req.withEnvironmentName(envName); } if (isNotBlank(envDesc)) { req.withDescription(envDesc); } if (isNotBlank(templateName)) { req.withTemplateName(templateName); } eb.updateEnvironment(req); getLogger().info("environment {} @ {} ({}) updated", envName, appName, environmentId); } }
From source file:org.cloudml.connectors.BeanstalkConnector.java
License:Open Source License
public void createEnvironment(String applicationName, String domainName, String envName, String stackName) { CreateEnvironmentRequest cr = new CreateEnvironmentRequest(); cr.setApplicationName(applicationName); cr.setEnvironmentName(envName);// ww w. jav a2 s . com String stack = findSolutionStack(stackName); if (!stack.equals("")) { cr.setSolutionStackName(stack); CheckDNSAvailabilityResult r = checkDNS(domainName); if (r.isAvailable()) { cr.setCNAMEPrefix(domainName); CreateEnvironmentResult res = beanstalkClient.createEnvironment(cr); journal.log(Level.INFO, ">> Status of the environment creation: " + res.toString()); } else { journal.log(Level.INFO, ">> Status of the environment creation: Domain Name already existing"); } } else { journal.log(Level.INFO, ">> Status of the environment creation: This type of stack does not exist!"); } }
From source file:org.cloudml.connectors.BeanstalkConnector.java
License:Open Source License
public String createEnvironmentWithWar(String applicationName, String domainName, String envName, String stackName, int minRam, String warFile, String versionLabel) { String endPoint = ""; prepareWar(new File(warFile), versionLabel, applicationName); CreateEnvironmentRequest cr = new CreateEnvironmentRequest(); cr.setApplicationName(applicationName); cr.setEnvironmentName(envName);/*from w w w .jav a 2s. c o m*/ cr.setVersionLabel(versionLabel); String stack = findSolutionStack(stackName); if (!stack.equals("")) { cr.setSolutionStackName(stack); CheckDNSAvailabilityResult r = checkDNS(domainName); if (r.isAvailable()) { cr.setCNAMEPrefix(domainName); CreateEnvironmentResult res = beanstalkClient.createEnvironment(cr); endPoint = res.getEndpointURL(); journal.log(Level.INFO, ">> Status of the environment creation: " + res.toString()); } else { journal.log(Level.INFO, ">> Status of the environment creation: Domain Name already existing"); } } else { journal.log(Level.INFO, ">> Status of the environment creation: This type of stack does not exist!"); } return endPoint; }
From source file:org.xmlsh.aws.gradle.elasticbeanstalk.AWSElasticBeanstalkCreateEnvironmentTask.java
License:BSD License
@TaskAction public void createEnvironment() { // to enable conventionMappings feature String appName = getAppName(); String envName = getEnvName(); String envDesc = getEnvDesc(); String cnamePrefix = getCnamePrefix(); String templateName = getTemplateName(); String versionLabel = getVersionLabel(); Tier tier = getTier();/*from w w w .ja v a2 s.com*/ AwsBeanstalkPluginExtension ext = getProject().getExtensions().getByType(AwsBeanstalkPluginExtension.class); AWSElasticBeanstalk eb = ext.getClient(); DescribeEnvironmentsResult der = eb.describeEnvironments(new DescribeEnvironmentsRequest() .withApplicationName(appName).withEnvironmentNames(envName).withIncludeDeleted(false)); if (der.getEnvironments() == null || der.getEnvironments().isEmpty()) { CreateEnvironmentRequest req = new CreateEnvironmentRequest().withApplicationName(appName) .withEnvironmentName(envName).withDescription(envDesc).withTemplateName(templateName) .withVersionLabel(versionLabel).withTier(tier.toEnvironmentTier()); if (tier == Tier.WebServer) { req.withCNAMEPrefix(cnamePrefix); } CreateEnvironmentResult result = eb.createEnvironment(req); getLogger().info( "environment " + envName + " @ " + appName + " (" + result.getEnvironmentId() + ") created"); } else { String environmentId = der.getEnvironments().get(0).getEnvironmentId(); eb.updateEnvironment(new UpdateEnvironmentRequest().withEnvironmentId(environmentId) .withEnvironmentName(envName).withDescription(envDesc).withTemplateName(templateName) .withVersionLabel(versionLabel).withTier(tier.toEnvironmentTier())); getLogger().info("environment " + envName + " @ " + appName + " (" + environmentId + ") updated"); } }