beanstalk:replace-environment

Full name:

br.com.ingenieux:beanstalk-maven-plugin:1.5.6:replace-environment

Description:

Launches a new environment and, when done, replace with the existing, terminating when needed. It combines both create-environment, wait-for-environment, swap-environment-cnames, and terminate-environment

Attributes:

  • Requires a Maven project to be executed.
  • Since version: 0.2.0.

Required Parameters

Name Type Since Description
<applicationName> String 0.2.0 Beanstalk Application Name
Default value is: ${project.artifactId}.
User property is: beanstalk.applicationName.
<environmentName> String 0.2.0 environmentName. Takes precedence over environmentRef.
User property is: beanstalk.environmentName.
<session> MavenSession 0.2.0 (no description)
Default value is: ${session}.

Optional Parameters

Name Type Since Description
<applicationDescription> String 0.2.0 Application Description
Default value is: ${project.name}.
User property is: beanstalk.applicationDescription.
<attemptRetryInterval> int 0.2.0 Retry Interval, in Seconds
Default value is: 60.
User property is: beanstalk.attemptRetryInterval.
<cnamePrefix> String 0.2.0

CNAME Prefix


User property is: beanstalk.cnamePrefix.
<configurableOptionSettings> List 0.2.0

Allows you to declare your own properties inside the plugin configuration, as long as it starts with "beanstalk.x."


<pluginManagement>
  <plugins>
    <plugin>
      <groupId>br.com.ingenieux</groupId>
      <artifactId>beanstalk-maven-plugin</artifactId>
      <inherited>true</inherited>
      <version>XXX</version>
      <configuration>
        <tags>
          <Uses>ingenieux Beanstalker, http://beanstalker.ingenieux.com.br/</Uses>
        </tags>
        <configurableOptionSettings>
          <configurableOptionSetting>
            <alias>beanstalkx.serviceRole</alias>
            <namespace>aws:elasticbeanstalk:environment</namespace>
            <optionName>ServiceRole</optionName>
          </configurableOptionSetting>
        </configurableOptionSettings>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

This basically exposes the beanstalkx.serviceRole property as the mentioned Configuration Option Setting


<copyOptionSettings> boolean 0.2.0 Whether or not to copy option settings from old environment when replacing
Default value is: true.
User property is: beanstalk.copyOptionSettings.
<copySolutionStack> boolean 0.2.0 Whether or not to keep the Elastic Beanstalk platform (aka solutionStack) from the old environment when replacing
Default value is: true.
User property is: beanstalk.copySolutionStack.
<credentialId> String 0.2.0 The credential id (on ~/.aws/credentials file) to use)
Default value is: default.
User property is: beanstalker.credentialId.
<domains> String[] 0.2.0

List of R53 Domains

Could be set as either:

  • fqdn:hostedZoneId (e.g. "services.modafocas.org:Z3DJ4DL0DIEEJA")
  • hosted zone name - will be set to root. (e.g., "modafocas.org")

User property is: beanstalk.domains.
<endpointUrl> String 0.2.0 Endpoint URL
User property is: beanstalk.endpointUrl.
<environmentRef> String 0.2.0 Environment Ref
Default value is: ${project.artifactId}.elasticbeanstalk.com.
User property is: beanstalk.environmentRef.
<environmentTierName> String 0.2.0

Environment Tier Name (defaults to "WebServer")


Default value is: WebServer.
User property is: beanstalk.environmentTierName.
<environmentTierType> String 0.2.0

Environment Tier Type


User property is: beanstalk.environmentTierType.
<environmentTierVersion> String 0.2.0

Environment Tier Version


User property is: beanstalk.environmentTierVersion.
<ignoreExceptions> boolean 0.2.0 Ignore Exceptions?
Default value is: false.
User property is: beanstalker.ignoreExceptions.
<maxAttempts> Integer 0.2.0 Max Number of Attempts (for cnameSwap in Particular)
Default value is: 15.
User property is: beanstalk.maxAttempts.
<mockTerminateEnvironment> boolean 0.2.0 Do a 'Mock' Terminate Environment Call (useful for Debugging)
Default value is: false.
User property is: beanstalk.mockTerminateEnvironment.
<mustBeHealthy> boolean 0.2.0

