当前位置: 首页>>代码示例>>Java>>正文


Java InstanceStateName.fromValue方法代码示例

本文整理汇总了Java中com.amazonaws.services.ec2.model.InstanceStateName.fromValue方法的典型用法代码示例。如果您正苦于以下问题:Java InstanceStateName.fromValue方法的具体用法?Java InstanceStateName.fromValue怎么用?Java InstanceStateName.fromValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.amazonaws.services.ec2.model.InstanceStateName的用法示例。


在下文中一共展示了InstanceStateName.fromValue方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: convert

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
/**
 * Converts the ec2 instance to a turbine instance.
 * @param ec2 EC2 instance.
 * @return Turbine instance.
 */
public com.netflix.turbine.discovery.Instance convert(final Instance ec2) {
    final boolean state = InstanceStateName.fromValue(
        ec2.getState().getName()
    ) == InstanceStateName.Running;
    return new com.netflix.turbine.discovery.Instance(
        ec2.getPrivateIpAddress(), this.cluster, state
    );
}
 
开发者ID:ContaAzul,项目名称:turbine-ec2,代码行数:14,代码来源:EC2ToTurbineInstance.java

示例2: waitUntilInstanceHasStarted

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
/**
 * Waits until the instance has entered a running state.
 *
 * @param ec2InstanceId the EC2 instance id
 * @return true if the instance has entered a running state, false if the instance is shutting down/terminated or
 * the function has timed out waiting for the instance to enter one of these two states.
 */
private boolean waitUntilInstanceHasStarted(String ec2InstanceId) throws InterruptedException {
  // TODO: Add a timeout to this loop.
  while (true) {
    try {
      DescribeInstanceStatusResult result = client.describeInstanceStatus(
          new DescribeInstanceStatusRequest()
              .withIncludeAllInstances(true)
              .withInstanceIds(ec2InstanceId)
      );
      for (InstanceStatus status : result.getInstanceStatuses()) {
        InstanceStateName currentState =
            InstanceStateName.fromValue(status.getInstanceState().getName());

        if (ec2InstanceId.equals(status.getInstanceId())) {
          if (currentState.equals(InstanceStateName.Terminated) ||
              currentState.equals(InstanceStateName.ShuttingDown)) {
            LOG.error("Instance {} has unexpectedly terminated", ec2InstanceId);
            return false;
          } else if (!currentState.equals(InstanceStateName.Pending)) {
            return true;
          }
        }
      }
    } catch (AmazonServiceException e) {
      if (!INVALID_INSTANCE_ID_NOT_FOUND.equals(e.getErrorCode())) {
        AWSExceptions.propagate(e);
      }
    }
    TimeUnit.SECONDS.sleep(5);
  }
}
 
开发者ID:cloudera,项目名称:director-aws-plugin,代码行数:39,代码来源:EC2Provider.java

示例3: createInstance

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
private Instance createInstance(Cloud cloud, String region, com.amazonaws.services.ec2.model.Instance rawInstance) {
        Instance instance = new Instance();
        String realId = String.valueOf(rawInstance.getInstanceId());
        String instanceId = idGenerator.getInstanceId(cloud, realId);
        instance.setId(instanceId);
        instance.setRealId(realId);
        instance.setName(rawInstance.getInstanceId()); //TODO: check this!
        instance.setFqdn(rawInstance.getPublicDnsName());
        instance.setCloudId(cloud.getId());
        instance.setCloudType(CloudType.AWS);

        ZonedDateTime created = ZonedDateTime.ofInstant(
                rawInstance.getLaunchTime().toInstant(),
                ZoneId.systemDefault()
        );
        instance.setCreated(created);
        InstanceStateName instanceStateName = InstanceStateName.fromValue(rawInstance.getState().getName());
        instance.setState(createState(instanceStateName));
        instance.setTimestamp(created);

        instance.setIsLocked(false);

        MetadataMap metadata = new MetadataMap();
        metadata.put(MetadataKey.REGION, region);

        //TODO: console output for AWS is a screenshot!
//        metadata.put(MetadataKey.CONSOLE_URL, getConsoleUrl(instance.getId()));
        instance.setMetadata(metadata);

        return instance;
    }
 
开发者ID:meridor,项目名称:perspective-backend,代码行数:32,代码来源:ListInstancesOperation.java

示例4: countCurrentEC2Slaves

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
/**
 * Counts the number of instances in EC2 currently running that are using
 * the specifed image.
 *
 * @param ami If AMI is left null, then all instances are counted.
 * <p>
 * This includes those instances that may be started outside Hudson.
 */
