Class EC2Api

java.lang.Object
com.amazon.jenkins.ec2fleet.aws.EC2Api

public class EC2Api extends Object
  • Constructor Details

    • EC2Api

      public EC2Api()
  • Method Details

    • describeInstances

      public Map<String,software.amazon.awssdk.services.ec2.model.Instance> describeInstances(software.amazon.awssdk.services.ec2.Ec2Client ec2, Set<String> instanceIds)
    • describeInstances

      public Map<String,software.amazon.awssdk.services.ec2.model.Instance> describeInstances(software.amazon.awssdk.services.ec2.Ec2Client ec2, Set<String> instanceIds, int batchSize)
    • terminateInstances

      public void terminateInstances(software.amazon.awssdk.services.ec2.Ec2Client ec2, Collection<String> instanceIds)
      Auto handle instance not found exception if any and assume those instances as already terminated
      Parameters:
      ec2 - ec2 client
      instanceIds - set of instance ids
    • tagInstances

      public void tagInstances(software.amazon.awssdk.services.ec2.Ec2Client ec2, Set<String> instanceIds, String key, String value)
    • connect

      public software.amazon.awssdk.services.ec2.Ec2Client connect(String awsCredentialsId, String regionName, String endpoint)
    • getEndpoint

      @Nullable public String getEndpoint(@Nullable String regionName, @Nullable String endpoint)
      Derive EC2 API endpoint. If endpoint parameter not empty will use it as first priority, otherwise will generate endpoint as string and check if region name looks like China cn- prefix.

      Implementation details

      List of all AWS endpoints https://docs.aws.amazon.com/general/latest/gr/rande.html

      Parameters:
      regionName - like us-east-1 not a airport code, could be null
      endpoint - custom endpoint could be null
      Returns:
      null or actual endpoint