If waiting for the environment to become ready, this indicates wether or not we require the Green health checks to pass.

One reason to avoid such a requirement is if we are frantically replacing one failed environment with another one trying to get a ring of interdependant services to operate.

Optional, but usually true. Under normal circumstances we *only* want to swap in a healthy service.


Default value is: true.
User property is: beanstalk.mustBeHealthy.
<optionSettings> ConfigurationOptionSetting[] 0.2.0

Configuration Option Settings. Will evaluate as such:

If empty, will lookup for beanstalk.env.aws.x.y variable in the context, and it will map this variable to namespace [aws.x], under option name y, unless there's an alias set.

A Property might be aliased. Current aliases include:

  • beanstalk.scalingAvailabilityZones, to aws:autoscaling:asg/Availability Zones
  • beanstalk.scalingCooldown, to aws:autoscaling:asg/Cooldown
  • beanstalk.scalingCustomAvailabilityZones, to aws:autoscaling:asg/Custom Availability Zones
  • beanstalk.scalingMinSize, to aws:autoscaling:asg/MinSize
  • beanstalk.scalingMaxSize, to aws:autoscaling:asg/MaxSize
  • beanstalk.keyName, to aws:autoscaling:launchconfiguration/EC2KeyName (EC2 Instance Key)
  • beanstalk.iamInstanceProfile, to aws:autoscaling:launchconfiguration/IamInstanceProfile (IAM Instance Profile Role Name)
  • beanstalk.imageId, to aws:autoscaling:launchconfiguration/ImageId
  • beanstalk.instanceType, to aws:autoscaling:launchconfiguration/InstanceType (EC2 Instance Type to Use)
  • beanstalk.monitoringInterval, to aws:autoscaling:launchconfiguration/MonitoringInterval
  • beanstalk.securityGroups, to aws:autoscaling:launchconfiguration/SecurityGroups
  • beanstalk.sshSourceRestriction, to aws:autoscaling:launchconfiguration/SSHSourceRestriction
  • beanstalk.blockDeviceMappings, to aws:autoscaling:launchconfiguration/BlockDeviceMappings
  • beanstalk.rootVolumeType, to aws:autoscaling:launchconfiguration/RootVolumeType
  • beanstalk.rootVolumeSize, to aws:autoscaling:launchconfiguration/RootVolumeSize
  • beanstalk.rootVolumeIOPS, to aws:autoscaling:launchconfiguration/RootVolumeIOPS
  • beanstalk.triggerBreachDuration, to aws:autoscaling:trigger/BreachDuration
  • beanstalk.triggerLowerBreachScaleIncrement, to aws:autoscaling:trigger/LowerBreachScaleIncrement
  • beanstalk.triggerLowerThreshold, to aws:autoscaling:trigger/LowerThreshold
  • beanstalk.triggerMeasureName, to aws:autoscaling:trigger/MeasureName
  • beanstalk.triggerPeriod, to aws:autoscaling:trigger/Period
  • beanstalk.triggerStatistic, to aws:autoscaling:trigger/Statistic
  • beanstalk.triggerUnit, to aws:autoscaling:trigger/Unit
  • beanstalk.triggerUpperBreachScaleIncrement, to aws:autoscaling:trigger/UpperBreachScaleIncrement
  • beanstalk.triggerUpperThreshold, to aws:autoscaling:trigger/UpperThreshold
  • beanstalk.rollingupdateMaxBatchSize, to aws:autoscaling:updatepolicy:rollingupdate/MaxBatchSize
  • beanstalk.rollingupdateMinInstancesInService, to aws:autoscaling:updatepolicy:rollingupdate/MinInstancesInService
  • beanstalk.rollingupdatePauseTime, to aws:autoscaling:updatepolicy:rollingupdate/PauseTime
  • beanstalk.rollingupdateEnabled, to aws:autoscaling:updatepolicy:rollingupdate/RollingUpdateEnabled
  • beanstalk.vpcId, to aws:ec2:vpc/VPCId
  • beanstalk.vpcSubnets, to aws:ec2:vpc/Subnets
  • beanstalk.vpcELBSubnets, to aws:ec2:vpc/ELBSubnets
  • beanstalk.vpcELBScheme, to aws:ec2:vpc/ELBScheme
  • beanstalk.vpcDBSubnets, to aws:ec2:vpc/DBSubnets
  • beanstalk.vpcAssociatePublicIpAddress, to aws:ec2:vpc/AssociatePublicIpAddress
  • beanstalk.applicationHealthCheckURL, to aws:elasticbeanstalk:application/Application Healthcheck URL (Application Healthcheck URL)
  • beanstalk.timeout, to aws:elasticbeanstalk:command/Timeout
  • beanstalk.environmentType, to aws:elasticbeanstalk:environment/EnvironmentType (SingleInstance or ELB-bound Environment)
  • beanstalk.automaticallyTerminateUnhealthyInstances, to aws:elasticbeanstalk:monitoring/Automatically Terminate Unhealthy Instances (true if should automatically terminate instances)
  • beanstalk.notificationEndpoint, to aws:elasticbeanstalk:sns:topics/Notification Endpoint
  • beanstalk.notificationProtocol, to aws:elasticbeanstalk:sns:topics/Notification Protocol
  • beanstalk.notificationTopicARN, to aws:elasticbeanstalk:sns:topics/Notification Topic ARN
  • beanstalk.notificationTopicName, to aws:elasticbeanstalk:sns:topics/Notification Topic Name
  • beanstalk.sqsdWorkerQueueUrl, to aws:elasticbeanstalk:sqsd/WorkerQueueURL
  • beanstalk.sqsdHttpPath, to aws:elasticbeanstalk:sqsd/HttpPath
  • beanstalk.sqsdMimeType, to aws:elasticbeanstalk:sqsd/MimeType
  • beanstalk.sqsdHttpConnections, to aws:elasticbeanstalk:sqsd/HttpConnections
  • beanstalk.sqsdConnectTimeout, to aws:elasticbeanstalk:sqsd/ConnectTimeout
  • beanstalk.sqsdInactivityTimeout, to aws:elasticbeanstalk:sqsd/InactivityTimeout
  • beanstalk.sqsdVisibilityTimeout, to aws:elasticbeanstalk:sqsd/VisibilityTimeout
  • beanstalk.sqsdRetentionPeriod, to aws:elasticbeanstalk:sqsd/RetentionPeriod
  • beanstalk.sqsdMaxRetries, to aws:elasticbeanstalk:sqsd/MaxRetries
  • beanstalk.healthcheckHealthyThreshold, to aws:elb:healthcheck/HealthyThreshold
  • beanstalk.healthcheckInterval, to aws:elb:healthcheck/Interval
  • beanstalk.healthcheckTimeout, to aws:elb:healthcheck/Timeout
  • beanstalk.healthcheckUnhealthyThreshold, to aws:elb:healthcheck/UnhealthyThreshold
  • beanstalk.loadBalancerHTTPPort, to aws:elb:loadbalancer/LoadBalancerHTTPPort
  • beanstalk.loadBalancerPortProtocol, to aws:elb:loadbalancer/LoadBalancerPortProtocol
  • beanstalk.loadBalancerHTTPSPort, to aws:elb:loadbalancer/LoadBalancerHTTPSPort
  • beanstalk.loadBalancerSSLPortProtocol, to aws:elb:loadbalancer/LoadBalancerSSLPortProtocol
  • beanstalk.loadBalancerSSLCertificateId, to aws:elb:loadbalancer/SSLCertificateId
  • beanstalk.stickinessCookieExpiration, to aws:elb:policies/Stickiness Cookie Expiration (Stickiness Cookie Expiration Timeout)
  • beanstalk.stickinessPolicy, to aws:elb:policies/Stickiness Policy (ELB Stickiness Policy)
  • beanstalk.dbAllocatedStorage, to aws:rds:dbinstance/DBAllocatedStorage
  • beanstalk.dbDeletionPolicy, to aws:rds:dbinstance/DBDeletionPolicy
  • beanstalk.dbEngine, to aws:rds:dbinstance/DBEngine
  • beanstalk.dbEngineVersion, to aws:rds:dbinstance/DBEngineVersion
  • beanstalk.dbInstanceClass, to aws:rds:dbinstance/DBInstanceClass
  • beanstalk.dbPassword, to aws:rds:dbinstance/DBPassword
  • beanstalk.dbSnapshotIdentifier, to aws:rds:dbinstance/DBSnapshotIdentifier
  • beanstalk.dbUser, to aws:rds:dbinstance/DBUser
  • beanstalk.dbMultiAZDatabase, to aws:rds:dbinstance/MultiAZDatabase
  • beanstalk.environmentAwsSecretKey, to aws:elasticbeanstalk:application:environment/AWS_SECRET_KEY
  • beanstalk.environmentAwsAccessKeyId, to aws:elasticbeanstalk:application:environment/AWS_ACCESS_KEY_ID
  • beanstalk.environmentJdbcConnectionString, to aws:elasticbeanstalk:application:environment/JDBC_CONNECTION_STRING
  • beanstalk.environmentParam1, to aws:elasticbeanstalk:application:environment/PARAM1
  • beanstalk.environmentParam2, to aws:elasticbeanstalk:application:environment/PARAM2
  • beanstalk.environmentParam3, to aws:elasticbeanstalk:application:environment/PARAM3
  • beanstalk.environmentParam4, to aws:elasticbeanstalk:application:environment/PARAM4
  • beanstalk.environmentParam5, to aws:elasticbeanstalk:application:environment/PARAM5
  • beanstalk.logPublicationControl, to aws:elasticbeanstalk:hostmanager/LogPublicationControl
  • beanstalk.jvmOptions, to aws:elasticbeanstalk:container:tomcat:jvmoptions/JVM Options
  • beanstalk.jvmXmx, to aws:elasticbeanstalk:container:tomcat:jvmoptions/Xmx
  • beanstalk.jvmMaxPermSize, to aws:elasticbeanstalk:container:tomcat:jvmoptions/XX:MaxPermSize
  • beanstalk.jvmXms, to aws:elasticbeanstalk:container:tomcat:jvmoptions/Xms
  • beanstalk.phpDocumentRoot, to aws:elasticbeanstalk:container:php:phpini/document_root
  • beanstalk.phpMemoryLimit, to aws:elasticbeanstalk:container:php:phpini/memory_limit
  • beanstalk.phpZlibOutputCompression, to aws:elasticbeanstalk:container:php:phpini/zlib.output_compression
  • beanstalk.phpAllowUrlFopen, to aws:elasticbeanstalk:container:php:phpini/allow_url_fopen
  • beanstalk.phpDisplayErrors, to aws:elasticbeanstalk:container:php:phpini/display_errors
  • beanstalk.phpMaxExecutionTime, to aws:elasticbeanstalk:container:php:phpini/max_execution_time
  • beanstalk.phpComposerOptions, to aws:elasticbeanstalk:container:php:phpini/composer_options

