Example usage for com.amazonaws.services.autoscaling.model LaunchConfiguration getSecurityGroups

List of usage examples for com.amazonaws.services.autoscaling.model LaunchConfiguration getSecurityGroups

Introduction

In this page you can find the example usage for com.amazonaws.services.autoscaling.model LaunchConfiguration getSecurityGroups.

Prototype


public java.util.List<String> getSecurityGroups() 

Source Link

Document

A list that contains the security groups to assign to the instances in the Auto Scaling group.

Usage

From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.AsLaunchDetail.java

License:Open Source License

private void buildUI(DescribeLaunchConfigurationsResult detail) {

    this.add(primaryScrollPane, BorderLayout.CENTER);

    if (!detail.getLaunchConfigurations().isEmpty()) {

        List<LaunchConfiguration> lcs = detail.getLaunchConfigurations();
        LaunchConfiguration lc = lcs.get(0);

        if (lc.getAssociatePublicIpAddress() != null) {
            primaryTableModel.addRow(new Object[] { "Has EIP", lc.getAssociatePublicIpAddress() });
        }/* w w w .  ja  v  a2s . c  o  m*/
        if (lc.getClassicLinkVPCId() != null) {
            primaryTableModel.addRow(new Object[] { "Classic Link VPC Id", lc.getClassicLinkVPCId() });
        }

        if (!lc.getClassicLinkVPCSecurityGroups().isEmpty()) {

            StringBuilder sgs = new StringBuilder();
            for (String sg : lc.getClassicLinkVPCSecurityGroups()) {
                sgs.append(sg).append(", ");
            }

            primaryTableModel.addRow(new Object[] { "Classic Link VPC Security Groups", sgs.toString() });
        }

        if (lc.getCreatedTime() != null) {
            primaryTableModel.addRow(new Object[] { "Created", getDateString(lc.getCreatedTime()) });
        }
        if (lc.getEbsOptimized() != null) {
            primaryTableModel.addRow(new Object[] { "EBS Optimised", lc.getEbsOptimized() });
        }
        if (lc.getIamInstanceProfile() != null) {
            primaryTableModel.addRow(new Object[] { "Instance Profile", lc.getIamInstanceProfile() });
        }
        if (lc.getImageId() != null) {
            primaryTableModel.addRow(new Object[] { "Image Id", lc.getImageId() });
        }
        if (lc.getInstanceType() != null) {
            primaryTableModel.addRow(new Object[] { "Instance Type", lc.getInstanceType() });
        }
        if (lc.getKernelId() != null) {
            primaryTableModel.addRow(new Object[] { "Kernal Id", lc.getKernelId() });
        }
        if (lc.getKeyName() != null) {
            primaryTableModel.addRow(new Object[] { "Key Name", lc.getKeyName() });
        }
        if (lc.getLaunchConfigurationARN() != null) {
            primaryTableModel
                    .addRow(new Object[] { "Launch Configuration Arn", lc.getLaunchConfigurationARN() });
        }
        if (lc.getLaunchConfigurationName() != null) {
            primaryTableModel
                    .addRow(new Object[] { "Launch Configuration Name", lc.getLaunchConfigurationName() });
        }
        if (lc.getPlacementTenancy() != null) {
            primaryTableModel.addRow(new Object[] { "Placement Tenancy", lc.getPlacementTenancy() });
        }
        if (lc.getRamdiskId() != null) {
            primaryTableModel.addRow(new Object[] { "Ram Disk ID", lc.getRamdiskId() });
        }

        if (!lc.getSecurityGroups().isEmpty()) {

            StringBuilder sgs = new StringBuilder();
            for (String sg : lc.getSecurityGroups()) {
                sgs.append(sg).append(", ");
            }

            primaryTableModel.addRow(new Object[] { "Security Groups", sgs.toString() });
        }

        if (lc.getSpotPrice() != null) {
            primaryTableModel.addRow(new Object[] { "Spot Price", lc.getSpotPrice() });
        }
    }

}

From source file:com.netflix.spinnaker.clouddriver.aws.deploy.handlers.MigrateServerGroupStrategy.java

License:Apache License

