/*
* 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
{
///
/// CreateFleet Request Marshaller
///
public class CreateFleetRequestMarshaller : IMarshaller , IMarshaller
{
///
/// Marshaller the request object to the HTTP request.
///
///
///
public IRequest Marshall(AmazonWebServiceRequest input)
{
return this.Marshall((CreateFleetRequest)input);
}
///
/// Marshaller the request object to the HTTP request.
///
///
///
public IRequest Marshall(CreateFleetRequest publicRequest)
{
IRequest request = new DefaultRequest(publicRequest, "Amazon.EC2");
request.Parameters.Add("Action", "CreateFleet");
request.Parameters.Add("Version", "2016-11-15");
if(publicRequest != null)
{
if(publicRequest.IsSetClientToken())
{
request.Parameters.Add("ClientToken", StringUtils.FromString(publicRequest.ClientToken));
}
if(publicRequest.IsSetContext())
{
request.Parameters.Add("Context", StringUtils.FromString(publicRequest.Context));
}
if(publicRequest.IsSetExcessCapacityTerminationPolicy())
{
request.Parameters.Add("ExcessCapacityTerminationPolicy", StringUtils.FromString(publicRequest.ExcessCapacityTerminationPolicy));
}
if(publicRequest.IsSetLaunchTemplateConfigs())
{
int publicRequestlistValueIndex = 1;
foreach(var publicRequestlistValue in publicRequest.LaunchTemplateConfigs)
{
if(publicRequestlistValue.IsSetLaunchTemplateSpecification())
{
if(publicRequestlistValue.LaunchTemplateSpecification.IsSetLaunchTemplateId())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "LaunchTemplateSpecification" + "." + "LaunchTemplateId", StringUtils.FromString(publicRequestlistValue.LaunchTemplateSpecification.LaunchTemplateId));
}
if(publicRequestlistValue.LaunchTemplateSpecification.IsSetLaunchTemplateName())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "LaunchTemplateSpecification" + "." + "LaunchTemplateName", StringUtils.FromString(publicRequestlistValue.LaunchTemplateSpecification.LaunchTemplateName));
}
if(publicRequestlistValue.LaunchTemplateSpecification.IsSetVersion())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "LaunchTemplateSpecification" + "." + "Version", StringUtils.FromString(publicRequestlistValue.LaunchTemplateSpecification.Version));
}
}
if(publicRequestlistValue.IsSetOverrides())
{
int publicRequestlistValuelistValueIndex = 1;
foreach(var publicRequestlistValuelistValue in publicRequestlistValue.Overrides)
{
if(publicRequestlistValuelistValue.IsSetAvailabilityZone())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "AvailabilityZone", StringUtils.FromString(publicRequestlistValuelistValue.AvailabilityZone));
}
if(publicRequestlistValuelistValue.IsSetImageId())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "ImageId", StringUtils.FromString(publicRequestlistValuelistValue.ImageId));
}
if(publicRequestlistValuelistValue.IsSetInstanceRequirements())
{
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAcceleratorCount())
{
if(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorCount" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorCount.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorCount" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorCount.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAcceleratorManufacturers())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.AcceleratorManufacturers)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorManufacturer" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAcceleratorNames())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.AcceleratorNames)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorName" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAcceleratorTotalMemoryMiB())
{
if(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorTotalMemoryMiB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorTotalMemoryMiB" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorTotalMemoryMiB.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorTotalMemoryMiB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorTotalMemoryMiB" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.AcceleratorTotalMemoryMiB.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAcceleratorTypes())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.AcceleratorTypes)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AcceleratorType" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetAllowedInstanceTypes())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.AllowedInstanceTypes)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "AllowedInstanceType" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetBareMetal())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "BareMetal", StringUtils.FromString(publicRequestlistValuelistValue.InstanceRequirements.BareMetal));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetBaselineEbsBandwidthMbps())
{
if(publicRequestlistValuelistValue.InstanceRequirements.BaselineEbsBandwidthMbps.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "BaselineEbsBandwidthMbps" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.BaselineEbsBandwidthMbps.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.BaselineEbsBandwidthMbps.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "BaselineEbsBandwidthMbps" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.BaselineEbsBandwidthMbps.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetBurstablePerformance())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "BurstablePerformance", StringUtils.FromString(publicRequestlistValuelistValue.InstanceRequirements.BurstablePerformance));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetCpuManufacturers())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.CpuManufacturers)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "CpuManufacturer" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetExcludedInstanceTypes())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.ExcludedInstanceTypes)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "ExcludedInstanceType" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetInstanceGenerations())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.InstanceGenerations)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "InstanceGeneration" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetLocalStorage())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "LocalStorage", StringUtils.FromString(publicRequestlistValuelistValue.InstanceRequirements.LocalStorage));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetLocalStorageTypes())
{
int publicRequestlistValuelistValueInstanceRequirementslistValueIndex = 1;
foreach(var publicRequestlistValuelistValueInstanceRequirementslistValue in publicRequestlistValuelistValue.InstanceRequirements.LocalStorageTypes)
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "LocalStorageType" + "." + publicRequestlistValuelistValueInstanceRequirementslistValueIndex, StringUtils.FromString(publicRequestlistValuelistValueInstanceRequirementslistValue));
publicRequestlistValuelistValueInstanceRequirementslistValueIndex++;
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetMemoryGiBPerVCpu())
{
if(publicRequestlistValuelistValue.InstanceRequirements.MemoryGiBPerVCpu.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "MemoryGiBPerVCpu" + "." + "Max", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.MemoryGiBPerVCpu.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.MemoryGiBPerVCpu.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "MemoryGiBPerVCpu" + "." + "Min", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.MemoryGiBPerVCpu.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetMemoryMiB())
{
if(publicRequestlistValuelistValue.InstanceRequirements.MemoryMiB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "MemoryMiB" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.MemoryMiB.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.MemoryMiB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "MemoryMiB" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.MemoryMiB.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetNetworkBandwidthGbps())
{
if(publicRequestlistValuelistValue.InstanceRequirements.NetworkBandwidthGbps.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "NetworkBandwidthGbps" + "." + "Max", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.NetworkBandwidthGbps.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.NetworkBandwidthGbps.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "NetworkBandwidthGbps" + "." + "Min", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.NetworkBandwidthGbps.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetNetworkInterfaceCount())
{
if(publicRequestlistValuelistValue.InstanceRequirements.NetworkInterfaceCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "NetworkInterfaceCount" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.NetworkInterfaceCount.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.NetworkInterfaceCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "NetworkInterfaceCount" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.NetworkInterfaceCount.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetOnDemandMaxPricePercentageOverLowestPrice())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "OnDemandMaxPricePercentageOverLowestPrice", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.OnDemandMaxPricePercentageOverLowestPrice));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetRequireHibernateSupport())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "RequireHibernateSupport", StringUtils.FromBool(publicRequestlistValuelistValue.InstanceRequirements.RequireHibernateSupport));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetSpotMaxPricePercentageOverLowestPrice())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "SpotMaxPricePercentageOverLowestPrice", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.SpotMaxPricePercentageOverLowestPrice));
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetTotalLocalStorageGB())
{
if(publicRequestlistValuelistValue.InstanceRequirements.TotalLocalStorageGB.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "TotalLocalStorageGB" + "." + "Max", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.TotalLocalStorageGB.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.TotalLocalStorageGB.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "TotalLocalStorageGB" + "." + "Min", StringUtils.FromDouble(publicRequestlistValuelistValue.InstanceRequirements.TotalLocalStorageGB.Min));
}
}
if(publicRequestlistValuelistValue.InstanceRequirements.IsSetVCpuCount())
{
if(publicRequestlistValuelistValue.InstanceRequirements.VCpuCount.IsSetMax())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "VCpuCount" + "." + "Max", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.VCpuCount.Max));
}
if(publicRequestlistValuelistValue.InstanceRequirements.VCpuCount.IsSetMin())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceRequirements" + "." + "VCpuCount" + "." + "Min", StringUtils.FromInt(publicRequestlistValuelistValue.InstanceRequirements.VCpuCount.Min));
}
}
}
if(publicRequestlistValuelistValue.IsSetInstanceType())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "InstanceType", StringUtils.FromString(publicRequestlistValuelistValue.InstanceType));
}
if(publicRequestlistValuelistValue.IsSetMaxPrice())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "MaxPrice", StringUtils.FromString(publicRequestlistValuelistValue.MaxPrice));
}
if(publicRequestlistValuelistValue.IsSetPlacement())
{
if(publicRequestlistValuelistValue.Placement.IsSetAffinity())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "Affinity", StringUtils.FromString(publicRequestlistValuelistValue.Placement.Affinity));
}
if(publicRequestlistValuelistValue.Placement.IsSetAvailabilityZone())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "AvailabilityZone", StringUtils.FromString(publicRequestlistValuelistValue.Placement.AvailabilityZone));
}
if(publicRequestlistValuelistValue.Placement.IsSetGroupId())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "GroupId", StringUtils.FromString(publicRequestlistValuelistValue.Placement.GroupId));
}
if(publicRequestlistValuelistValue.Placement.IsSetGroupName())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "GroupName", StringUtils.FromString(publicRequestlistValuelistValue.Placement.GroupName));
}
if(publicRequestlistValuelistValue.Placement.IsSetHostId())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "HostId", StringUtils.FromString(publicRequestlistValuelistValue.Placement.HostId));
}
if(publicRequestlistValuelistValue.Placement.IsSetHostResourceGroupArn())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "HostResourceGroupArn", StringUtils.FromString(publicRequestlistValuelistValue.Placement.HostResourceGroupArn));
}
if(publicRequestlistValuelistValue.Placement.IsSetPartitionNumber())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "PartitionNumber", StringUtils.FromInt(publicRequestlistValuelistValue.Placement.PartitionNumber));
}
if(publicRequestlistValuelistValue.Placement.IsSetSpreadDomain())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "SpreadDomain", StringUtils.FromString(publicRequestlistValuelistValue.Placement.SpreadDomain));
}
if(publicRequestlistValuelistValue.Placement.IsSetTenancy())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Placement" + "." + "Tenancy", StringUtils.FromString(publicRequestlistValuelistValue.Placement.Tenancy));
}
}
if(publicRequestlistValuelistValue.IsSetPriority())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "Priority", StringUtils.FromDouble(publicRequestlistValuelistValue.Priority));
}
if(publicRequestlistValuelistValue.IsSetSubnetId())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "SubnetId", StringUtils.FromString(publicRequestlistValuelistValue.SubnetId));
}
if(publicRequestlistValuelistValue.IsSetWeightedCapacity())
{
request.Parameters.Add("LaunchTemplateConfigs" + "." + publicRequestlistValueIndex + "." + "Overrides" + "." + publicRequestlistValuelistValueIndex + "." + "WeightedCapacity", StringUtils.FromDouble(publicRequestlistValuelistValue.WeightedCapacity));
}
publicRequestlistValuelistValueIndex++;
}
}
publicRequestlistValueIndex++;
}
}
if(publicRequest.IsSetOnDemandOptions())
{
if(publicRequest.OnDemandOptions.IsSetAllocationStrategy())
{
request.Parameters.Add("OnDemandOptions" + "." + "AllocationStrategy", StringUtils.FromString(publicRequest.OnDemandOptions.AllocationStrategy));
}
if(publicRequest.OnDemandOptions.IsSetCapacityReservationOptions())
{
if(publicRequest.OnDemandOptions.CapacityReservationOptions.IsSetUsageStrategy())
{
request.Parameters.Add("OnDemandOptions" + "." + "CapacityReservationOptions" + "." + "UsageStrategy", StringUtils.FromString(publicRequest.OnDemandOptions.CapacityReservationOptions.UsageStrategy));
}
}
if(publicRequest.OnDemandOptions.IsSetMaxTotalPrice())
{
request.Parameters.Add("OnDemandOptions" + "." + "MaxTotalPrice", StringUtils.FromString(publicRequest.OnDemandOptions.MaxTotalPrice));
}
if(publicRequest.OnDemandOptions.IsSetMinTargetCapacity())
{
request.Parameters.Add("OnDemandOptions" + "." + "MinTargetCapacity", StringUtils.FromInt(publicRequest.OnDemandOptions.MinTargetCapacity));
}
if(publicRequest.OnDemandOptions.IsSetSingleAvailabilityZone())
{
request.Parameters.Add("OnDemandOptions" + "." + "SingleAvailabilityZone", StringUtils.FromBool(publicRequest.OnDemandOptions.SingleAvailabilityZone));
}
if(publicRequest.OnDemandOptions.IsSetSingleInstanceType())
{
request.Parameters.Add("OnDemandOptions" + "." + "SingleInstanceType", StringUtils.FromBool(publicRequest.OnDemandOptions.SingleInstanceType));
}
}
if(publicRequest.IsSetReplaceUnhealthyInstances())
{
request.Parameters.Add("ReplaceUnhealthyInstances", StringUtils.FromBool(publicRequest.ReplaceUnhealthyInstances));
}
if(publicRequest.IsSetSpotOptions())
{
if(publicRequest.SpotOptions.IsSetAllocationStrategy())
{
request.Parameters.Add("SpotOptions" + "." + "AllocationStrategy", StringUtils.FromString(publicRequest.SpotOptions.AllocationStrategy));
}
if(publicRequest.SpotOptions.IsSetInstanceInterruptionBehavior())
{
request.Parameters.Add("SpotOptions" + "." + "InstanceInterruptionBehavior", StringUtils.FromString(publicRequest.SpotOptions.InstanceInterruptionBehavior));
}
if(publicRequest.SpotOptions.IsSetInstancePoolsToUseCount())
{
request.Parameters.Add("SpotOptions" + "." + "InstancePoolsToUseCount", StringUtils.FromInt(publicRequest.SpotOptions.InstancePoolsToUseCount));
}
if(publicRequest.SpotOptions.IsSetMaintenanceStrategies())
{
if(publicRequest.SpotOptions.MaintenanceStrategies.IsSetCapacityRebalance())
{
if(publicRequest.SpotOptions.MaintenanceStrategies.CapacityRebalance.IsSetReplacementStrategy())
{
request.Parameters.Add("SpotOptions" + "." + "MaintenanceStrategies" + "." + "CapacityRebalance" + "." + "ReplacementStrategy", StringUtils.FromString(publicRequest.SpotOptions.MaintenanceStrategies.CapacityRebalance.ReplacementStrategy));
}
if(publicRequest.SpotOptions.MaintenanceStrategies.CapacityRebalance.IsSetTerminationDelay())
{
request.Parameters.Add("SpotOptions" + "." + "MaintenanceStrategies" + "." + "CapacityRebalance" + "." + "TerminationDelay", StringUtils.FromInt(publicRequest.SpotOptions.MaintenanceStrategies.CapacityRebalance.TerminationDelay));
}
}
}
if(publicRequest.SpotOptions.IsSetMaxTotalPrice())
{
request.Parameters.Add("SpotOptions" + "." + "MaxTotalPrice", StringUtils.FromString(publicRequest.SpotOptions.MaxTotalPrice));
}
if(publicRequest.SpotOptions.IsSetMinTargetCapacity())
{
request.Parameters.Add("SpotOptions" + "." + "MinTargetCapacity", StringUtils.FromInt(publicRequest.SpotOptions.MinTargetCapacity));
}
if(publicRequest.SpotOptions.IsSetSingleAvailabilityZone())
{
request.Parameters.Add("SpotOptions" + "." + "SingleAvailabilityZone", StringUtils.FromBool(publicRequest.SpotOptions.SingleAvailabilityZone));
}
if(publicRequest.SpotOptions.IsSetSingleInstanceType())
{
request.Parameters.Add("SpotOptions" + "." + "SingleInstanceType", StringUtils.FromBool(publicRequest.SpotOptions.SingleInstanceType));
}
}
if(publicRequest.IsSetTagSpecifications())
{
int publicRequestlistValueIndex = 1;
foreach(var publicRequestlistValue in publicRequest.TagSpecifications)
{
if(publicRequestlistValue.IsSetResourceType())
{
request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "ResourceType", StringUtils.FromString(publicRequestlistValue.ResourceType));
}
if(publicRequestlistValue.IsSetTags())
{
int publicRequestlistValuelistValueIndex = 1;
foreach(var publicRequestlistValuelistValue in publicRequestlistValue.Tags)
{
if(publicRequestlistValuelistValue.IsSetKey())
{
request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "Tag" + "." + publicRequestlistValuelistValueIndex + "." + "Key", StringUtils.FromString(publicRequestlistValuelistValue.Key));
}
if(publicRequestlistValuelistValue.IsSetValue())
{
request.Parameters.Add("TagSpecification" + "." + publicRequestlistValueIndex + "." + "Tag" + "." + publicRequestlistValuelistValueIndex + "." + "Value", StringUtils.FromString(publicRequestlistValuelistValue.Value));
}
publicRequestlistValuelistValueIndex++;
}
}
publicRequestlistValueIndex++;
}
}
if(publicRequest.IsSetTargetCapacitySpecification())
{
if(publicRequest.TargetCapacitySpecification.IsSetDefaultTargetCapacityType())
{
request.Parameters.Add("TargetCapacitySpecification" + "." + "DefaultTargetCapacityType", StringUtils.FromString(publicRequest.TargetCapacitySpecification.DefaultTargetCapacityType));
}
if(publicRequest.TargetCapacitySpecification.IsSetOnDemandTargetCapacity())
{
request.Parameters.Add("TargetCapacitySpecification" + "." + "OnDemandTargetCapacity", StringUtils.FromInt(publicRequest.TargetCapacitySpecification.OnDemandTargetCapacity));
}
if(publicRequest.TargetCapacitySpecification.IsSetSpotTargetCapacity())
{
request.Parameters.Add("TargetCapacitySpecification" + "." + "SpotTargetCapacity", StringUtils.FromInt(publicRequest.TargetCapacitySpecification.SpotTargetCapacity));
}
if(publicRequest.TargetCapacitySpecification.IsSetTargetCapacityUnitType())
{
request.Parameters.Add("TargetCapacitySpecification" + "." + "TargetCapacityUnitType", StringUtils.FromString(publicRequest.TargetCapacitySpecification.TargetCapacityUnitType));
}
if(publicRequest.TargetCapacitySpecification.IsSetTotalTargetCapacity())
{
request.Parameters.Add("TargetCapacitySpecification" + "." + "TotalTargetCapacity", StringUtils.FromInt(publicRequest.TargetCapacitySpecification.TotalTargetCapacity));
}
}
if(publicRequest.IsSetTerminateInstancesWithExpiration())
{
request.Parameters.Add("TerminateInstancesWithExpiration", StringUtils.FromBool(publicRequest.TerminateInstancesWithExpiration));
}
if(publicRequest.IsSetType())
{
request.Parameters.Add("Type", StringUtils.FromString(publicRequest.Type));
}
if(publicRequest.IsSetValidFromUtc())
{
request.Parameters.Add("ValidFrom", StringUtils.FromDateTimeToISO8601(publicRequest.ValidFromUtc));
}
if(publicRequest.IsSetValidUntilUtc())
{
request.Parameters.Add("ValidUntil", StringUtils.FromDateTimeToISO8601(publicRequest.ValidUntilUtc));
}
}
return request;
}
private static CreateFleetRequestMarshaller _instance = new CreateFleetRequestMarshaller();
internal static CreateFleetRequestMarshaller GetInstance()
{
return _instance;
}
///
/// Gets the singleton.
///
public static CreateFleetRequestMarshaller Instance
{
get
{
return _instance;
}
}
}
}