The reason for most of those aliases if the need to address space and ':' inside Maven Properties and XML Files.


<optionsToRemove> OptionSpecification[] 0.2.0 (no description)
<redToRedOkay> boolean 0.2.0 Allows one Red (broken) environment to replace another Red (broken) environment.
Default value is: true.
User property is: beanstalk.redToRedOkay.
<regionName> String 0.2.0

Service region e.g. "us-east-1"

See this list for reference.


User property is: beanstalker.region.
<serverId> String 0.2.0 The server id in maven settings.xml to use for AWS Services Credentials (accessKey / secretKey)
Default value is: aws.amazon.com.
User property is: beanstalker.serverId.
<skipIfSameVersion> boolean 0.2.0 Skips if Same Version?
Default value is: true.
User property is: beanstalk.skipIfSameVersion.
<solutionStack> String 0.2.0 Solution Stack Name
Default value is: 32bit Amazon Linux running Tomcat 7.
User property is: beanstalk.solutionStack.
<tags> Map 0.2.0

Environment Tag List

To set up environment tags put this under plugin configuration tag


<tags>
  <tagName>tagValue</tagName>
</tags>

or use system property in the following format: beanstalk.tag.TAG_NAME=TAG_VALUE
<templateName> String 0.2.0

Template Name.

Could be either literal or a glob, like,

