/* * 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.ec2.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.ec2.model.*; import com.amazonaws.transform.Marshaller; import com.amazonaws.util.StringUtils; /** * ImportInstanceRequest Marshaller */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ImportInstanceRequestMarshaller implements Marshaller<Request<ImportInstanceRequest>, ImportInstanceRequest> { public Request<ImportInstanceRequest> marshall(ImportInstanceRequest importInstanceRequest) { if (importInstanceRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<ImportInstanceRequest> request = new DefaultRequest<ImportInstanceRequest>(importInstanceRequest, "AmazonEC2"); request.addParameter("Action", "ImportInstance"); request.addParameter("Version", "2016-11-15"); request.setHttpMethod(HttpMethodName.POST); if (importInstanceRequest.getDescription() != null) { request.addParameter("Description", StringUtils.fromString(importInstanceRequest.getDescription())); } ImportInstanceLaunchSpecification launchSpecification = importInstanceRequest.getLaunchSpecification(); if (launchSpecification != null) { if (launchSpecification.getArchitecture() != null) { request.addParameter("LaunchSpecification.Architecture", StringUtils.fromString(launchSpecification.getArchitecture())); } com.amazonaws.internal.SdkInternalList<String> importInstanceLaunchSpecificationGroupNamesList = (com.amazonaws.internal.SdkInternalList<String>) launchSpecification .getGroupNames(); if (!importInstanceLaunchSpecificationGroupNamesList.isEmpty() || !importInstanceLaunchSpecificationGroupNamesList.isAutoConstruct()) { int groupNamesListIndex = 1; for (String importInstanceLaunchSpecificationGroupNamesListValue : importInstanceLaunchSpecificationGroupNamesList) { if (importInstanceLaunchSpecificationGroupNamesListValue != null) { request.addParameter("LaunchSpecification.GroupName." + groupNamesListIndex, StringUtils.fromString(importInstanceLaunchSpecificationGroupNamesListValue)); } groupNamesListIndex++; } } com.amazonaws.internal.SdkInternalList<String> importInstanceLaunchSpecificationGroupIdsList = (com.amazonaws.internal.SdkInternalList<String>) launchSpecification .getGroupIds(); if (!importInstanceLaunchSpecificationGroupIdsList.isEmpty() || !importInstanceLaunchSpecificationGroupIdsList.isAutoConstruct()) { int groupIdsListIndex = 1; for (String importInstanceLaunchSpecificationGroupIdsListValue : importInstanceLaunchSpecificationGroupIdsList) { if (importInstanceLaunchSpecificationGroupIdsListValue != null) { request.addParameter("LaunchSpecification.GroupId." + groupIdsListIndex, StringUtils.fromString(importInstanceLaunchSpecificationGroupIdsListValue)); } groupIdsListIndex++; } } if (launchSpecification.getAdditionalInfo() != null) { request.addParameter("LaunchSpecification.AdditionalInfo", StringUtils.fromString(launchSpecification.getAdditionalInfo())); } UserData userData = launchSpecification.getUserData(); if (userData != null) { if (userData.getData() != null) { request.addParameter("LaunchSpecification.UserData.Data", StringUtils.fromString(userData.getData())); } } if (launchSpecification.getInstanceType() != null) { request.addParameter("LaunchSpecification.InstanceType", StringUtils.fromString(launchSpecification.getInstanceType())); } Placement placement = launchSpecification.getPlacement(); if (placement != null) { if (placement.getAvailabilityZone() != null) { request.addParameter("LaunchSpecification.Placement.AvailabilityZone", StringUtils.fromString(placement.getAvailabilityZone())); } if (placement.getGroupName() != null) { request.addParameter("LaunchSpecification.Placement.GroupName", StringUtils.fromString(placement.getGroupName())); } if (placement.getTenancy() != null) { request.addParameter("LaunchSpecification.Placement.Tenancy", StringUtils.fromString(placement.getTenancy())); } if (placement.getHostId() != null) { request.addParameter("LaunchSpecification.Placement.HostId", StringUtils.fromString(placement.getHostId())); } if (placement.getAffinity() != null) { request.addParameter("LaunchSpecification.Placement.Affinity", StringUtils.fromString(placement.getAffinity())); } } if (launchSpecification.getMonitoring() != null) { request.addParameter("LaunchSpecification.Monitoring.Enabled", StringUtils.fromBoolean(launchSpecification.getMonitoring())); } if (launchSpecification.getSubnetId() != null) { request.addParameter("LaunchSpecification.SubnetId", StringUtils.fromString(launchSpecification.getSubnetId())); } if (launchSpecification.getInstanceInitiatedShutdownBehavior() != null) { request.addParameter("LaunchSpecification.InstanceInitiatedShutdownBehavior", StringUtils.fromString(launchSpecification.getInstanceInitiatedShutdownBehavior())); } if (launchSpecification.getPrivateIpAddress() != null) { request.addParameter("LaunchSpecification.PrivateIpAddress", StringUtils.fromString(launchSpecification.getPrivateIpAddress())); } } com.amazonaws.internal.SdkInternalList<DiskImage> importInstanceRequestDiskImagesList = (com.amazonaws.internal.SdkInternalList<DiskImage>) importInstanceRequest .getDiskImages(); if (!importInstanceRequestDiskImagesList.isEmpty() || !importInstanceRequestDiskImagesList.isAutoConstruct()) { int diskImagesListIndex = 1; for (DiskImage importInstanceRequestDiskImagesListValue : importInstanceRequestDiskImagesList) { DiskImageDetail image = importInstanceRequestDiskImagesListValue.getImage(); if (image != null) { if (image.getFormat() != null) { request.addParameter("DiskImage." + diskImagesListIndex + ".Image.Format", StringUtils.fromString(image.getFormat())); } if (image.getBytes() != null) { request.addParameter("DiskImage." + diskImagesListIndex + ".Image.Bytes", StringUtils.fromLong(image.getBytes())); } if (image.getImportManifestUrl() != null) { request.addParameter("DiskImage." + diskImagesListIndex + ".Image.ImportManifestUrl", StringUtils.fromString(image.getImportManifestUrl())); } } if (importInstanceRequestDiskImagesListValue.getDescription() != null) { request.addParameter("DiskImage." + diskImagesListIndex + ".Description", StringUtils.fromString(importInstanceRequestDiskImagesListValue.getDescription())); } VolumeDetail volume = importInstanceRequestDiskImagesListValue.getVolume(); if (volume != null) { if (volume.getSize() != null) { request.addParameter("DiskImage." + diskImagesListIndex + ".Volume.Size", StringUtils.fromLong(volume.getSize())); } } diskImagesListIndex++; } } if (importInstanceRequest.getPlatform() != null) { request.addParameter("Platform", StringUtils.fromString(importInstanceRequest.getPlatform())); } return request; } }