/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.autoscaling.model.transform; import javax.annotation.Generated; import com.amazonaws.SdkClientException; import com.amazonaws.Request; import com.amazonaws.DefaultRequest; import com.amazonaws.http.HttpMethodName; import com.amazonaws.services.autoscaling.model.*; import com.amazonaws.transform.Marshaller; import com.amazonaws.util.StringUtils; /** * CreateLaunchConfigurationRequest Marshaller */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateLaunchConfigurationRequestMarshaller implements Marshaller<Request<CreateLaunchConfigurationRequest>, CreateLaunchConfigurationRequest> { public Request<CreateLaunchConfigurationRequest> marshall(CreateLaunchConfigurationRequest createLaunchConfigurationRequest) { if (createLaunchConfigurationRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<CreateLaunchConfigurationRequest> request = new DefaultRequest<CreateLaunchConfigurationRequest>(createLaunchConfigurationRequest, "AmazonAutoScaling"); request.addParameter("Action", "CreateLaunchConfiguration"); request.addParameter("Version", "2011-01-01"); request.setHttpMethod(HttpMethodName.POST); if (createLaunchConfigurationRequest.getLaunchConfigurationName() != null) { request.addParameter("LaunchConfigurationName", StringUtils.fromString(createLaunchConfigurationRequest.getLaunchConfigurationName())); } if (createLaunchConfigurationRequest.getImageId() != null) { request.addParameter("ImageId", StringUtils.fromString(createLaunchConfigurationRequest.getImageId())); } if (createLaunchConfigurationRequest.getKeyName() != null) { request.addParameter("KeyName", StringUtils.fromString(createLaunchConfigurationRequest.getKeyName())); } com.amazonaws.internal.SdkInternalList<String> securityGroupsList = (com.amazonaws.internal.SdkInternalList<String>) createLaunchConfigurationRequest .getSecurityGroups(); if (!securityGroupsList.isEmpty() || !securityGroupsList.isAutoConstruct()) { int securityGroupsListIndex = 1; for (String securityGroupsListValue : securityGroupsList) { if (securityGroupsListValue != null) { request.addParameter("SecurityGroups.member." + securityGroupsListIndex, StringUtils.fromString(securityGroupsListValue)); } securityGroupsListIndex++; } } if (createLaunchConfigurationRequest.getClassicLinkVPCId() != null) { request.addParameter("ClassicLinkVPCId", StringUtils.fromString(createLaunchConfigurationRequest.getClassicLinkVPCId())); } com.amazonaws.internal.SdkInternalList<String> classicLinkVPCSecurityGroupsList = (com.amazonaws.internal.SdkInternalList<String>) createLaunchConfigurationRequest .getClassicLinkVPCSecurityGroups(); if (!classicLinkVPCSecurityGroupsList.isEmpty() || !classicLinkVPCSecurityGroupsList.isAutoConstruct()) { int classicLinkVPCSecurityGroupsListIndex = 1; for (String classicLinkVPCSecurityGroupsListValue : classicLinkVPCSecurityGroupsList) { if (classicLinkVPCSecurityGroupsListValue != null) { request.addParameter("ClassicLinkVPCSecurityGroups.member." + classicLinkVPCSecurityGroupsListIndex, StringUtils.fromString(classicLinkVPCSecurityGroupsListValue)); } classicLinkVPCSecurityGroupsListIndex++; } } if (createLaunchConfigurationRequest.getUserData() != null) { request.addParameter("UserData", StringUtils.fromString(createLaunchConfigurationRequest.getUserData())); } if (createLaunchConfigurationRequest.getInstanceId() != null) { request.addParameter("InstanceId", StringUtils.fromString(createLaunchConfigurationRequest.getInstanceId())); } if (createLaunchConfigurationRequest.getInstanceType() != null) { request.addParameter("InstanceType", StringUtils.fromString(createLaunchConfigurationRequest.getInstanceType())); } if (createLaunchConfigurationRequest.getKernelId() != null) { request.addParameter("KernelId", StringUtils.fromString(createLaunchConfigurationRequest.getKernelId())); } if (createLaunchConfigurationRequest.getRamdiskId() != null) { request.addParameter("RamdiskId", StringUtils.fromString(createLaunchConfigurationRequest.getRamdiskId())); } com.amazonaws.internal.SdkInternalList<BlockDeviceMapping> blockDeviceMappingsList = (com.amazonaws.internal.SdkInternalList<BlockDeviceMapping>) createLaunchConfigurationRequest .getBlockDeviceMappings(); if (!blockDeviceMappingsList.isEmpty() || !blockDeviceMappingsList.isAutoConstruct()) { int blockDeviceMappingsListIndex = 1; for (BlockDeviceMapping blockDeviceMappingsListValue : blockDeviceMappingsList) { if (blockDeviceMappingsListValue.getVirtualName() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".VirtualName", StringUtils.fromString(blockDeviceMappingsListValue.getVirtualName())); } if (blockDeviceMappingsListValue.getDeviceName() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".DeviceName", StringUtils.fromString(blockDeviceMappingsListValue.getDeviceName())); } Ebs ebs = blockDeviceMappingsListValue.getEbs(); if (ebs != null) { if (ebs.getSnapshotId() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.SnapshotId", StringUtils.fromString(ebs.getSnapshotId())); } if (ebs.getVolumeSize() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.VolumeSize", StringUtils.fromInteger(ebs.getVolumeSize())); } if (ebs.getVolumeType() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.VolumeType", StringUtils.fromString(ebs.getVolumeType())); } if (ebs.getDeleteOnTermination() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.DeleteOnTermination", StringUtils.fromBoolean(ebs.getDeleteOnTermination())); } if (ebs.getIops() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.Iops", StringUtils.fromInteger(ebs.getIops())); } if (ebs.getEncrypted() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".Ebs.Encrypted", StringUtils.fromBoolean(ebs.getEncrypted())); } } if (blockDeviceMappingsListValue.getNoDevice() != null) { request.addParameter("BlockDeviceMappings.member." + blockDeviceMappingsListIndex + ".NoDevice", StringUtils.fromBoolean(blockDeviceMappingsListValue.getNoDevice())); } blockDeviceMappingsListIndex++; } } InstanceMonitoring instanceMonitoring = createLaunchConfigurationRequest.getInstanceMonitoring(); if (instanceMonitoring != null) { if (instanceMonitoring.getEnabled() != null) { request.addParameter("InstanceMonitoring.Enabled", StringUtils.fromBoolean(instanceMonitoring.getEnabled())); } } if (createLaunchConfigurationRequest.getSpotPrice() != null) { request.addParameter("SpotPrice", StringUtils.fromString(createLaunchConfigurationRequest.getSpotPrice())); } if (createLaunchConfigurationRequest.getIamInstanceProfile() != null) { request.addParameter("IamInstanceProfile", StringUtils.fromString(createLaunchConfigurationRequest.getIamInstanceProfile())); } if (createLaunchConfigurationRequest.getEbsOptimized() != null) { request.addParameter("EbsOptimized", StringUtils.fromBoolean(createLaunchConfigurationRequest.getEbsOptimized())); } if (createLaunchConfigurationRequest.getAssociatePublicIpAddress() != null) { request.addParameter("AssociatePublicIpAddress", StringUtils.fromBoolean(createLaunchConfigurationRequest.getAssociatePublicIpAddress())); } if (createLaunchConfigurationRequest.getPlacementTenancy() != null) { request.addParameter("PlacementTenancy", StringUtils.fromString(createLaunchConfigurationRequest.getPlacementTenancy())); } return request; } }