ingenieux-services-prod-*
. If a glob, there will be a lookup involved, and the first one in reverse ASCIIbetical order will be picked upon.


User property is: beanstalk.templateName.
<timeoutMins> Integer 0.2.0 Minutes until timeout
Default value is: 20.
User property is: beanstalk.timeoutMins.
<verbose> boolean 0.2.0 Verbose Logging?
Default value is: false.
User property is: beanstalker.verbose.
<versionLabel> String 0.2.0 Version Label to use
User property is: beanstalk.versionLabel.
<waitForReady> boolean 0.2.0

Status to Wait For

Optional. If set, will block until app status is set eg "Ready"


Default value is: true.
User property is: beanstalk.waitForReady.

Parameter Details

<applicationDescription>

Application Description
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.applicationDescription
  • Default: ${project.name}

<applicationName>

Beanstalk Application Name
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: Yes
  • User Property: beanstalk.applicationName
  • Default: ${project.artifactId}

<attemptRetryInterval>

Retry Interval, in Seconds
  • Type: int
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.attemptRetryInterval
  • Default: 60

<cnamePrefix>

CNAME Prefix

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.cnamePrefix

<configurableOptionSettings>

Allows you to declare your own properties inside the plugin configuration, as long as it starts with "beanstalk.x."


<pluginManagement>
  <plugins>
    <plugin>
      <groupId>br.com.ingenieux</groupId>
      <artifactId>beanstalk-maven-plugin</artifactId>
      <inherited>true</inherited>
      <version>XXX</version>
      <configuration>
        <tags>
          <Uses>ingenieux Beanstalker, http://beanstalker.ingenieux.com.br/</Uses>
        </tags>
        <configurableOptionSettings>
          <configurableOptionSetting>
            <alias>beanstalkx.serviceRole</alias>
            <namespace>aws:elasticbeanstalk:environment</namespace>
            <optionName>ServiceRole</optionName>
          </configurableOptionSetting>
        </configurableOptionSettings>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

