public static DescribeInstanceTypesResponse Unmarshall(UnmarshallerContext context) { DescribeInstanceTypesResponse describeInstanceTypesResponse = new DescribeInstanceTypesResponse(); describeInstanceTypesResponse.HttpResponse = context.HttpResponse; describeInstanceTypesResponse.RequestId = context.StringValue("DescribeInstanceTypes.RequestId"); List <DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType> describeInstanceTypesResponse_instanceTypes = new List <DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType>(); for (int i = 0; i < context.Length("DescribeInstanceTypes.InstanceTypes.Length"); i++) { DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType instanceType = new DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType(); instanceType.InstanceTypeId = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeId"); instanceType.CpuCoreCount = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].CpuCoreCount"); instanceType.MemorySize = context.FloatValue("DescribeInstanceTypes.InstanceTypes[" + i + "].MemorySize"); instanceType.InstanceTypeFamily = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeFamily"); instanceType.LocalStorageCapacity = context.LongValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageCapacity"); instanceType.LocalStorageAmount = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageAmount"); instanceType.LocalStorageCategory = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageCategory"); instanceType.GPUAmount = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].GPUAmount"); instanceType.GPUSpec = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].GPUSpec"); instanceType.InitialCredit = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InitialCredit"); instanceType.BaselineCredit = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].BaselineCredit"); instanceType.EniQuantity = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniQuantity"); instanceType.InstanceBandwidthRx = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceBandwidthRx"); instanceType.InstanceBandwidthTx = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceBandwidthTx"); describeInstanceTypesResponse_instanceTypes.Add(instanceType); } describeInstanceTypesResponse.InstanceTypes = describeInstanceTypesResponse_instanceTypes; return(describeInstanceTypesResponse); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeInstanceTypesResponse response = new DescribeInstanceTypesResponse(); int originalDepth = context.CurrentDepth; int targetDepth = originalDepth + 1; if (context.IsStartOfDocument) { targetDepth = 2; } while (context.ReadAtDepth(originalDepth)) { if (context.IsStartElement || context.IsAttribute) { if (context.TestExpression("instanceTypeSet/item", targetDepth)) { var unmarshaller = InstanceTypeInfoUnmarshaller.Instance; var item = unmarshaller.Unmarshall(context); response.InstanceTypes.Add(item); continue; } if (context.TestExpression("nextToken", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.NextToken = unmarshaller.Unmarshall(context); continue; } } } return(response); }
public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonEC2Config config = new AmazonEC2Config(); config.RegionEndpoint = region; ConfigureClient(config); AmazonEC2Client client = new AmazonEC2Client(creds, config); DescribeInstanceTypesResponse resp = new DescribeInstanceTypesResponse(); do { DescribeInstanceTypesRequest req = new DescribeInstanceTypesRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.DescribeInstanceTypes(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.InstanceTypes) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public static DescribeInstanceTypesResponse Unmarshall(UnmarshallerContext _ctx) { DescribeInstanceTypesResponse describeInstanceTypesResponse = new DescribeInstanceTypesResponse(); describeInstanceTypesResponse.HttpResponse = _ctx.HttpResponse; describeInstanceTypesResponse.RequestId = _ctx.StringValue("DescribeInstanceTypes.RequestId"); List <DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType> describeInstanceTypesResponse_instanceTypes = new List <DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType>(); for (int i = 0; i < _ctx.Length("DescribeInstanceTypes.InstanceTypes.Length"); i++) { DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType instanceType = new DescribeInstanceTypesResponse.DescribeInstanceTypes_InstanceType(); instanceType.InstanceTypeId = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeId"); instanceType.CpuCoreCount = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].CpuCoreCount"); instanceType.MemorySize = _ctx.FloatValue("DescribeInstanceTypes.InstanceTypes[" + i + "].MemorySize"); instanceType.InstanceTypeFamily = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeFamily"); instanceType.LocalStorageCapacity = _ctx.LongValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageCapacity"); instanceType.LocalStorageAmount = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageAmount"); instanceType.LocalStorageCategory = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].LocalStorageCategory"); instanceType.GPUAmount = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].GPUAmount"); instanceType.GPUSpec = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].GPUSpec"); instanceType.InitialCredit = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InitialCredit"); instanceType.BaselineCredit = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].BaselineCredit"); instanceType.EniQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniQuantity"); instanceType.EniPrivateIpAddressQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniPrivateIpAddressQuantity"); instanceType.EniIpv6AddressQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniIpv6AddressQuantity"); instanceType.InstanceBandwidthRx = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceBandwidthRx"); instanceType.InstanceBandwidthTx = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceBandwidthTx"); instanceType.InstancePpsRx = _ctx.LongValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstancePpsRx"); instanceType.InstancePpsTx = _ctx.LongValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstancePpsTx"); instanceType.InstanceFamilyLevel = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceFamilyLevel"); instanceType.TotalEniQueueQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].TotalEniQueueQuantity"); instanceType.EniTrunkSupported = _ctx.BooleanValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniTrunkSupported"); instanceType.EniTotalQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EniTotalQuantity"); instanceType.MaximumQueueNumberPerEni = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].MaximumQueueNumberPerEni"); instanceType.PrimaryEniQueueNumber = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].PrimaryEniQueueNumber"); instanceType.SecondaryEniQueueNumber = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].SecondaryEniQueueNumber"); instanceType.DiskQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].DiskQuantity"); instanceType.EriQuantity = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].EriQuantity"); instanceType.QueuePairNumber = _ctx.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].QueuePairNumber"); instanceType.NvmeSupport = _ctx.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].NvmeSupport"); describeInstanceTypesResponse_instanceTypes.Add(instanceType); } describeInstanceTypesResponse.InstanceTypes = describeInstanceTypesResponse_instanceTypes; return(describeInstanceTypesResponse); }
public static DescribeInstanceTypesResponse Unmarshall(UnmarshallerContext context) { DescribeInstanceTypesResponse describeInstanceTypesResponse = new DescribeInstanceTypesResponse(); describeInstanceTypesResponse.HttpResponse = context.HttpResponse; describeInstanceTypesResponse.RequestId = context.StringValue("DescribeInstanceTypes.RequestId"); List <DescribeInstanceTypesResponse.InstanceType> instanceTypes = new List <DescribeInstanceTypesResponse.InstanceType>(); for (int i = 0; i < context.Length("DescribeInstanceTypes.InstanceTypes.Length"); i++) { DescribeInstanceTypesResponse.InstanceType instanceType = new DescribeInstanceTypesResponse.InstanceType(); instanceType.InstanceTypeId = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeId"); instanceType.CpuCoreCount = context.IntegerValue("DescribeInstanceTypes.InstanceTypes[" + i + "].CpuCoreCount"); instanceType.MemorySize = context.FloatValue("DescribeInstanceTypes.InstanceTypes[" + i + "].MemorySize"); instanceType.InstanceTypeFamily = context.StringValue("DescribeInstanceTypes.InstanceTypes[" + i + "].InstanceTypeFamily"); instanceTypes.Add(instanceType); } describeInstanceTypesResponse.InstanceTypes = instanceTypes; return(describeInstanceTypesResponse); }
public void Deserialize() { string xml = @"<DescribeInstanceTypesResponse xmlns=""http://ec2.amazonaws.com/doc/2016-11-15/""> <requestId>a</requestId> <instanceTypeSet> <item> <autoRecoverySupported>false</autoRecoverySupported> <bareMetal>false</bareMetal> <burstablePerformanceSupported>false</burstablePerformanceSupported> <currentGeneration>false</currentGeneration> <dedicatedHostsSupported>false</dedicatedHostsSupported> <ebsInfo> <ebsOptimizedSupport>unsupported</ebsOptimizedSupport> <encryptionSupport>unsupported</encryptionSupport> </ebsInfo> <freeTierEligible>true</freeTierEligible> <hibernationSupported>false</hibernationSupported> <hypervisor>xen</hypervisor> <instanceStorageSupported>false</instanceStorageSupported> <instanceType>t1.micro</instanceType> <memoryInfo> <sizeInMiB>627</sizeInMiB> </memoryInfo> <networkInfo> <enaSupport>unsupported</enaSupport> <ipv4AddressesPerInterface>2</ipv4AddressesPerInterface> <ipv6AddressesPerInterface>0</ipv6AddressesPerInterface> <ipv6Supported>false</ipv6Supported> <maximumNetworkInterfaces>2</maximumNetworkInterfaces> <networkPerformance>Very Low</networkPerformance> </networkInfo> <placementGroupInfo> <supportedStrategies> <item>partition</item> <item>spread</item> </supportedStrategies> </placementGroupInfo> <processorInfo> <supportedArchitectures> <item>i386</item> <item>x86_64</item> </supportedArchitectures> </processorInfo> <supportedRootDeviceTypes> <item>ebs</item> </supportedRootDeviceTypes> <supportedUsageClasses> <item>on-demand</item> </supportedUsageClasses> <vCpuInfo> <defaultCores>1</defaultCores> <defaultThreadsPerCore>1</defaultThreadsPerCore> <defaultVCpus>1</defaultVCpus> <validCores> <item>1</item> </validCores> <validThreadsPerCore> <item>1</item> </validThreadsPerCore> </vCpuInfo> </item> </instanceTypeSet> </DescribeInstanceTypesResponse>"; var response = DescribeInstanceTypesResponse.Deserialize(xml); Assert.Equal("a", response.RequestId); Assert.Single(response.InstanceTypes); var instance = response.InstanceTypes[0]; Assert.Equal("t1.micro", instance.InstanceType); Assert.Equal("xen", instance.Hypervisor); Assert.True(instance.FreeTierEligible); Assert.Equal(new[] { "i386", "x86_64" }, instance.ProcessorInfo.SupportedArchitectures); Assert.Equal(new[] { "ebs" }, instance.SupportedRootDeviceTypes); Assert.Equal(new[] { "on-demand" }, instance.SupportedUsageClasses); // Memory Assert.Equal(627, instance.MemoryInfo.SizeInMiB); // Network Assert.Equal("unsupported", instance.NetworkInfo.EnaSupport); Assert.Equal(2, instance.NetworkInfo.Ipv4AddressesPerInterface); Assert.Equal(0, instance.NetworkInfo.Ipv6AddressesPerInterface); Assert.False(instance.NetworkInfo.Ipv6Supported); Assert.Equal(2, instance.NetworkInfo.MaximumNetworkInterfaces); Assert.Equal("Very Low", instance.NetworkInfo.NetworkPerformance); // vCPU Assert.Equal(1, instance.VCpuInfo.DefaultCores); Assert.Equal(1, instance.VCpuInfo.DefaultThreadsPerCore); Assert.Equal(1, instance.VCpuInfo.DefaultVCpus); Assert.Equal(new[] { 1 }, instance.VCpuInfo.ValidThreadsPerCore); }