public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.CostExplorer.Model.GetReservationPurchaseRecommendationRequest(); if (cmdletContext.AccountId != null) { request.AccountId = cmdletContext.AccountId; } if (cmdletContext.AccountScope != null) { request.AccountScope = cmdletContext.AccountScope; } if (cmdletContext.LookbackPeriodInDay != null) { request.LookbackPeriodInDays = cmdletContext.LookbackPeriodInDay; } if (cmdletContext.NextPageToken != null) { request.NextPageToken = cmdletContext.NextPageToken; } if (cmdletContext.PageSize != null) { request.PageSize = cmdletContext.PageSize.Value; } if (cmdletContext.PaymentOption != null) { request.PaymentOption = cmdletContext.PaymentOption; } if (cmdletContext.Service != null) { request.Service = cmdletContext.Service; } // populate ServiceSpecification var requestServiceSpecificationIsNull = true; request.ServiceSpecification = new Amazon.CostExplorer.Model.ServiceSpecification(); Amazon.CostExplorer.Model.EC2Specification requestServiceSpecification_serviceSpecification_EC2Specification = null; // populate EC2Specification var requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull = true; requestServiceSpecification_serviceSpecification_EC2Specification = new Amazon.CostExplorer.Model.EC2Specification(); Amazon.CostExplorer.OfferingClass requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass = null; if (cmdletContext.EC2Specification_OfferingClass != null) { requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass = cmdletContext.EC2Specification_OfferingClass; } if (requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass != null) { requestServiceSpecification_serviceSpecification_EC2Specification.OfferingClass = requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass; requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull = false; } // determine if requestServiceSpecification_serviceSpecification_EC2Specification should be set to null if (requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull) { requestServiceSpecification_serviceSpecification_EC2Specification = null; } if (requestServiceSpecification_serviceSpecification_EC2Specification != null) { request.ServiceSpecification.EC2Specification = requestServiceSpecification_serviceSpecification_EC2Specification; requestServiceSpecificationIsNull = false; } // determine if request.ServiceSpecification should be set to null if (requestServiceSpecificationIsNull) { request.ServiceSpecification = null; } if (cmdletContext.TermInYear != null) { request.TermInYears = cmdletContext.TermInYear; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute // create request and set iteration invariants var request = new Amazon.CostExplorer.Model.GetReservationPurchaseRecommendationRequest(); if (cmdletContext.AccountId != null) { request.AccountId = cmdletContext.AccountId; } if (cmdletContext.AccountScope != null) { request.AccountScope = cmdletContext.AccountScope; } if (cmdletContext.LookbackPeriodInDay != null) { request.LookbackPeriodInDays = cmdletContext.LookbackPeriodInDay; } if (cmdletContext.PageSize != null) { request.PageSize = cmdletContext.PageSize.Value; } if (cmdletContext.PaymentOption != null) { request.PaymentOption = cmdletContext.PaymentOption; } if (cmdletContext.Service != null) { request.Service = cmdletContext.Service; } // populate ServiceSpecification var requestServiceSpecificationIsNull = true; request.ServiceSpecification = new Amazon.CostExplorer.Model.ServiceSpecification(); Amazon.CostExplorer.Model.EC2Specification requestServiceSpecification_serviceSpecification_EC2Specification = null; // populate EC2Specification var requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull = true; requestServiceSpecification_serviceSpecification_EC2Specification = new Amazon.CostExplorer.Model.EC2Specification(); Amazon.CostExplorer.OfferingClass requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass = null; if (cmdletContext.EC2Specification_OfferingClass != null) { requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass = cmdletContext.EC2Specification_OfferingClass; } if (requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass != null) { requestServiceSpecification_serviceSpecification_EC2Specification.OfferingClass = requestServiceSpecification_serviceSpecification_EC2Specification_eC2Specification_OfferingClass; requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull = false; } // determine if requestServiceSpecification_serviceSpecification_EC2Specification should be set to null if (requestServiceSpecification_serviceSpecification_EC2SpecificationIsNull) { requestServiceSpecification_serviceSpecification_EC2Specification = null; } if (requestServiceSpecification_serviceSpecification_EC2Specification != null) { request.ServiceSpecification.EC2Specification = requestServiceSpecification_serviceSpecification_EC2Specification; requestServiceSpecificationIsNull = false; } // determine if request.ServiceSpecification should be set to null if (requestServiceSpecificationIsNull) { request.ServiceSpecification = null; } if (cmdletContext.TermInYear != null) { request.TermInYears = cmdletContext.TermInYear; } // Initialize loop variant and commence piping var _nextToken = cmdletContext.NextPageToken; var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextPageToken)); var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); do { request.NextPageToken = _nextToken; CmdletOutput output; try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; if (!useParameterSelect) { pipelineOutput = cmdletContext.Select(response, this); } output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; _nextToken = response.NextPageToken; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } ProcessOutput(output); } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); if (useParameterSelect) { WriteObject(cmdletContext.Select(null, this)); } return(null); }