This basically exposes the beanstalkx.serviceRole property as the mentioned Configuration Option Setting

  • Type: java.util.List
  • Since: 0.2.0
  • Required: No

<copyOptionSettings>

Whether or not to copy option settings from old environment when replacing
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.copyOptionSettings
  • Default: true

<copySolutionStack>

Whether or not to keep the Elastic Beanstalk platform (aka solutionStack) from the old environment when replacing
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.copySolutionStack
  • Default: true

<credentialId>

The credential id (on ~/.aws/credentials file) to use)
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalker.credentialId
  • Default: default

<domains>

List of R53 Domains

Could be set as either:

  • fqdn:hostedZoneId (e.g. "services.modafocas.org:Z3DJ4DL0DIEEJA")
  • hosted zone name - will be set to root. (e.g., "modafocas.org")
  • Type: java.lang.String[]
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.domains

<endpointUrl>

Endpoint URL
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.endpointUrl

<environmentName>

environmentName. Takes precedence over environmentRef.
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: Yes
  • User Property: beanstalk.environmentName

<environmentRef>

Environment Ref
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.environmentRef
  • Default: ${project.artifactId}.elasticbeanstalk.com

<environmentTierName>

Environment Tier Name (defaults to "WebServer")

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.environmentTierName
  • Default: WebServer

<environmentTierType>

Environment Tier Type

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.environmentTierType

<environmentTierVersion>

Environment Tier Version

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.environmentTierVersion

<ignoreExceptions>

Ignore Exceptions?
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalker.ignoreExceptions
  • Default: false

<maxAttempts>

Max Number of Attempts (for cnameSwap in Particular)
  • Type: java.lang.Integer
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.maxAttempts
  • Default: 15

<mockTerminateEnvironment>

Do a 'Mock' Terminate Environment Call (useful for Debugging)
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.mockTerminateEnvironment
  • Default: false

<mustBeHealthy>

If waiting for the environment to become ready, this indicates wether or not we require the Green health checks to pass.

One reason to avoid such a requirement is if we are frantically replacing one failed environment with another one trying to get a ring of interdependant services to operate.

Optional, but usually true. Under normal circumstances we *only* want to swap in a healthy service.

  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.mustBeHealthy
  • Default: true

<optionSettings>

Configuration Option Settings. Will evaluate as such:

If empty, will lookup for beanstalk.env.aws.x.y variable in the context, and it will map this variable to namespace [aws.x], under option name y, unless there's an alias set.