public int countCurrentEC2Slaves(String ami) throws AmazonClientException {
    int n = 0;
    for (Reservation r : connect().describeInstances().getReservations()) {
        for (Instance i : r.getInstances()) {
            if (isEc2ProvisionedSlave(i, ami)) {
                InstanceStateName stateName = InstanceStateName.fromValue(i.getState().getName());
                if (stateName == InstanceStateName.Pending || stateName == InstanceStateName.Running) {
                    n++;
                }
            }
        }
    }
    return n;
}
 
开发者ID:hudson3-plugins,项目名称:ec2-plugin,代码行数:23,代码来源:EC2Cloud.java

示例5: waitInstance

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
public Instance waitInstance(AwsProcessClient awsProcessClient, String instanceId) {
    // インスタンスの処理待ち
    Instance instance;
    while (true) {
        try {
            Thread.sleep(1000L * awsProcessClient.getDescribeInterval());
        } catch (InterruptedException ignore) {
        }

        instance = describeInstance(awsProcessClient, instanceId);
        InstanceStateName state;
        try {
            state = InstanceStateName.fromValue(instance.getState().getName());
        } catch (IllegalArgumentException e) {
            // 予期しないステータス
            AutoException exception = new AutoException("EPROCESS-000104", instanceId, instance.getState()
                    .getName());
            exception.addDetailInfo("result=" + ReflectionToStringBuilder.toString(instance));
            throw exception;
        }

        // 安定状態のステータスになったら終了
        if (state == InstanceStateName.Running || state == InstanceStateName.Terminated
                || state == InstanceStateName.Stopped) {
            break;
        }
    }

    return instance;
}
 
开发者ID:primecloud-controller-org,项目名称:primecloud-controller,代码行数:31,代码来源:AwsCommonProcess.java

示例6: getBatchInstanceState

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
/**
 * Returns a map from virtual instance IDs to instance state for the specified batch of virtual
 * instance IDs.
 *
 * @param virtualInstanceIds batch of virtual instance IDs
 * @return the map from instance IDs to instance state for the specified batch of virtual
 * instance IDs
 */
private Map<String, InstanceState> getBatchInstanceState(Collection<String> virtualInstanceIds) {
  Map<String, InstanceState> instanceStateByVirtualInstanceId =
      Maps.newHashMapWithExpectedSize(virtualInstanceIds.size());

  BiMap<String, String> virtualInstanceIdsByEC2InstanceId =
      getEC2InstanceIdsByVirtualInstanceId(virtualInstanceIds).inverse();

  int page = 0;
  LOG.info(">> Fetching page {}", page);

  if (virtualInstanceIdsByEC2InstanceId.isEmpty()) {
    // No EC2 instances are found, which means these id's are already terminated and gone.
    // In practice, this is possible when no instances were provisioned to begin with.
    // For example, when a deployment fails due to tagging error.
    return instanceStateByVirtualInstanceId;
  }

  DescribeInstanceStatusResult result = client.describeInstanceStatus(
      new DescribeInstanceStatusRequest()
          // Note that sending in an empty set will result in fetching _all_ instance Ids.
          // It requires you to send one or more EC2 Ids
          .withInstanceIds(virtualInstanceIdsByEC2InstanceId.keySet())
          .withIncludeAllInstances(true)
  );
  LOG.info("<< Result: {}", result);

  while (!result.getInstanceStatuses().isEmpty()) {
    for (InstanceStatus status : result.getInstanceStatuses()) {

      InstanceStateName currentState =
          InstanceStateName.fromValue(status.getInstanceState().getName());
      String ec2InstanceId = status.getInstanceId();
      String virtualInstanceId = virtualInstanceIdsByEC2InstanceId.get(ec2InstanceId);
      InstanceState instanceState = EC2InstanceState.fromInstanceStateName(currentState);
      instanceStateByVirtualInstanceId.put(virtualInstanceId, instanceState);
    }

    String nextToken = result.getNextToken();
    if (nextToken != null) {
      page++;
      LOG.info(">> Fetching page {} using token {}", page, nextToken);
      result = client.describeInstanceStatus(new DescribeInstanceStatusRequest()
          .withNextToken(nextToken));
      LOG.info("<< Result: {}", result);
    } else {
      break;
    }
  }

  return instanceStateByVirtualInstanceId;
}
 
开发者ID:cloudera,项目名称:director-aws-plugin,代码行数:60,代码来源:EC2Provider.java

示例7: stateFrom

import com.amazonaws.services.ec2.model.InstanceStateName; //导入方法依赖的package包/类
private InstanceStateName stateFrom(final String instanceId) {
	final Instance instance = findInstance(instanceId);
	return InstanceStateName.fromValue(instance.getState().getName());
}
 
开发者ID:jwrapper,项目名称:jwrapper-maven-plugin,代码行数:5,代码来源:CarrotElasticCompute.java


注:本文中的com.amazonaws.services.ec2.model.InstanceStateName.fromValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。