run.withInstanceType(type); run.withImageId(image); run.withMinCount(launchCount).withMaxCount(launchCount); run.withSecurityGroupIds(securityGroup); Placement placement = new Placement();
.withInstanceType(InstanceType.T1Micro) .withMaxCount(1) .withMinCount(1);
.withMinCount( stack.getRunnerCount() ).withMaxCount( stack.getRunnerCount() ) .withKeyName( spec.getKeyName() ).withSecurityGroups( stack.getIpRuleSet().getName() );
.withMinCount( cluster.getSize() ).withMaxCount( cluster.getSize() ) .withKeyName( cluster.getInstanceSpec().getKeyName() ) .withSecurityGroups( stack.getIpRuleSet().getName() );
@Override public List<Instance> createInstances(String imageId, Integer minCount, Integer maxCount, ResultCapture<RunInstancesResult> extractor) { RunInstancesRequest request = new RunInstancesRequest() .withImageId(imageId) .withMinCount(minCount) .withMaxCount(maxCount); return createInstances(request, extractor); }
@Override public List<Instance> createInstances(String imageId, Integer minCount, Integer maxCount, ResultCapture<RunInstancesResult> extractor) { RunInstancesRequest request = new RunInstancesRequest() .withImageId(imageId) .withMinCount(minCount) .withMaxCount(maxCount); return createInstances(request, extractor); }
public List<Instance> launchNodes(final String amiId, final String instanceType, final int numberToStart, final String userData, final boolean terminateOnShutdown) throws NodesCouldNotBeStartedException { RunInstancesRequest runRequest = new RunInstancesRequest(); runRequest.withImageId(amiId).withInstanceType(instanceType).withMinCount(numberToStart) .withMaxCount(numberToStart).withUserData(userData); if (terminateOnShutdown) {
RunInstancesRequest request = new RunInstancesRequest() .withImageId(amiId) .withMinCount(1) .withMaxCount(1); if (subnetId != null && !subnetId.isEmpty()) {
runInstancesRequest.withImageId(props.getProperty("master.workers.ec2.ami.id")) .withInstanceType(props.getProperty("master.workers.ec2.instanceType")) .withMinCount(totalExpectedWorkers) .withMaxCount(totalExpectedWorkers) .withBlockDeviceMappings(blockDevices)
.withUserData(getCoordinatorUserData(instanceType, coordinatorConfig, awsCredentialsFile, repositories)) .withBlockDeviceMappings(blockDeviceMappings) .withMinCount(coordinatorCount) .withMaxCount(coordinatorCount);
public Map<String, Instance> launchEC2Instances(final String instanceType, final int instanceCount, final String ec2KeyPairName, final String ec2SecurityGroup, final String amiId, final boolean createIfNonExistent) { return this.launchEC2Instances(instanceType, () -> new RunInstancesRequest() .withImageId(amiId) .withInstanceType(instanceType) .withMinCount(instanceCount) .withMaxCount(instanceCount) .withKeyName(ec2KeyPairName) .withSecurityGroups(ec2SecurityGroup), createIfNonExistent ); }
.withUserData(getCoordinatorUserData(instanceType, coordinatorConfig, awsCredentialsFile, provisioningScriptsArtifact, repositories)) .withBlockDeviceMappings(blockDeviceMappings) .withMinCount(coordinatorCount) .withMaxCount(coordinatorCount);
private List<Instance> createInstances(int instanceCount) { RunInstancesRequest runInstancesRequest = new RunInstancesRequest(); runInstancesRequest.withImageId(awsAmi) .withInstanceType(awsBoxId) .withMinCount(instanceCount) .withMaxCount(instanceCount) .withKeyName(awsKeyName); if (subNetId.isEmpty()) { runInstancesRequest.withSecurityGroups(securityGroup); } else { runInstancesRequest.withSubnetId(subNetId); } RunInstancesResult runInstancesResult = ec2.runInstances(runInstancesRequest); List<Instance> checkedInstances = new ArrayList<Instance>(); List<Instance> instances = runInstancesResult.getReservation().getInstances(); for (Instance instance : instances) { if (waitForInstanceStatusRunning(instance)) { addInstanceToAgentsFile(instance); checkedInstances.add(instance); } else { LOGGER.warn("Timeout waiting for running status id=" + instance.getInstanceId()); } } return checkedInstances; }
.withUserData(getAgentUserData(instanceType, agentConfig, repositories)) .withBlockDeviceMappings(blockDeviceMappings) .withMinCount(agentCount) .withMaxCount(agentCount);
.withImageId(ami) .withKeyName(keyName) .withMinCount(1) .withMaxCount(1) .withSecurityGroupIds(securityGroupIds)
public Map<String, Instance> launchEC2Instances(final String instanceType, final int instanceCount, final String ec2KeyPairName, final String ec2SecurityGroupId, final String ec2SubnetId, final String amiId, final boolean createIfNonExistent) { return this.launchEC2Instances(instanceType, () -> new RunInstancesRequest() .withImageId(amiId) .withInstanceType(instanceType) .withMinCount(instanceCount) .withMaxCount(instanceCount) .withKeyName(ec2KeyPairName) .withSecurityGroupIds(ec2SecurityGroupId) .withSubnetId(ec2SubnetId), createIfNonExistent ); }
.withUserData(getAgentUserData(instanceType, agentConfig, provisioningScriptsArtifact, repositories)) .withBlockDeviceMappings(blockDeviceMappings) .withMinCount(agentCount) .withMaxCount(agentCount);
@Override public List<Instance> call() { RunInstancesRequest request = new RunInstancesRequest(); request.withInstanceType(this.instanceTemplate.getInstanceType()); request.withImageId(this.instanceTemplate.getAmiId()); InstanceNetworkInterfaceSpecification nic = new InstanceNetworkInterfaceSpecification(); nic.withDeviceIndex(0); // select a subnet at random nic.withSubnetId(randomSubnet()); nic.withAssociatePublicIpAddress(this.instanceTemplate.isAssignPublicIp()); nic.withGroups(this.instanceTemplate.getSecurityGroupIds()); request.withNetworkInterfaces(nic); request.withKeyName(this.instanceTemplate.getKeyPair()); request.withIamInstanceProfile( new IamInstanceProfileSpecification().withArn(this.instanceTemplate.getIamInstanceProfileARN())); request.withUserData(this.instanceTemplate.getEncodedUserData()); request.withEbsOptimized(this.instanceTemplate.isEbsOptimized()); request.withMinCount(this.count).withMaxCount(this.count); if (!this.instanceTemplate.getTags().isEmpty()) { TagSpecification tagSpecifications = new TagSpecification().withResourceType(ResourceType.Instance); tagSpecifications.withTags(tags()); request.withTagSpecifications(tagSpecifications); } RunInstancesResult result = getClient().getApi().runInstances(request); List<Instance> launchedInstances = result.getReservation().getInstances(); List<String> instanceIds = launchedInstances.stream().map(Instance::getInstanceId).collect(Collectors.toList()); return awaitInstances(instanceIds); }