A Property might be aliased. Current aliases include:

  • beanstalk.scalingAvailabilityZones, to aws:autoscaling:asg/Availability Zones
  • beanstalk.scalingCooldown, to aws:autoscaling:asg/Cooldown
  • beanstalk.scalingCustomAvailabilityZones, to aws:autoscaling:asg/Custom Availability Zones
  • beanstalk.scalingMinSize, to aws:autoscaling:asg/MinSize
  • beanstalk.scalingMaxSize, to aws:autoscaling:asg/MaxSize
  • beanstalk.keyName, to aws:autoscaling:launchconfiguration/EC2KeyName (EC2 Instance Key)
  • beanstalk.iamInstanceProfile, to aws:autoscaling:launchconfiguration/IamInstanceProfile (IAM Instance Profile Role Name)
  • beanstalk.imageId, to aws:autoscaling:launchconfiguration/ImageId
  • beanstalk.instanceType, to aws:autoscaling:launchconfiguration/InstanceType (EC2 Instance Type to Use)
  • beanstalk.monitoringInterval, to aws:autoscaling:launchconfiguration/MonitoringInterval
  • beanstalk.securityGroups, to aws:autoscaling:launchconfiguration/SecurityGroups
  • beanstalk.sshSourceRestriction, to aws:autoscaling:launchconfiguration/SSHSourceRestriction
  • beanstalk.blockDeviceMappings, to aws:autoscaling:launchconfiguration/BlockDeviceMappings
  • beanstalk.rootVolumeType, to aws:autoscaling:launchconfiguration/RootVolumeType
  • beanstalk.rootVolumeSize, to aws:autoscaling:launchconfiguration/RootVolumeSize
  • beanstalk.rootVolumeIOPS, to aws:autoscaling:launchconfiguration/RootVolumeIOPS
  • beanstalk.triggerBreachDuration, to aws:autoscaling:trigger/BreachDuration
  • beanstalk.triggerLowerBreachScaleIncrement, to aws:autoscaling:trigger/LowerBreachScaleIncrement
  • beanstalk.triggerLowerThreshold, to aws:autoscaling:trigger/LowerThreshold
  • beanstalk.triggerMeasureName, to aws:autoscaling:trigger/MeasureName
  • beanstalk.triggerPeriod, to aws:autoscaling:trigger/Period
  • beanstalk.triggerStatistic, to aws:autoscaling:trigger/Statistic
  • beanstalk.triggerUnit, to aws:autoscaling:trigger/Unit
  • beanstalk.triggerUpperBreachScaleIncrement, to aws:autoscaling:trigger/UpperBreachScaleIncrement
  • beanstalk.triggerUpperThreshold, to aws:autoscaling:trigger/UpperThreshold
  • beanstalk.rollingupdateMaxBatchSize, to aws:autoscaling:updatepolicy:rollingupdate/MaxBatchSize
  • beanstalk.rollingupdateMinInstancesInService, to aws:autoscaling:updatepolicy:rollingupdate/MinInstancesInService
  • beanstalk.rollingupdatePauseTime, to aws:autoscaling:updatepolicy:rollingupdate/PauseTime
  • beanstalk.rollingupdateEnabled, to aws:autoscaling:updatepolicy:rollingupdate/RollingUpdateEnabled
  • beanstalk.vpcId, to aws:ec2:vpc/VPCId
  • beanstalk.vpcSubnets, to aws:ec2:vpc/Subnets
  • beanstalk.vpcELBSubnets, to aws:ec2:vpc/ELBSubnets
  • beanstalk.vpcELBScheme, to aws:ec2:vpc/ELBScheme
  • beanstalk.vpcDBSubnets, to aws:ec2:vpc/DBSubnets
  • beanstalk.vpcAssociatePublicIpAddress, to aws:ec2:vpc/AssociatePublicIpAddress
  • beanstalk.applicationHealthCheckURL, to aws:elasticbeanstalk:application/Application Healthcheck URL (Application Healthcheck URL)
  • beanstalk.timeout, to aws:elasticbeanstalk:command/Timeout
  • beanstalk.environmentType, to aws:elasticbeanstalk:environment/EnvironmentType (SingleInstance or ELB-bound Environment)
  • beanstalk.automaticallyTerminateUnhealthyInstances, to aws:elasticbeanstalk:monitoring/Automatically Terminate Unhealthy Instances (true if should automatically terminate instances)
  • beanstalk.notificationEndpoint, to aws:elasticbeanstalk:sns:topics/Notification Endpoint
  • beanstalk.notificationProtocol, to aws:elasticbeanstalk:sns:topics/Notification Protocol
  • beanstalk.notificationTopicARN, to aws:elasticbeanstalk:sns:topics/Notification Topic ARN
  • beanstalk.notificationTopicName, to aws:elasticbeanstalk:sns:topics/Notification Topic Name
  • beanstalk.sqsdWorkerQueueUrl, to aws:elasticbeanstalk:sqsd/WorkerQueueURL
  • beanstalk.sqsdHttpPath, to aws:elasticbeanstalk:sqsd/HttpPath
  • beanstalk.sqsdMimeType, to aws:elasticbeanstalk:sqsd/MimeType
  • beanstalk.sqsdHttpConnections, to aws:elasticbeanstalk:sqsd/HttpConnections
  • beanstalk.sqsdConnectTimeout, to aws:elasticbeanstalk:sqsd/ConnectTimeout
  • beanstalk.sqsdInactivityTimeout, to aws:elasticbeanstalk:sqsd/InactivityTimeout
  • beanstalk.sqsdVisibilityTimeout, to aws:elasticbeanstalk:sqsd/VisibilityTimeout
  • beanstalk.sqsdRetentionPeriod, to aws:elasticbeanstalk:sqsd/RetentionPeriod
  • beanstalk.sqsdMaxRetries, to aws:elasticbeanstalk:sqsd/MaxRetries
  • beanstalk.healthcheckHealthyThreshold, to aws:elb:healthcheck/HealthyThreshold
  • beanstalk.healthcheckInterval, to aws:elb:healthcheck/Interval
  • beanstalk.healthcheckTimeout, to aws:elb:healthcheck/Timeout
  • beanstalk.healthcheckUnhealthyThreshold, to aws:elb:healthcheck/UnhealthyThreshold
  • beanstalk.loadBalancerHTTPPort, to aws:elb:loadbalancer/LoadBalancerHTTPPort
  • beanstalk.loadBalancerPortProtocol, to aws:elb:loadbalancer/LoadBalancerPortProtocol
  • beanstalk.loadBalancerHTTPSPort, to aws:elb:loadbalancer/LoadBalancerHTTPSPort
  • beanstalk.loadBalancerSSLPortProtocol, to aws:elb:loadbalancer/LoadBalancerSSLPortProtocol
  • beanstalk.loadBalancerSSLCertificateId, to aws:elb:loadbalancer/SSLCertificateId
  • beanstalk.stickinessCookieExpiration, to aws:elb:policies/Stickiness Cookie Expiration (Stickiness Cookie Expiration Timeout)
  • beanstalk.stickinessPolicy, to aws:elb:policies/Stickiness Policy (ELB Stickiness Policy)
  • beanstalk.dbAllocatedStorage, to aws:rds:dbinstance/DBAllocatedStorage
  • beanstalk.dbDeletionPolicy, to aws:rds:dbinstance/DBDeletionPolicy
  • beanstalk.dbEngine, to aws:rds:dbinstance/DBEngine
  • beanstalk.dbEngineVersion, to aws:rds:dbinstance/DBEngineVersion
  • beanstalk.dbInstanceClass, to aws:rds:dbinstance/DBInstanceClass
  • beanstalk.dbPassword, to aws:rds:dbinstance/DBPassword
  • beanstalk.dbSnapshotIdentifier, to aws:rds:dbinstance/DBSnapshotIdentifier
  • beanstalk.dbUser, to aws:rds:dbinstance/DBUser
  • beanstalk.dbMultiAZDatabase, to aws:rds:dbinstance/MultiAZDatabase
  • beanstalk.environmentAwsSecretKey, to aws:elasticbeanstalk:application:environment/AWS_SECRET_KEY
  • beanstalk.environmentAwsAccessKeyId, to aws:elasticbeanstalk:application:environment/AWS_ACCESS_KEY_ID
  • beanstalk.environmentJdbcConnectionString, to aws:elasticbeanstalk:application:environment/JDBC_CONNECTION_STRING
  • beanstalk.environmentParam1, to aws:elasticbeanstalk:application:environment/PARAM1
  • beanstalk.environmentParam2, to aws:elasticbeanstalk:application:environment/PARAM2
  • beanstalk.environmentParam3, to aws:elasticbeanstalk:application:environment/PARAM3
  • beanstalk.environmentParam4, to aws:elasticbeanstalk:application:environment/PARAM4
  • beanstalk.environmentParam5, to aws:elasticbeanstalk:application:environment/PARAM5
  • beanstalk.logPublicationControl, to aws:elasticbeanstalk:hostmanager/LogPublicationControl
  • beanstalk.jvmOptions, to aws:elasticbeanstalk:container:tomcat:jvmoptions/JVM Options
  • beanstalk.jvmXmx, to aws:elasticbeanstalk:container:tomcat:jvmoptions/Xmx
  • beanstalk.jvmMaxPermSize, to aws:elasticbeanstalk:container:tomcat:jvmoptions/XX:MaxPermSize
  • beanstalk.jvmXms, to aws:elasticbeanstalk:container:tomcat:jvmoptions/Xms
  • beanstalk.phpDocumentRoot, to aws:elasticbeanstalk:container:php:phpini/document_root
  • beanstalk.phpMemoryLimit, to aws:elasticbeanstalk:container:php:phpini/memory_limit
  • beanstalk.phpZlibOutputCompression, to aws:elasticbeanstalk:container:php:phpini/zlib.output_compression
  • beanstalk.phpAllowUrlFopen, to aws:elasticbeanstalk:container:php:phpini/allow_url_fopen
  • beanstalk.phpDisplayErrors, to aws:elasticbeanstalk:container:php:phpini/display_errors
  • beanstalk.phpMaxExecutionTime, to aws:elasticbeanstalk:container:php:phpini/max_execution_time
  • beanstalk.phpComposerOptions, to aws:elasticbeanstalk:container:php:phpini/composer_options

