- add a new mechanism to help count the total number of EC2 instances for a particular AMI.  As an EC2Slave
is being provisioned, a temporary count is placed in a HashMap, which is used in addition to the
count reported by Amazon itself for a particular ami.   This is so that the count of total
nodes provisioned takes into account those which Amazon doesn't report yet.  The count returned
may be too high, if amazon reports it in addition to the "provision" count, but better to err on the
side of not spawning a node too soon; it will get spawned on the next go-around.
Tries to fix [JENKINS-6691].
Bring back remoteFS in the slave configuration page. It was overwritten by a blank value when the slave config was updated.
- rework terminate() and idleTimeout() so that the Amazon instructions are in indepdendent
methods stop() and terminateInstance()
- terminate() falls back to stop() if the termination command fails; this to ensure that the EC2
instance is stopped in case the instance has termination protection on it, as it is observed
that EC2 will provision an existing stopped/termination-protected instance in some cases
allow to tie slave AMI to RESTRICTED jobs
Merge pull request #30 from ndeloof/master

let user configure node.mode for EC2 slaves
Upgrade aws-java-sdk dependency to 1.3.30
Merge pull request #31 from ericsmalling/upgrade-aws

Upgrade aws-java-sdk dependency to 1.3.30
Merge pull request #26 from hvisser/remote-home-fix

Bring back remoteFS in the slave configuration page.
Merge pull request #25 from zzzeek/master

keep track of instances being provisioned; use this count when determining total/AMI instance caps
Apply MIT license to plugin (Java, Jelly and HTML).

After discussion with the maintainers (Francis and Kohsuke), and acceptance
by authors of patches, this patch applies the standard Jenkins MIT license
to this plugin. This was the intended license for this plugin since its
creation, but no indication was placed in the plugin itself of this decision.
Merge pull request #32 from kpfleming/apply-license

Apply MIT license to plugin (Java, Jelly and HTML).
Merge branch 'terminate_fallback'

Conflicts:
	src/main/java/hudson/plugins/ec2/EC2Slave.java
Merge pull request #33 from zzzeek/master

fallback a manual or timeout-based terminate to stop if terminate fails
Give Jenkins nodes useful names.

EC2 slave nodes will now include their template name and EC2 instance
identifiers in the node name used throughout the Jenkins UI.

Addresses [JENKINS-15078].
Change primary template identification to be its name, not its AMI.

Many useful configurations will have multiple slave templates that use
the same AMI (but differ in other aspects). This patch changes various
parts of the code to properly identify templates by their names (in the
'description' field) instead of their AMI. As an example, the manual slave
provisioning button, before this patch, would allow the user to select a
template from a drop-down list, but then launched the slave using the
template's AMI, which could have resulted in the wrong template being
used for the launch. This patch also changes the global config page so
that the 'description' field is the first field in each template
definition, to emphasize its importance.

Addresses [JENKINS-7960] and [JENKINS-15158].
Merge pull request #34 from kpfleming/template-node-name

Give Jenkins nodes useful names.
Merge pull request #35 from kpfleming/provision-by-template

Change primary template identification to be its name, not its AMI.
Reference getInstanceId() instead of node name in one more place
Merge pull request #36 from msm/master

Fix minor fallout from giving nodes useful names
Provide backwards compatibility for EC2Slave name change.

Commit 88222567e84ae42c602d5ac8430a95957ea083e3 changed the way that
Node objects are constructed from EC2Slave objects, in order to make the
Node 'name' fields more useful. It also added a field called 'instanceId'
to EC2Slave, and stopped relying on Node.getNodeName() to recover that
information. In order to provide compatibility with configurations from
before this change was made, this patch notes whether instanceId is null,
and if it is, extracts the instance ID from the Node's name.