List of usage examples for com.amazonaws.services.ec2.model Subnet getAvailabilityZone
public String getAvailabilityZone()
The Availability Zone of the subnet.
From source file:com.cloudera.director.aws.ec2.ebs.EBSAllocator.java
License:Apache License
/** * Get the availability zone from a Subnet ID. * * @param subnetId the id of the subnet/*from www .j a v a2 s .c om*/ * @return the availability zone of the subnet */ private String getAvailabilityZoneFromSubnetId(String subnetId) { DescribeSubnetsRequest request = new DescribeSubnetsRequest().withSubnetIds(subnetId); DescribeSubnetsResult result = client.describeSubnets(request); Subnet subnet = Iterables.getOnlyElement(result.getSubnets()); return subnet.getAvailabilityZone(); }
From source file:com.infinitechaos.vpcviewer.web.rest.dto.SubnetDTO.java
License:Open Source License
public SubnetDTO(final Subnet subnet) { this.subnetId = subnet.getSubnetId(); this.vpcId = subnet.getVpcId(); this.state = subnet.getState(); this.availabilityZone = subnet.getAvailabilityZone(); this.cidrBlock = subnet.getCidrBlock(); this.tags.addAll(subnet.getTags().stream().map(TagDTO::new).collect(Collectors.toList())); this.name = subnet.getTags().stream().filter(t -> t.getKey().equals("Name")).findFirst().map(Tag::getValue) .orElse("n/a"); }
From source file:com.pinterest.arcee.handler.SpecsHandler.java
License:Apache License
public List<SpecBean> getSubnets() { DescribeSubnetsRequest request = new DescribeSubnetsRequest(); request.setFilters(// ww w . j a va 2 s. com Arrays.asList(new Filter[] { new Filter("VpcId", Arrays.asList(new String[] { VPC_ID })) })); DescribeSubnetsResult result = client.describeSubnets(); List<Subnet> subnets = result.getSubnets(); ArrayList<SpecBean> subnetsName = new ArrayList<>(); for (Subnet subnet : subnets) { SpecBean specBean = new SpecBean(); specBean.setSpecId(subnet.getSubnetId()); specBean.addInfo("zone", subnet.getAvailabilityZone()); if (subnet.getTags().isEmpty()) { specBean.addInfo("tag", ""); } else { specBean.addInfo("tag", subnet.getTags().get(0).getValue()); } subnetsName.add(specBean); } return subnetsName; }
From source file:com.urbancode.terraform.tasks.aws.SubnetTask.java
License:Apache License
/** * @return false if ID is null, or true if it is non-null *//* w ww .j a v a 2 s .c o m*/ public boolean verify() { // will return false if the id is null boolean result = false; if (subnetId != null) { if (ec2Client == null) { ec2Client = context.fetchEC2Client(); } List<String> id = new ArrayList<String>(); id.add(subnetId); List<Subnet> subnets = helper.getSubnets(id, ec2Client); if (subnets != null && !subnets.isEmpty()) { for (Subnet subnet : subnets) { if (subnet.getAvailabilityZone().equalsIgnoreCase(zone)) { if (subnet.getCidrBlock().equals(cidr)) { result = true; } } } } } return result; }
From source file:jp.primecloud.auto.api.instance.EditInstanceAws.java
License:Open Source License
@GET @Produces(MediaType.APPLICATION_JSON)/*from ww w .ja va2 s.c om*/ public EditInstanceAwsResponse editInstance(@QueryParam(PARAM_NAME_INSTANCE_NO) String instanceNo, @QueryParam(PARAM_NAME_COMMENT) String comment, @QueryParam(PARAM_NAME_INSTANCE_TYPE) String instanceType, @QueryParam(PARAM_NAME_KEY_NAME) String keyName, @QueryParam(PARAM_NAME_SECURITY_GROUPS) String securityGroups, @QueryParam(PARAM_NAME_AVAILABILITY_ZONE) String availabilityZone, @QueryParam(PARAM_NAME_IP_ADDRESS) String ipAddress, @QueryParam(PARAM_NAME_SUBNET) String subnet, @QueryParam(PARAM_NAME_ROOT_SIZE) String rootSize, @QueryParam(PARAM_NAME_PRIVATE_IP) String privateIp) { // InstanceNo ApiValidate.validateInstanceNo(instanceNo); // ? Instance instance = getInstance(Long.parseLong(instanceNo)); // ?? User user = checkAndGetUser(instance); // ?? InstanceStatus status = InstanceStatus.fromStatus(instance.getStatus()); if (InstanceStatus.STOPPED != status) { // ??????? throw new AutoApplicationException("EAPI-100014", instanceNo); } // ?? Platform platform = platformDao.read(instance.getPlatformNo()); if (!PLATFORM_TYPE_AWS.equals(platform.getPlatformType())) { // ?AWS??? throw new AutoApplicationException("EAPI-100031", "AWS", instanceNo, instance.getPlatformNo()); } // Comment ApiValidate.validateComment(comment); // InstanceType ApiValidate.validateInstanceType(instanceType, true); if (!checkInstanceType(instance.getImageNo(), instanceType)) { // InstanceType???? throw new AutoApplicationException("EAPI-000011", instance.getImageNo(), instanceType); } // KeyName ApiValidate.validateKeyName(keyName); if (!checkKeyName(user.getUserNo(), instance.getPlatformNo(), keyName)) { // KeyName???? throw new AutoApplicationException("EAPI-000012", instance.getPlatformNo(), keyName); } // SecurityGroups ApiValidate.validateSecurityGroups(securityGroups); if (!checkSecurityGroups(user.getUserNo(), instance.getPlatformNo(), securityGroups)) { // SecurityGroups???? throw new AutoApplicationException("EAPI-100019", instance.getPlatformNo(), securityGroups); } PlatformAws platformAws = platformAwsDao.read(instance.getPlatformNo()); // Subnet(VPC??) Subnet awsSubnet = null; if (BooleanUtils.isTrue(platformAws.getVpc())) { ApiValidate.validateSubnet(subnet); awsSubnet = getSubnet(user.getUserNo(), instance.getPlatformNo(), subnet); if (awsSubnet == null) { // CidrBlock???? throw new AutoApplicationException("EAPI-000017", instance.getPlatformNo(), subnet); } } // RootSize Integer rootSize2 = null; if (StringUtils.isNotEmpty(rootSize)) { ImageAws imageAws = imageAwsDao.read(instance.getImageNo()); int min = imageAws.getRootSize() == null ? 0 : imageAws.getRootSize(); ApiValidate.validateRootSize(rootSize, min); rootSize2 = Integer.valueOf(rootSize); } // PrivateIpAddress(VPC??) if (BooleanUtils.isTrue(platformAws.getVpc()) && StringUtils.isNotEmpty(privateIp)) { ApiValidate.validatePrivateIpAddress(privateIp); // ???IP?????? if (!checkPrivateIp(subnet, privateIp)) { // ???IP??? throw new AutoApplicationException("EAPI-000018", subnet, privateIp); } } // AvailabilityZone(?VPC??) if (BooleanUtils.isNotTrue(platformAws.getVpc())) { ApiValidate.validateAvailabilityZone(availabilityZone); if (StringUtils.isNotEmpty(availabilityZone) && !checkAvailabilityZoneName(user.getUserNo(), instance.getPlatformNo(), availabilityZone)) { // AvailabilityZoneName???? throw new AutoApplicationException("EAPI-100017", instance.getPlatformNo(), availabilityZone); } } // IpAddress Long addressNo = null; if (StringUtils.isNotEmpty(ipAddress)) { ApiValidate.validateIpAddress(ipAddress, false); List<AwsAddress> awsAddresses = awsAddressDao.readByUserNo(user.getUserNo()); for (AwsAddress awsAddress : awsAddresses) { if (instance.getPlatformNo().equals(awsAddress.getPlatformNo())) { if (ipAddress.equals(awsAddress.getPublicIp())) { addressNo = awsAddress.getAddressNo(); break; } } } if (addressNo == null) { // IpAddress???? throw new AutoApplicationException("EAPI-100016", instance.getInstanceNo(), ipAddress); } } // ? if (BooleanUtils.isTrue(platformAws.getVpc())) { instanceService.updateAwsInstance(instance.getInstanceNo(), instance.getInstanceName(), comment, keyName, instanceType, securityGroups, awsSubnet.getAvailabilityZone(), addressNo, awsSubnet.getSubnetId(), rootSize2, privateIp); } else { instanceService.updateAwsInstance(instance.getInstanceNo(), instance.getInstanceName(), comment, keyName, instanceType, securityGroups, availabilityZone, addressNo, null, rootSize2, null); } EditInstanceAwsResponse response = new EditInstanceAwsResponse(); return response; }
From source file:jp.primecloud.auto.api.lb.EditLoadBalancer.java
License:Open Source License
/** * ?//w w w . jav a 2 s. co m * * @param loadBalancerNo ?? * @param componentNo ??? * @param securityGroups (?) * @param cidrBlock ?(cidrBlock??) * @param comment * @return EditLoadBalancerResponse */ @GET @Produces(MediaType.APPLICATION_JSON) public EditLoadBalancerResponse editLoadBalancer(@QueryParam(PARAM_NAME_LOAD_BALANCER_NO) String loadBalancerNo, @QueryParam(PARAM_NAME_COMPONENT_NO) String componentNo, @QueryParam(PARAM_NAME_SECURITY_GROUPS) String securityGroups, @QueryParam(PARAM_NAME_SUBNET) String cidrBlock, @QueryParam(PARAM_NAME_COMMENT) String comment, @QueryParam(PARAM_NAME_IS_INTERNAL) String isInternal) { // ? // LoadBalancerNo ApiValidate.validateLoadBalancerNo(loadBalancerNo); LoadBalancer loadBalancer = getLoadBalancer(Long.parseLong(loadBalancerNo)); // ?? User user = checkAndGetUser(loadBalancer); // ComponentNo ApiValidate.validateComponentNo(componentNo); Component component = getComponent(Long.parseLong(componentNo)); if (BooleanUtils.isFalse(component.getFarmNo().equals(loadBalancer.getFarmNo()))) { //??????? throw new AutoApplicationException("EAPI-100022", "Component", loadBalancer.getFarmNo(), PARAM_NAME_COMPONENT_NO, componentNo); } //vpcId? PlatformAws platformAws = null; String vpcId = null; if (LB_TYPE_ELB.equals(loadBalancer.getType())) { platformAws = platformAwsDao.read(loadBalancer.getPlatformNo()); if (platformAws.getVpc() && StringUtils.isNotEmpty(platformAws.getVpcId())) { vpcId = platformAws.getVpcId(); } } //SecurityGroups if (LB_TYPE_ELB.equals(loadBalancer.getType()) && platformAws.getVpc()) { //ELB+VPC?? ApiValidate.validateSecurityGroups(securityGroups); if (checkSecurityGroups(user.getUserNo(), loadBalancer.getPlatformNo(), vpcId, securityGroups) == false) { //????? throw new AutoApplicationException("EAPI-100019", loadBalancer.getPlatformNo(), securityGroups); } } //Subnet String subnetId = null; String availabilityZone = null; if (LB_TYPE_ELB.equals(loadBalancer.getType()) && platformAws.getVpc()) { //ELB+VPC?? ApiValidate.validateSubnet(cidrBlock); List<String> cidrBlocks = commaTextToList(cidrBlock); List<Subnet> subnets = getSubnet(user.getUserNo(), loadBalancer.getPlatformNo(), vpcId, cidrBlocks); if (subnets.size() != cidrBlocks.size()) { //?????? throw new AutoApplicationException("EAPI-000017", loadBalancer.getPlatformNo(), cidrBlock); } StringBuffer subnetBuffer = new StringBuffer(); StringBuffer zoneBuffer = new StringBuffer(); List<String> zones = new ArrayList<String>(); for (Subnet subnet : subnets) { if (zones.contains(subnet.getAvailabilityZone())) { //????????? throw new AutoApplicationException("EAPI-100032", cidrBlock); } zones.add(subnet.getAvailabilityZone()); subnetBuffer.append(subnetBuffer.length() > 0 ? "," + subnet.getSubnetId() : subnet.getSubnetId()); zoneBuffer.append(zoneBuffer.length() > 0 ? "," + subnet.getAvailabilityZone() : subnet.getAvailabilityZone()); } subnetId = subnetBuffer.toString(); availabilityZone = zoneBuffer.toString(); } // Comment ApiValidate.validateComment(comment); // isInternal boolean internal = false; if (LB_TYPE_ELB.equals(loadBalancer.getType()) && platformAws.getVpc()) { if (isInternal != null) { ApiValidate.validateIsStaticIp(isInternal); internal = Boolean.parseBoolean(isInternal); } else { AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(Long.parseLong(loadBalancerNo)); internal = awsLoadBalancer.getInternal(); } } else { if (isInternal != null) { // ELB ?? ?VPC?????? throw new AutoApplicationException("EAPI-100040", loadBalancerNo); } } CloudstackLoadBalancer cloudstackLoadBalancer = null; if (PCCConstant.LOAD_BALANCER_CLOUDSTACK.equals(loadBalancer.getType())) { cloudstackLoadBalancer = cloudstackLoadBalancerDao.read(Long.parseLong(loadBalancerNo)); } LoadBalancerStatus status = LoadBalancerStatus.fromStatus(loadBalancer.getStatus()); if (LoadBalancerStatus.WARNING == status) { // ? ? Warning throw new AutoApplicationException("EAPI-100025", loadBalancerNo); } // ? if (LB_TYPE_ELB.equals(loadBalancer.getType())) { //EBS(Elastic Load Balance) //TODO loadBalancerService.updateAwsLoadBalancer(Long.parseLong(loadBalancerNo), loadBalancer.getLoadBalancerName(), comment, Long.parseLong(componentNo), subnetId, securityGroups, availabilityZone, internal); } else if (LB_TYPE_ULTRA_MONKEY.equals(loadBalancer.getType())) { //UltraMonkey loadBalancerService.updateUltraMonkeyLoadBalancer(Long.parseLong(loadBalancerNo), loadBalancer.getLoadBalancerName(), comment, Long.parseLong(componentNo)); } else if (LB_TYPE_CLOUDSTACK.equals(loadBalancer.getType())) { //CloudStack loadBalancerService.updateCloudstackLoadBalancer(Long.parseLong(loadBalancerNo), loadBalancer.getLoadBalancerName(), comment, Long.parseLong(componentNo), cloudstackLoadBalancer.getAlgorithm(), cloudstackLoadBalancer.getPublicport(), cloudstackLoadBalancer.getPrivateport()); } EditLoadBalancerResponse response = new EditLoadBalancerResponse(); return response; }
From source file:jp.primecloud.auto.process.aws.AwsLoadBalancerProcess.java
License:Open Source License
public String createLoadBalancer(AwsProcessClient awsProcessClient, Long loadBalancerNo) { AwsLoadBalancer awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); // ??//from w w w . j a va2 s.c om CreateLoadBalancerRequest request = new CreateLoadBalancerRequest(); request.withLoadBalancerName(awsLoadBalancer.getName()); // ? Listener listener = new Listener(); listener.withProtocol("TCP"); listener.withLoadBalancerPort(65535); listener.withInstancePort(65535); request.withListeners(listener); // ?PVC?? if (BooleanUtils.isNotTrue(awsProcessClient.getPlatformAws().getVpc())) { // AvailabilityZones List<AvailabilityZone> availabilityZones = awsCommonProcess.describeAvailabilityZones(awsProcessClient); for (AvailabilityZone availabilityZone : availabilityZones) { request.withAvailabilityZones(availabilityZone.getZoneName()); } } // VPC?? else { // Subnet List<Subnet> subnets = awsCommonProcess.describeSubnetsByVpcId(awsProcessClient, awsProcessClient.getPlatformAws().getVpcId()); if (StringUtils.isNotEmpty(awsLoadBalancer.getSubnetId())) { for (String subnetId : StringUtils.split(awsLoadBalancer.getSubnetId(), ",")) { subnetId = subnetId.trim(); for (Subnet subnet : subnets) { if (StringUtils.equals(subnetId, subnet.getSubnetId())) { request.withSubnets(subnetId); break; } } } } else { // Subnet??????????AvailabilityZone?Subnet? Map<String, String> subnetIdMap = new LinkedHashMap<String, String>(); for (Subnet subnet : subnets) { if (BooleanUtils.isTrue(subnet.getDefaultForAz())) { subnetIdMap.put(subnet.getAvailabilityZone(), subnet.getSubnetId()); continue; } if (!subnetIdMap.containsKey(subnet.getAvailabilityZone())) { subnetIdMap.put(subnet.getAvailabilityZone(), subnet.getSubnetId()); } } request.withSubnets(subnetIdMap.values()); } // SecurytiGroup List<SecurityGroup> securityGroups = awsCommonProcess.describeSecurityGroupsByVpcId(awsProcessClient, awsProcessClient.getPlatformAws().getVpcId()); for (String groupName : StringUtils.split(awsLoadBalancer.getSecurityGroups(), ",")) { groupName = groupName.trim(); for (SecurityGroup securityGroup : securityGroups) { if (StringUtils.equals(groupName, securityGroup.getGroupName())) { request.withSecurityGroups(securityGroup.getGroupId()); break; } } } // Internal if (BooleanUtils.isTrue(awsLoadBalancer.getInternal())) { request.withScheme("internal"); } } // ??? CreateLoadBalancerResult result = awsProcessClient.getElbClient().createLoadBalancer(request); String dnsName = result.getDNSName(); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-200111", awsLoadBalancer.getName())); } // processLogger.debug(null, null, "AwsElbCreate", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() }); // ?? DeleteLoadBalancerListenersRequest request2 = new DeleteLoadBalancerListenersRequest(); request2.withLoadBalancerName(awsLoadBalancer.getName()); request2.withLoadBalancerPorts(65535); awsProcessClient.getElbClient().deleteLoadBalancerListeners(request2); // ? ModifyLoadBalancerAttributesRequest request3 = new ModifyLoadBalancerAttributesRequest(); request3.withLoadBalancerName(awsLoadBalancer.getName()); request3.withLoadBalancerAttributes(new LoadBalancerAttributes() .withCrossZoneLoadBalancing(new CrossZoneLoadBalancing().withEnabled(true))); awsProcessClient.getElbClient().modifyLoadBalancerAttributes(request3); // processLogger.debug(null, null, "AwsCrossZoneEnabled", new Object[] { awsProcessClient.getPlatform().getPlatformName(), awsLoadBalancer.getName() }); // awsLoadBalancer = awsLoadBalancerDao.read(loadBalancerNo); awsLoadBalancer.setDnsName(dnsName); awsLoadBalancerDao.update(awsLoadBalancer); return dnsName; }
From source file:jp.primecloud.auto.service.impl.LoadBalancerServiceImpl.java
License:Open Source License
/** * {@inheritDoc}//from w w w .ja va 2 s . c o m */ @Override public Long createAwsLoadBalancer(Long farmNo, String loadBalancerName, String comment, Long platformNo, Long componentNo, boolean internal) { // ? if (farmNo == null) { throw new AutoApplicationException("ECOMMON-000003", "farmNo"); } if (loadBalancerName == null || loadBalancerName.length() == 0) { throw new AutoApplicationException("ECOMMON-000003", "loadBalancerName"); } if (platformNo == null) { throw new AutoApplicationException("ECOMMON-000003", "platformNo"); } if (componentNo == null) { throw new AutoApplicationException("ECOMMON-000003", "componentNo"); } // ?? if (!Pattern.matches("^[0-9a-z]|[0-9a-z][0-9a-z-]*[0-9a-z]$", loadBalancerName)) { throw new AutoApplicationException("ECOMMON-000012", "loadBalancerName"); } // TODO: ?? // ?? Platform platform = platformDao.read(platformNo); if (PCCConstant.PLATFORM_TYPE_AWS.equals(platform.getPlatformType()) == false) { throw new AutoApplicationException("ESERVICE-000606", platformNo); } // ?????? LoadBalancer checkLoadBalancer = loadBalancerDao.readByFarmNoAndLoadBalancerName(farmNo, loadBalancerName); if (checkLoadBalancer != null) { // ???????? throw new AutoApplicationException("ESERVICE-000601", loadBalancerName); } // ???? Instance checkInstance = instanceDao.readByFarmNoAndInstanceName(farmNo, loadBalancerName); if (checkInstance != null) { // ??????? throw new AutoApplicationException("ESERVICE-000626", loadBalancerName); } // ?? Farm farm = farmDao.read(farmNo); if (farm == null) { throw new AutoApplicationException("ESERVICE-000602", farmNo); } // ???? long countComponent = componentDao.countByComponentNo(componentNo); if (countComponent == 0) { // ??????? throw new AutoApplicationException("ESERVICE-000607", componentNo); } //AWS??? AwsCertificate awsCertificate = awsCertificateDao.read(farm.getUserNo(), platformNo); //?()?? PlatformAws platformAws = platformAwsDao.read(platformNo); String subnetId = null; String availabilityZone = null; if (platformAws.getVpc() && StringUtils.isNotEmpty(awsCertificate.getDefLbSubnet())) { //VPC ?? ?(?)??? List<String> defLbSubnets = new ArrayList<String>(); for (String lbSubnet : awsCertificate.getDefLbSubnet().split(",")) { defLbSubnets.add(lbSubnet.trim()); } List<String> zones = new ArrayList<String>(); StringBuffer subnetBuffer = new StringBuffer(); StringBuffer zoneBuffer = new StringBuffer(); List<Subnet> subnets = awsDescribeService.getSubnets(farm.getUserNo(), platformNo); for (Subnet subnet : subnets) { if (defLbSubnets.contains(subnet.getSubnetId()) && zones.contains(subnet.getAvailabilityZone()) == false) { subnetBuffer .append(subnetBuffer.length() > 0 ? "," + subnet.getSubnetId() : subnet.getSubnetId()); zoneBuffer.append(zoneBuffer.length() > 0 ? "," + subnet.getAvailabilityZone() : subnet.getAvailabilityZone()); zones.add(subnet.getAvailabilityZone()); } } //?? subnetId = subnetBuffer.toString(); availabilityZone = zoneBuffer.toString(); } //?? String groupName = null; if (platformAws.getVpc()) { //VPC?? List<SecurityGroup> securityGroups = awsDescribeService.getSecurityGroups(farm.getUserNo(), platformNo); for (SecurityGroup securityGroup : securityGroups) { if ("default".equals(securityGroup.getGroupName())) { //default?????default? groupName = securityGroup.getGroupName(); break; } } if (groupName == null && securityGroups.size() > 0) { //default????1 groupName = securityGroups.get(0).getGroupName(); } } // ??? LoadBalancer loadBalancer = new LoadBalancer(); loadBalancer.setFarmNo(farmNo); loadBalancer.setLoadBalancerName(loadBalancerName); loadBalancer.setComment(comment); loadBalancer.setFqdn(loadBalancerName + "." + farm.getDomainName()); loadBalancer.setPlatformNo(platformNo); loadBalancer.setType(PCCConstant.LOAD_BALANCER_ELB); loadBalancer.setEnabled(false); loadBalancer.setStatus(LoadBalancerStatus.STOPPED.toString()); loadBalancer.setComponentNo(componentNo); loadBalancerDao.create(loadBalancer); Long loadBalancerNo = loadBalancer.getLoadBalancerNo(); // AWS??? AwsLoadBalancer awsLoadBalancer = new AwsLoadBalancer(); awsLoadBalancer.setLoadBalancerNo(loadBalancerNo); awsLoadBalancer.setName(loadBalancerName + "-" + loadBalancerNo); awsLoadBalancer.setDnsName(null); awsLoadBalancer.setSubnetId(subnetId); awsLoadBalancer.setSecurityGroups(groupName); awsLoadBalancer.setAvailabilityZone(availabilityZone); awsLoadBalancer.setInternal(internal); awsLoadBalancerDao.create(awsLoadBalancer); // ??? createDefaultHealthCheck(loadBalancer); // ?? registerInstances(loadBalancer); // Zabbix?? Boolean useZabbix = BooleanUtils.toBooleanObject(Config.getProperty("zabbix.useZabbix")); if (BooleanUtils.isTrue(useZabbix)) { ZabbixLoadBalancer zabbixLoadBalancer = new ZabbixLoadBalancer(); zabbixLoadBalancer.setLoadBalancerNo(loadBalancerNo); zabbixLoadBalancerDao.create(zabbixLoadBalancer); } // eventLogger.log(EventLogLevel.INFO, farmNo, farm.getFarmName(), null, null, null, null, "LoadBalancerCreate", null, null, new Object[] { loadBalancerName, platform.getPlatformName(), PCCConstant.LOAD_BALANCER_ELB }); // ?? processHook.execute("post-create-loadbalancer", farm.getUserNo(), farm.getFarmNo(), loadBalancerNo); return loadBalancerNo; }
From source file:jp.primecloud.auto.ui.WinLoadBalancerEdit.java
License:Open Source License
@SuppressWarnings("unchecked") private void okButtonClick(ClickEvent event) { // ?/* w w w. j ava 2 s .co m*/ // basicTab.commentField.validate(); if (PCCConstant.LOAD_BALANCER_ELB.equals(loadBalancer.getLoadBalancer().getType())) { if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc())) { basicTab.subnetSelect.validate(); basicTab.securityGroupSelect.validate(); } } // ? healthCheckTab.checkProtocolSelect.validate(); healthCheckTab.checkPortField.validate(); if ("HTTP".equals(healthCheckTab.checkProtocolSelect.getValue())) { healthCheckTab.checkPathField.validate(); } healthCheckTab.checkTimeoutField.validate(); healthCheckTab.checkIntervalField.validate(); healthCheckTab.unhealthyThresholdField.validate(); healthCheckTab.healthyThresholdField.validate(); // ??? if (PCCConstant.LOAD_BALANCER_ELB.equals(loadBalancer.getLoadBalancer().getType())) { if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc())) { // ?????????? Collection<String> selectedSubnetIds = (Collection<String>) basicTab.subnetSelect.getValue(); List<String> zones = new ArrayList<String>(); for (String subnetId : selectedSubnetIds) { Subnet subnet = findSubnet(subnetId); if (zones.contains(subnet.getAvailabilityZone())) { // ????????? throw new AutoApplicationException("IUI-000110"); } zones.add(subnet.getAvailabilityZone()); } } } // OperationLogger.writeLoadBalancer("LOAD_BALANCER", "Edit Load_Balancer", loadBalancerNo, null); LoadBalancerService loadBalancerService = BeanContext.getBean(LoadBalancerService.class); // ? String comment = (String) basicTab.commentField.getValue(); Long componentNo = (Long) basicTab.serviceSelect.getValue(); // AWS? if (PCCConstant.LOAD_BALANCER_ELB.equals(loadBalancer.getLoadBalancer().getType())) { String subnetId = null; String zone = null; String securityGroup = null; boolean internal = false; if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc())) { securityGroup = (String) basicTab.securityGroupSelect.getValue(); internal = (Boolean) basicTab.internalSelect.getValue(); Collection<String> selectedSubnetIds = (Collection<String>) basicTab.subnetSelect.getValue(); for (String selectedSubnetId : selectedSubnetIds) { subnetId = (subnetId == null) ? selectedSubnetId : (subnetId + "," + selectedSubnetId); Subnet subnet = findSubnet(selectedSubnetId); zone = (zone == null) ? subnet.getAvailabilityZone() : (zone + "," + subnet.getAvailabilityZone()); } } String loadBalancerName = loadBalancer.getLoadBalancer().getLoadBalancerName(); loadBalancerService.updateAwsLoadBalancer(loadBalancerNo, loadBalancerName, comment, componentNo, subnetId, securityGroup, zone, internal); } // UltraMonkey? else if (PCCConstant.LOAD_BALANCER_ULTRAMONKEY.equals(loadBalancer.getLoadBalancer().getType())) { String loadBalancerName = loadBalancer.getLoadBalancer().getLoadBalancerName(); loadBalancerService.updateUltraMonkeyLoadBalancer(loadBalancerNo, loadBalancerName, comment, componentNo); } // ?? String checkProtocol = (String) healthCheckTab.checkProtocolSelect.getValue(); Integer checkPort = Integer.valueOf((String) healthCheckTab.checkPortField.getValue()); String checkPath = (String) healthCheckTab.checkPathField.getValue(); Integer checkTimeout = Integer.valueOf((String) healthCheckTab.checkTimeoutField.getValue()); Integer checkInterval = Integer.valueOf((String) healthCheckTab.checkIntervalField.getValue()); Integer healthyThreshold = Integer.valueOf((String) healthCheckTab.healthyThresholdField.getValue()); Integer unhealthyThreshold = Integer.valueOf((String) healthCheckTab.unhealthyThresholdField.getValue()); loadBalancerService.configureHealthCheck(loadBalancerNo, checkProtocol, checkPort, checkPath, checkTimeout, checkInterval, healthyThreshold, unhealthyThreshold); // ?? close(); }
From source file:jp.primecloud.auto.ui.WinServerEdit.java
License:Open Source License
private void updateAwsInstance() { // ?/*from w w w. j a v a 2 s . com*/ String comment = (String) basicTab.commentField.getValue(); String keyName = (String) awsDetailTab.keySelect.getValue(); String groupName = (String) awsDetailTab.grpSelect.getValue(); String serverSize = (String) awsDetailTab.sizeSelect.getValue(); String zoneName = null; String subnetId = null; String privateIp = null; String rootSize = (String) awsDetailTab.rootSizeField.getValue(); Long addressNo = (awsDetailTab.elasticIpSelect == null) ? null : (Long) awsDetailTab.elasticIpSelect.getValue(); Subnet subnet = null; if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc())) { subnetId = (String) awsDetailTab.subnetSelect.getValue(); subnet = awsDetailTab.findSubnet(subnetId); zoneName = subnet.getAvailabilityZone(); privateIp = (String) awsDetailTab.privateIpField.getValue(); } else { zoneName = (String) awsDetailTab.zoneSelect.getValue(); } if (awsDetailTab.NULL_ADDRESS.equals(addressNo)) { addressNo = null; } // ? basicTab.commentField.validate(); awsDetailTab.sizeSelect.validate(); awsDetailTab.keySelect.validate(); awsDetailTab.grpSelect.validate(); if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc())) { awsDetailTab.subnetSelect.validate(); awsDetailTab.privateIpField.validate(); } else { awsDetailTab.zoneSelect.validate(); } awsDetailTab.rootSizeField.validate(); if (awsDetailTab.elasticIpSelect != null) { awsDetailTab.elasticIpSelect.validate(); } // IP???????? if (BooleanUtils.isTrue(platform.getPlatformAws().getVpc()) && StringUtils.isNotEmpty(privateIp)) { long privateIpAddress = IpAddressUtils.parse(privateIp); long networkAddress = IpAddressUtils.getNetworkAddress(subnet.getCidrBlock()); long broadcastAddress = IpAddressUtils.getBroadcastAddress(subnet.getCidrBlock()); // AWS?????4???1??IP??????????? if (privateIpAddress < networkAddress + 4 || broadcastAddress - 1 < privateIpAddress) { throw new AutoApplicationException("IUI-000109", IpAddressUtils.format(networkAddress + 4), IpAddressUtils.format(broadcastAddress - 1)); } } // ????ElasticIP?????? if (addressNo != null) { AwsAddress awsAddress = awsDetailTab.findAwsAddress(addressNo); if (awsAddress.getInstanceNo() != null) { if (instance.getAwsAddress() == null || !instance.getAwsAddress().getAddressNo().equals(awsAddress.getAddressNo())) { throw new AutoApplicationException("IUI-000064"); } } } Integer rootSize2 = null; try { rootSize2 = Integer.valueOf(rootSize); } catch (Exception ignore) { } // OperationLogger.writeInstance("SERVER", "Edit Server", instanceNo, null); // AWS? InstanceService instanceService = BeanContext.getBean(InstanceService.class); instanceService.updateAwsInstance(instanceNo, instance.getInstance().getInstanceName(), comment, keyName, serverSize, groupName, zoneName, addressNo, subnetId, rootSize2, privateIp); // ??? if (basicTab.componentNos != null && basicTab.attachService) { instanceService.associateComponents(instanceNo, basicTab.componentNos); } // ?? close(); }