The reason for most of those aliases if the need to address space and ':' inside Maven Properties and XML Files.

  • Type: com.amazonaws.services.elasticbeanstalk.model.ConfigurationOptionSetting[]
  • Since: 0.2.0
  • Required: No

<optionsToRemove>

(no description)
  • Type: com.amazonaws.services.elasticbeanstalk.model.OptionSpecification[]
  • Since: 0.2.0
  • Required: No

<redToRedOkay>

Allows one Red (broken) environment to replace another Red (broken) environment.
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.redToRedOkay
  • Default: true

<regionName>

Service region e.g. "us-east-1"

See this list for reference.

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalker.region

<serverId>

The server id in maven settings.xml to use for AWS Services Credentials (accessKey / secretKey)
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalker.serverId
  • Default: aws.amazon.com

<session>

(no description)
  • Type: org.apache.maven.execution.MavenSession
  • Since: 0.2.0
  • Required: Yes
  • Default: ${session}

<skipIfSameVersion>

Skips if Same Version?
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.skipIfSameVersion
  • Default: true

<solutionStack>

Solution Stack Name
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.solutionStack
  • Default: 32bit Amazon Linux running Tomcat 7

<tags>

Environment Tag List

To set up environment tags put this under plugin configuration tag


<tags>
  <tagName>tagValue</tagName>
</tags>

or use system property in the following format: beanstalk.tag.TAG_NAME=TAG_VALUE
  • Type: java.util.Map
  • Since: 0.2.0
  • Required: No

<templateName>

Template Name.

Could be either literal or a glob, like,

ingenieux-services-prod-*
. If a glob, there will be a lookup involved, and the first one in reverse ASCIIbetical order will be picked upon.

  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.templateName

<timeoutMins>

Minutes until timeout
  • Type: java.lang.Integer
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.timeoutMins
  • Default: 20

<verbose>

Verbose Logging?
  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalker.verbose
  • Default: false

<versionLabel>

Version Label to use
  • Type: java.lang.String
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.versionLabel

<waitForReady>

Status to Wait For

Optional. If set, will block until app status is set eg "Ready"

  • Type: boolean
  • Since: 0.2.0
  • Required: No
  • User Property: beanstalk.waitForReady
  • Default: true