protected List<MigrateSecurityGroupResult> generateTargetSecurityGroups(LaunchConfiguration sourceLaunchConfig,
        MigrateServerGroupResult result) {

    sourceLaunchConfig.getSecurityGroups().stream()
            .filter(g -> !sourceLookup.getSecurityGroupById(source.getCredentialAccount(), g, source.getVpcId())
                    .isPresent())/*from   www  .j av  a 2  s.  c om*/
            .forEach(m -> result.getWarnings().add(
                    "Skipping creation of security group: " + m + " (could not be found in source location)"));

    List<String> securityGroupNames = sourceLaunchConfig.getSecurityGroups().stream()
            .filter(g -> sourceLookup.getSecurityGroupById(source.getCredentialAccount(), g, source.getVpcId())
                    .isPresent())
            .map(g -> sourceLookup.getSecurityGroupById(source.getCredentialAccount(), g, source.getVpcId())
                    .get())
            .map(g -> g.getSecurityGroup().getGroupName()).collect(Collectors.toList());

    List<MigrateSecurityGroupResult> targetSecurityGroups = securityGroupNames.stream()
            .map(group -> getMigrateSecurityGroupResult(group)).collect(Collectors.toList());

    if (getDeployDefaults().getAddAppGroupToServerGroup()) {
        Names names = Names.parseName(source.getName());
        // if the app security group is already present, don't include it twice
        Optional<MigrateSecurityGroupResult> appGroup = targetSecurityGroups.stream()
                .filter(r -> names.getApp().equals(r.getTarget().getTargetName())).findFirst();
        if (!appGroup.isPresent()) {
            appGroup = Optional.of(generateAppSecurityGroup());
            targetSecurityGroups.add(appGroup.get());
        }
        handleClassicLinkIngress(appGroup.get().getTarget().getTargetId());
    }

    return targetSecurityGroups;
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScaleGroupManager.java

License:Apache License

@Override
public GroupBean getLaunchConfigByName(String configId) throws Exception {
    GroupBean groupBean = new GroupBean();
    if (configId == null) {
        return groupBean;
    }// w w w  .  jav  a2 s  .co m

    DescribeLaunchConfigurationsRequest configurationsRequest = new DescribeLaunchConfigurationsRequest();
    configurationsRequest.setLaunchConfigurationNames(Arrays.asList(configId));
    DescribeLaunchConfigurationsResult configurationsResult = aasClient
            .describeLaunchConfigurations(configurationsRequest);
    List<LaunchConfiguration> configs = configurationsResult.getLaunchConfigurations();
    if (configs.isEmpty()) {
        return groupBean;
    }

    LaunchConfiguration config = configs.get(0);
    groupBean.setInstance_type(config.getInstanceType());
    groupBean.setImage_id(config.getImageId());
    if (!config.getSecurityGroups().isEmpty()) {
        groupBean.setSecurity_group(config.getSecurityGroups().get(0));
    }

    groupBean.setUser_data(new String(Base64.decodeBase64(config.getUserData())));
    groupBean.setIam_role(config.getIamInstanceProfile());

    if (config.isAssociatePublicIpAddress() != null) {
        groupBean.setAssign_public_ip(config.getAssociatePublicIpAddress());
    } else {
        // default value to false
        groupBean.setAssign_public_ip(false);
    }
    return groupBean;
}

From source file:com.pinterest.arcee.autoscaling.AwsAutoScalingManager.java

License:Apache License

@Override
public AwsVmBean getLaunchConfigInfo(String launchConfigId) throws Exception {
    DescribeLaunchConfigurationsRequest configRequest = new DescribeLaunchConfigurationsRequest();
    configRequest.setLaunchConfigurationNames(Arrays.asList(launchConfigId));
    DescribeLaunchConfigurationsResult configResult = aasClient.describeLaunchConfigurations(configRequest);
    List<LaunchConfiguration> configs = configResult.getLaunchConfigurations();
    if (configs.isEmpty()) {
        LOG.error(String.format("Failed to get cluster: Launch config %s does not exist", launchConfigId));
        return null;
    }/*  w  w w. j  a  v  a 2  s.  c  om*/

    LaunchConfiguration config = configs.get(0);
    AwsVmBean awsVmBean = new AwsVmBean();
    awsVmBean.setImage(config.getImageId());
    awsVmBean.setHostType(config.getInstanceType());
    awsVmBean.setSecurityZone(config.getSecurityGroups().get(0));
    awsVmBean.setAssignPublicIp(config.getAssociatePublicIpAddress());
    awsVmBean.setLaunchConfigId(config.getLaunchConfigurationName());
    String roleName = config.getIamInstanceProfile();
    if (roleName.contains("/")) {
        awsVmBean.setRole(roleName.split("/")[1]);
    } else {
        awsVmBean.setRole(roleName);
    }
    String userData = new String(Base64.decodeBase64(config.getUserData()));
    awsVmBean.setRawUserDataString(userData);
    return awsVmBean;
}

From source file:com.pinterest.clusterservice.cm.AwsVmManager.java

License:Apache License

@Override
public AwsVmBean getCluster(String clusterName) throws Exception {
    AutoScalingGroup group = getAutoScalingGroup(clusterName);
    if (group == null) {
        LOG.warn(String.format("Failed to get cluster %s: auto scaling group %s does not exist", clusterName,
                clusterName));/*from   w ww.j av  a 2  s. co m*/
        return null;
    }

    LaunchConfiguration config = getLaunchConfig(group.getLaunchConfigurationName());
    if (config == null) {
        LOG.warn(String.format("Failed to get cluster: Launch config %s does not exist",
                group.getLaunchConfigurationName()));
        return null;
    }

    AwsVmBean awsVmBean = new AwsVmBean();
    awsVmBean.setClusterName(clusterName);
    awsVmBean.setImage(config.getImageId());
    awsVmBean.setHostType(config.getInstanceType());
    awsVmBean.setSecurityZone(config.getSecurityGroups().get(0));
    awsVmBean.setAssignPublicIp(config.getAssociatePublicIpAddress());
    awsVmBean.setLaunchConfigId(config.getLaunchConfigurationName());
    String roleName = config.getIamInstanceProfile();
    awsVmBean.setRole(roleName.split("/")[1]);
    String userData = new String(Base64.decodeBase64(config.getUserData()));
    awsVmBean.setUserDataConfigs(transformUserDataToConfigMap(clusterName, userData));
    awsVmBean.setSubnet(group.getVPCZoneIdentifier());
    awsVmBean.setMinSize(group.getMinSize());
    awsVmBean.setMaxSize(group.getMaxSize());
    return awsVmBean;
}