/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using Amazon.EC2.Model;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Transform;
using Amazon.Runtime.Internal.Util;
namespace Amazon.EC2.Model.Internal.MarshallTransformations
{
///
/// CreateLaunchTemplateVersion Request Marshaller
///
public class CreateLaunchTemplateVersionRequestMarshaller : IMarshaller , IMarshaller
{
///
/// Marshaller the request object to the HTTP request.
///
///
///
public IRequest Marshall(AmazonWebServiceRequest input)
{
return this.Marshall((CreateLaunchTemplateVersionRequest)input);
}
///
/// Marshaller the request object to the HTTP request.
///
///
///
public IRequest Marshall(CreateLaunchTemplateVersionRequest publicRequest)
{
IRequest request = new DefaultRequest(publicRequest, "Amazon.EC2");
request.Parameters.Add("Action", "CreateLaunchTemplateVersion");
request.Parameters.Add("Version", "2016-11-15");
if(publicRequest != null)
{
if(publicRequest.IsSetClientToken())
{
request.Parameters.Add("ClientToken", StringUtils.FromString(publicRequest.ClientToken));
}
if(publicRequest.IsSetLaunchTemplateData())
{
if(publicRequest.LaunchTemplateData.IsSetBlockDeviceMappings())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.BlockDeviceMappings)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetDeviceName())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "DeviceName", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.DeviceName));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetEbs())
{
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetDeleteOnTermination())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "DeleteOnTermination", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValue.Ebs.DeleteOnTermination));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetEncrypted())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "Encrypted", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValue.Ebs.Encrypted));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetIops())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "Iops", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ebs.Iops));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetKmsKeyId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "KmsKeyId", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Ebs.KmsKeyId));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetSnapshotId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "SnapshotId", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Ebs.SnapshotId));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetThroughput())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "Throughput", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ebs.Throughput));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetVolumeSize())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "VolumeSize", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ebs.VolumeSize));
}
if(publicRequestLaunchTemplateDatalistValue.Ebs.IsSetVolumeType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ebs" + "." + "VolumeType", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Ebs.VolumeType));
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetNoDevice())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "NoDevice", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.NoDevice));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetVirtualName())
{
request.Parameters.Add("LaunchTemplateData" + "." + "BlockDeviceMapping" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "VirtualName", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.VirtualName));
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetCapacityReservationSpecification())
{
if(publicRequest.LaunchTemplateData.CapacityReservationSpecification.IsSetCapacityReservationPreference())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CapacityReservationSpecification" + "." + "CapacityReservationPreference", StringUtils.FromString(publicRequest.LaunchTemplateData.CapacityReservationSpecification.CapacityReservationPreference));
}
if(publicRequest.LaunchTemplateData.CapacityReservationSpecification.IsSetCapacityReservationTarget())
{
if(publicRequest.LaunchTemplateData.CapacityReservationSpecification.CapacityReservationTarget.IsSetCapacityReservationId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CapacityReservationSpecification" + "." + "CapacityReservationTarget" + "." + "CapacityReservationId", StringUtils.FromString(publicRequest.LaunchTemplateData.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId));
}
if(publicRequest.LaunchTemplateData.CapacityReservationSpecification.CapacityReservationTarget.IsSetCapacityReservationResourceGroupArn())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CapacityReservationSpecification" + "." + "CapacityReservationTarget" + "." + "CapacityReservationResourceGroupArn", StringUtils.FromString(publicRequest.LaunchTemplateData.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn));
}
}
}
if(publicRequest.LaunchTemplateData.IsSetCpuOptions())
{
if(publicRequest.LaunchTemplateData.CpuOptions.IsSetAmdSevSnp())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CpuOptions" + "." + "AmdSevSnp", StringUtils.FromString(publicRequest.LaunchTemplateData.CpuOptions.AmdSevSnp));
}
if(publicRequest.LaunchTemplateData.CpuOptions.IsSetCoreCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CpuOptions" + "." + "CoreCount", StringUtils.FromInt(publicRequest.LaunchTemplateData.CpuOptions.CoreCount));
}
if(publicRequest.LaunchTemplateData.CpuOptions.IsSetThreadsPerCore())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CpuOptions" + "." + "ThreadsPerCore", StringUtils.FromInt(publicRequest.LaunchTemplateData.CpuOptions.ThreadsPerCore));
}
}
if(publicRequest.LaunchTemplateData.IsSetCreditSpecification())
{
if(publicRequest.LaunchTemplateData.CreditSpecification.IsSetCpuCredits())
{
request.Parameters.Add("LaunchTemplateData" + "." + "CreditSpecification" + "." + "CpuCredits", StringUtils.FromString(publicRequest.LaunchTemplateData.CreditSpecification.CpuCredits));
}
}
if(publicRequest.LaunchTemplateData.IsSetDisableApiStop())
{
request.Parameters.Add("LaunchTemplateData" + "." + "DisableApiStop", StringUtils.FromBool(publicRequest.LaunchTemplateData.DisableApiStop));
}
if(publicRequest.LaunchTemplateData.IsSetDisableApiTermination())
{
request.Parameters.Add("LaunchTemplateData" + "." + "DisableApiTermination", StringUtils.FromBool(publicRequest.LaunchTemplateData.DisableApiTermination));
}
if(publicRequest.LaunchTemplateData.IsSetEbsOptimized())
{
request.Parameters.Add("LaunchTemplateData" + "." + "EbsOptimized", StringUtils.FromBool(publicRequest.LaunchTemplateData.EbsOptimized));
}
if(publicRequest.LaunchTemplateData.IsSetElasticGpuSpecifications())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.ElasticGpuSpecifications)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "ElasticGpuSpecification" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Type", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Type));
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetElasticInferenceAccelerators())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.ElasticInferenceAccelerators)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "ElasticInferenceAccelerator" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Count", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Count));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "ElasticInferenceAccelerator" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Type", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Type));
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetEnclaveOptions())
{
if(publicRequest.LaunchTemplateData.EnclaveOptions.IsSetEnabled())
{
request.Parameters.Add("LaunchTemplateData" + "." + "EnclaveOptions" + "." + "Enabled", StringUtils.FromBool(publicRequest.LaunchTemplateData.EnclaveOptions.Enabled));
}
}
if(publicRequest.LaunchTemplateData.IsSetHibernationOptions())
{
if(publicRequest.LaunchTemplateData.HibernationOptions.IsSetConfigured())
{
request.Parameters.Add("LaunchTemplateData" + "." + "HibernationOptions" + "." + "Configured", StringUtils.FromBool(publicRequest.LaunchTemplateData.HibernationOptions.Configured));
}
}
if(publicRequest.LaunchTemplateData.IsSetIamInstanceProfile())
{
if(publicRequest.LaunchTemplateData.IamInstanceProfile.IsSetArn())
{
request.Parameters.Add("LaunchTemplateData" + "." + "IamInstanceProfile" + "." + "Arn", StringUtils.FromString(publicRequest.LaunchTemplateData.IamInstanceProfile.Arn));
}
if(publicRequest.LaunchTemplateData.IamInstanceProfile.IsSetName())
{
request.Parameters.Add("LaunchTemplateData" + "." + "IamInstanceProfile" + "." + "Name", StringUtils.FromString(publicRequest.LaunchTemplateData.IamInstanceProfile.Name));
}
}
if(publicRequest.LaunchTemplateData.IsSetImageId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "ImageId", StringUtils.FromString(publicRequest.LaunchTemplateData.ImageId));
}
if(publicRequest.LaunchTemplateData.IsSetInstanceInitiatedShutdownBehavior())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceInitiatedShutdownBehavior", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceInitiatedShutdownBehavior));
}
if(publicRequest.LaunchTemplateData.IsSetInstanceMarketOptions())
{
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.IsSetMarketType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "MarketType", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceMarketOptions.MarketType));
}
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.IsSetSpotOptions())
{
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.IsSetBlockDurationMinutes())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "SpotOptions" + "." + "BlockDurationMinutes", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.BlockDurationMinutes));
}
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.IsSetInstanceInterruptionBehavior())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "SpotOptions" + "." + "InstanceInterruptionBehavior", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.InstanceInterruptionBehavior));
}
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.IsSetMaxPrice())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "SpotOptions" + "." + "MaxPrice", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.MaxPrice));
}
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.IsSetSpotInstanceType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "SpotOptions" + "." + "SpotInstanceType", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.SpotInstanceType));
}
if(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.IsSetValidUntilUtc())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceMarketOptions" + "." + "SpotOptions" + "." + "ValidUntil", StringUtils.FromDateTimeToISO8601(publicRequest.LaunchTemplateData.InstanceMarketOptions.SpotOptions.ValidUntilUtc));
}
}
}
if(publicRequest.LaunchTemplateData.IsSetInstanceRequirements())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAcceleratorCount())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorCount" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorCount.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorCount" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorCount.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAcceleratorManufacturers())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorManufacturers)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorManufacturer" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAcceleratorNames())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorNames)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorName" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAcceleratorTotalMemoryMiB())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorTotalMemoryMiB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorTotalMemoryMiB" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorTotalMemoryMiB.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorTotalMemoryMiB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorTotalMemoryMiB" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorTotalMemoryMiB.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAcceleratorTypes())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.AcceleratorTypes)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AcceleratorType" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetAllowedInstanceTypes())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.AllowedInstanceTypes)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "AllowedInstanceType" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetBareMetal())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "BareMetal", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceRequirements.BareMetal));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetBaselineEbsBandwidthMbps())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.BaselineEbsBandwidthMbps.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "BaselineEbsBandwidthMbps" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.BaselineEbsBandwidthMbps.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.BaselineEbsBandwidthMbps.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "BaselineEbsBandwidthMbps" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.BaselineEbsBandwidthMbps.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetBurstablePerformance())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "BurstablePerformance", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceRequirements.BurstablePerformance));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetCpuManufacturers())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.CpuManufacturers)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "CpuManufacturer" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetExcludedInstanceTypes())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.ExcludedInstanceTypes)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "ExcludedInstanceType" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetInstanceGenerations())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.InstanceGenerations)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "InstanceGeneration" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetLocalStorage())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "LocalStorage", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceRequirements.LocalStorage));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetLocalStorageTypes())
{
int publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDataInstanceRequirementslistValue in publicRequest.LaunchTemplateData.InstanceRequirements.LocalStorageTypes)
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "LocalStorageType" + "." + publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDataInstanceRequirementslistValue));
publicRequestLaunchTemplateDataInstanceRequirementslistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetMemoryGiBPerVCpu())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryGiBPerVCpu.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "MemoryGiBPerVCpu" + "." + "Max", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryGiBPerVCpu.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryGiBPerVCpu.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "MemoryGiBPerVCpu" + "." + "Min", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryGiBPerVCpu.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetMemoryMiB())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryMiB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "MemoryMiB" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryMiB.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryMiB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "MemoryMiB" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.MemoryMiB.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetNetworkBandwidthGbps())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkBandwidthGbps.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "NetworkBandwidthGbps" + "." + "Max", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkBandwidthGbps.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkBandwidthGbps.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "NetworkBandwidthGbps" + "." + "Min", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkBandwidthGbps.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetNetworkInterfaceCount())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkInterfaceCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "NetworkInterfaceCount" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkInterfaceCount.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkInterfaceCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "NetworkInterfaceCount" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.NetworkInterfaceCount.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetOnDemandMaxPricePercentageOverLowestPrice())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "OnDemandMaxPricePercentageOverLowestPrice", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.OnDemandMaxPricePercentageOverLowestPrice));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetRequireHibernateSupport())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "RequireHibernateSupport", StringUtils.FromBool(publicRequest.LaunchTemplateData.InstanceRequirements.RequireHibernateSupport));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetSpotMaxPricePercentageOverLowestPrice())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "SpotMaxPricePercentageOverLowestPrice", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.SpotMaxPricePercentageOverLowestPrice));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetTotalLocalStorageGB())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.TotalLocalStorageGB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "TotalLocalStorageGB" + "." + "Max", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.TotalLocalStorageGB.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.TotalLocalStorageGB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "TotalLocalStorageGB" + "." + "Min", StringUtils.FromDouble(publicRequest.LaunchTemplateData.InstanceRequirements.TotalLocalStorageGB.Min));
}
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.IsSetVCpuCount())
{
if(publicRequest.LaunchTemplateData.InstanceRequirements.VCpuCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "VCpuCount" + "." + "Max", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.VCpuCount.Max));
}
if(publicRequest.LaunchTemplateData.InstanceRequirements.VCpuCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceRequirements" + "." + "VCpuCount" + "." + "Min", StringUtils.FromInt(publicRequest.LaunchTemplateData.InstanceRequirements.VCpuCount.Min));
}
}
}
if(publicRequest.LaunchTemplateData.IsSetInstanceType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "InstanceType", StringUtils.FromString(publicRequest.LaunchTemplateData.InstanceType));
}
if(publicRequest.LaunchTemplateData.IsSetKernelId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "KernelId", StringUtils.FromString(publicRequest.LaunchTemplateData.KernelId));
}
if(publicRequest.LaunchTemplateData.IsSetKeyName())
{
request.Parameters.Add("LaunchTemplateData" + "." + "KeyName", StringUtils.FromString(publicRequest.LaunchTemplateData.KeyName));
}
if(publicRequest.LaunchTemplateData.IsSetLicenseSpecifications())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.LicenseSpecifications)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetLicenseConfigurationArn())
{
request.Parameters.Add("LaunchTemplateData" + "." + "LicenseSpecification" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "LicenseConfigurationArn", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.LicenseConfigurationArn));
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetMaintenanceOptions())
{
if(publicRequest.LaunchTemplateData.MaintenanceOptions.IsSetAutoRecovery())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MaintenanceOptions" + "." + "AutoRecovery", StringUtils.FromString(publicRequest.LaunchTemplateData.MaintenanceOptions.AutoRecovery));
}
}
if(publicRequest.LaunchTemplateData.IsSetMetadataOptions())
{
if(publicRequest.LaunchTemplateData.MetadataOptions.IsSetHttpEndpoint())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MetadataOptions" + "." + "HttpEndpoint", StringUtils.FromString(publicRequest.LaunchTemplateData.MetadataOptions.HttpEndpoint));
}
if(publicRequest.LaunchTemplateData.MetadataOptions.IsSetHttpProtocolIpv6())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MetadataOptions" + "." + "HttpProtocolIpv6", StringUtils.FromString(publicRequest.LaunchTemplateData.MetadataOptions.HttpProtocolIpv6));
}
if(publicRequest.LaunchTemplateData.MetadataOptions.IsSetHttpPutResponseHopLimit())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MetadataOptions" + "." + "HttpPutResponseHopLimit", StringUtils.FromInt(publicRequest.LaunchTemplateData.MetadataOptions.HttpPutResponseHopLimit));
}
if(publicRequest.LaunchTemplateData.MetadataOptions.IsSetHttpTokens())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MetadataOptions" + "." + "HttpTokens", StringUtils.FromString(publicRequest.LaunchTemplateData.MetadataOptions.HttpTokens));
}
if(publicRequest.LaunchTemplateData.MetadataOptions.IsSetInstanceMetadataTags())
{
request.Parameters.Add("LaunchTemplateData" + "." + "MetadataOptions" + "." + "InstanceMetadataTags", StringUtils.FromString(publicRequest.LaunchTemplateData.MetadataOptions.InstanceMetadataTags));
}
}
if(publicRequest.LaunchTemplateData.IsSetMonitoring())
{
if(publicRequest.LaunchTemplateData.Monitoring.IsSetEnabled())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Monitoring" + "." + "Enabled", StringUtils.FromBool(publicRequest.LaunchTemplateData.Monitoring.Enabled));
}
}
if(publicRequest.LaunchTemplateData.IsSetNetworkInterfaces())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.NetworkInterfaces)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetAssociateCarrierIpAddress())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "AssociateCarrierIpAddress", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValue.AssociateCarrierIpAddress));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetAssociatePublicIpAddress())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "AssociatePublicIpAddress", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValue.AssociatePublicIpAddress));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetDeleteOnTermination())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "DeleteOnTermination", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValue.DeleteOnTermination));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetDescription())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Description", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.Description));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetDeviceIndex())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "DeviceIndex", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.DeviceIndex));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetGroups())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.Groups)
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "SecurityGroupId" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue));
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetInterfaceType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "InterfaceType", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.InterfaceType));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv4PrefixCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv4PrefixCount", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ipv4PrefixCount));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv4Prefixes())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.Ipv4Prefixes)
{
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetIpv4Prefix())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv4Prefix" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Ipv4Prefix", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.Ipv4Prefix));
}
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv6AddressCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv6AddressCount", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ipv6AddressCount));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv6Addresses())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.Ipv6Addresses)
{
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetIpv6Address())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv6Addresses" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Ipv6Address", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.Ipv6Address));
}
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv6PrefixCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv6PrefixCount", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.Ipv6PrefixCount));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetIpv6Prefixes())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.Ipv6Prefixes)
{
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetIpv6Prefix())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Ipv6Prefix" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Ipv6Prefix", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.Ipv6Prefix));
}
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetNetworkCardIndex())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "NetworkCardIndex", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.NetworkCardIndex));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetNetworkInterfaceId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "NetworkInterfaceId", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.NetworkInterfaceId));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetPrivateIpAddress())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "PrivateIpAddress", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.PrivateIpAddress));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetPrivateIpAddresses())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.PrivateIpAddresses)
{
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetPrimary())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "PrivateIpAddresses" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Primary", StringUtils.FromBool(publicRequestLaunchTemplateDatalistValuelistValue.Primary));
}
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetPrivateIpAddress())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "PrivateIpAddresses" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "PrivateIpAddress", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.PrivateIpAddress));
}
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
if(publicRequestLaunchTemplateDatalistValue.IsSetSecondaryPrivateIpAddressCount())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "SecondaryPrivateIpAddressCount", StringUtils.FromInt(publicRequestLaunchTemplateDatalistValue.SecondaryPrivateIpAddressCount));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetSubnetId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "NetworkInterface" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "SubnetId", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.SubnetId));
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetPlacement())
{
if(publicRequest.LaunchTemplateData.Placement.IsSetAffinity())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "Affinity", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.Affinity));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetAvailabilityZone())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "AvailabilityZone", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.AvailabilityZone));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetGroupId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "GroupId", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.GroupId));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetGroupName())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "GroupName", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.GroupName));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetHostId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "HostId", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.HostId));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetHostResourceGroupArn())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "HostResourceGroupArn", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.HostResourceGroupArn));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetPartitionNumber())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "PartitionNumber", StringUtils.FromInt(publicRequest.LaunchTemplateData.Placement.PartitionNumber));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetSpreadDomain())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "SpreadDomain", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.SpreadDomain));
}
if(publicRequest.LaunchTemplateData.Placement.IsSetTenancy())
{
request.Parameters.Add("LaunchTemplateData" + "." + "Placement" + "." + "Tenancy", StringUtils.FromString(publicRequest.LaunchTemplateData.Placement.Tenancy));
}
}
if(publicRequest.LaunchTemplateData.IsSetPrivateDnsNameOptions())
{
if(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.IsSetEnableResourceNameDnsAAAARecord())
{
request.Parameters.Add("LaunchTemplateData" + "." + "PrivateDnsNameOptions" + "." + "EnableResourceNameDnsAAAARecord", StringUtils.FromBool(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.EnableResourceNameDnsAAAARecord));
}
if(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.IsSetEnableResourceNameDnsARecord())
{
request.Parameters.Add("LaunchTemplateData" + "." + "PrivateDnsNameOptions" + "." + "EnableResourceNameDnsARecord", StringUtils.FromBool(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.EnableResourceNameDnsARecord));
}
if(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.IsSetHostnameType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "PrivateDnsNameOptions" + "." + "HostnameType", StringUtils.FromString(publicRequest.LaunchTemplateData.PrivateDnsNameOptions.HostnameType));
}
}
if(publicRequest.LaunchTemplateData.IsSetRamDiskId())
{
request.Parameters.Add("LaunchTemplateData" + "." + "RamDiskId", StringUtils.FromString(publicRequest.LaunchTemplateData.RamDiskId));
}
if(publicRequest.LaunchTemplateData.IsSetSecurityGroupIds())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.SecurityGroupIds)
{
request.Parameters.Add("LaunchTemplateData" + "." + "SecurityGroupId" + "." + publicRequestLaunchTemplateDatalistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDatalistValue));
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetSecurityGroups())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.SecurityGroups)
{
request.Parameters.Add("LaunchTemplateData" + "." + "SecurityGroup" + "." + publicRequestLaunchTemplateDatalistValueIndex, StringUtils.FromString(publicRequestLaunchTemplateDatalistValue));
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetTagSpecifications())
{
int publicRequestLaunchTemplateDatalistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValue in publicRequest.LaunchTemplateData.TagSpecifications)
{
if(publicRequestLaunchTemplateDatalistValue.IsSetResourceType())
{
request.Parameters.Add("LaunchTemplateData" + "." + "TagSpecification" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "ResourceType", StringUtils.FromString(publicRequestLaunchTemplateDatalistValue.ResourceType));
}
if(publicRequestLaunchTemplateDatalistValue.IsSetTags())
{
int publicRequestLaunchTemplateDatalistValuelistValueIndex = 1;
foreach(var publicRequestLaunchTemplateDatalistValuelistValue in publicRequestLaunchTemplateDatalistValue.Tags)
{
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetKey())
{
request.Parameters.Add("LaunchTemplateData" + "." + "TagSpecification" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Tag" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Key", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.Key));
}
if(publicRequestLaunchTemplateDatalistValuelistValue.IsSetValue())
{
request.Parameters.Add("LaunchTemplateData" + "." + "TagSpecification" + "." + publicRequestLaunchTemplateDatalistValueIndex + "." + "Tag" + "." + publicRequestLaunchTemplateDatalistValuelistValueIndex + "." + "Value", StringUtils.FromString(publicRequestLaunchTemplateDatalistValuelistValue.Value));
}
publicRequestLaunchTemplateDatalistValuelistValueIndex++;
}
}
publicRequestLaunchTemplateDatalistValueIndex++;
}
}
if(publicRequest.LaunchTemplateData.IsSetUserData())
{
request.Parameters.Add("LaunchTemplateData" + "." + "UserData", StringUtils.FromString(publicRequest.LaunchTemplateData.UserData));
}
}
if(publicRequest.IsSetLaunchTemplateId())
{
request.Parameters.Add("LaunchTemplateId", StringUtils.FromString(publicRequest.LaunchTemplateId));
}
if(publicRequest.IsSetLaunchTemplateName())
{
request.Parameters.Add("LaunchTemplateName", StringUtils.FromString(publicRequest.LaunchTemplateName));
}
if(publicRequest.IsSetResolveAlias())
{
request.Parameters.Add("ResolveAlias", StringUtils.FromBool(publicRequest.ResolveAlias));
}
if(publicRequest.IsSetSourceVersion())
{
request.Parameters.Add("SourceVersion", StringUtils.FromString(publicRequest.SourceVersion));
}
if(publicRequest.IsSetVersionDescription())
{
request.Parameters.Add("VersionDescription", StringUtils.FromString(publicRequest.VersionDescription));
}
}
return request;
}
private static CreateLaunchTemplateVersionRequestMarshaller _instance = new CreateLaunchTemplateVersionRequestMarshaller();
internal static CreateLaunchTemplateVersionRequestMarshaller GetInstance()
{
return _instance;
}
///
/// Gets the singleton.
///
public static CreateLaunchTemplateVersionRequestMarshaller Instance
{
get
{
return _instance;
}
}
}
}