/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { DescribeCapacityReservationsResponse response = new DescribeCapacityReservationsResponse(); 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("capacityReservationSet/item", targetDepth)) { var unmarshaller = CapacityReservationUnmarshaller.Instance; var item = unmarshaller.Unmarshall(context); response.CapacityReservations.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); DescribeCapacityReservationsResponse resp = new DescribeCapacityReservationsResponse(); do { DescribeCapacityReservationsRequest req = new DescribeCapacityReservationsRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.DescribeCapacityReservations(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.CapacityReservations) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public static DescribeCapacityReservationsResponse Unmarshall(UnmarshallerContext _ctx) { DescribeCapacityReservationsResponse describeCapacityReservationsResponse = new DescribeCapacityReservationsResponse(); describeCapacityReservationsResponse.HttpResponse = _ctx.HttpResponse; describeCapacityReservationsResponse.RequestId = _ctx.StringValue("DescribeCapacityReservations.RequestId"); describeCapacityReservationsResponse.NextToken = _ctx.StringValue("DescribeCapacityReservations.NextToken"); describeCapacityReservationsResponse.MaxResults = _ctx.IntegerValue("DescribeCapacityReservations.MaxResults"); describeCapacityReservationsResponse.TotalCount = _ctx.IntegerValue("DescribeCapacityReservations.TotalCount"); List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem> describeCapacityReservationsResponse_capacityReservationSet = new List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem>(); for (int i = 0; i < _ctx.Length("DescribeCapacityReservations.CapacityReservationSet.Length"); i++) { DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem capacityReservationItem = new DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem(); capacityReservationItem.PrivatePoolOptionsId = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].PrivatePoolOptionsId"); capacityReservationItem.PrivatePoolOptionsName = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].PrivatePoolOptionsName"); capacityReservationItem.Description = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Description"); capacityReservationItem.RegionId = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].RegionId"); capacityReservationItem.PrivatePoolOptionsMatchCriteria = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].PrivatePoolOptionsMatchCriteria"); capacityReservationItem.Status = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Status"); capacityReservationItem.StartTime = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].StartTime"); capacityReservationItem.EndTime = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].EndTime"); capacityReservationItem.EndTimeType = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].EndTimeType"); capacityReservationItem.InstanceChargeType = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].InstanceChargeType"); capacityReservationItem.Platform = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Platform"); capacityReservationItem.TimeSlot = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].TimeSlot"); capacityReservationItem.ResourceGroupId = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].ResourceGroupId"); List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_AllocatedResource> capacityReservationItem_allocatedResources = new List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_AllocatedResource>(); for (int j = 0; j < _ctx.Length("DescribeCapacityReservations.CapacityReservationSet[" + i + "].AllocatedResources.Length"); j++) { DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_AllocatedResource allocatedResource = new DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_AllocatedResource(); allocatedResource.ZoneId = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].AllocatedResources[" + j + "].zoneId"); allocatedResource.InstanceType = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].AllocatedResources[" + j + "].InstanceType"); allocatedResource.TotalAmount = _ctx.IntegerValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].AllocatedResources[" + j + "].TotalAmount"); allocatedResource.UsedAmount = _ctx.IntegerValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].AllocatedResources[" + j + "].UsedAmount"); capacityReservationItem_allocatedResources.Add(allocatedResource); } capacityReservationItem.AllocatedResources = capacityReservationItem_allocatedResources; List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_Tag> capacityReservationItem_tags = new List <DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_Tag>(); for (int j = 0; j < _ctx.Length("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Tags.Length"); j++) { DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_Tag tag = new DescribeCapacityReservationsResponse.DescribeCapacityReservations_CapacityReservationItem.DescribeCapacityReservations_Tag(); tag.TagKey = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Tags[" + j + "].TagKey"); tag.TagValue = _ctx.StringValue("DescribeCapacityReservations.CapacityReservationSet[" + i + "].Tags[" + j + "].TagValue"); capacityReservationItem_tags.Add(tag); } capacityReservationItem.Tags = capacityReservationItem_tags; describeCapacityReservationsResponse_capacityReservationSet.Add(capacityReservationItem); } describeCapacityReservationsResponse.CapacityReservationSet = describeCapacityReservationsResponse_capacityReservationSet; return(describeCapacityReservationsResponse); }