private Amazon.LookoutEquipment.Model.CreateModelResponse CallAWSServiceOperation(IAmazonLookoutEquipment client, Amazon.LookoutEquipment.Model.CreateModelRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Lookout for Equipment", "CreateModel");
     try
     {
         #if DESKTOP
         return(client.CreateModel(request));
         #elif CORECLR
         return(client.CreateModelAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.LookoutEquipment.Model.CreateModelRequest();

            if (cmdletContext.ClientToken != null)
            {
                request.ClientToken = cmdletContext.ClientToken;
            }

            // populate DataPreProcessingConfiguration
            var requestDataPreProcessingConfigurationIsNull = true;

            request.DataPreProcessingConfiguration = new Amazon.LookoutEquipment.Model.DataPreProcessingConfiguration();
            Amazon.LookoutEquipment.TargetSamplingRate requestDataPreProcessingConfiguration_dataPreProcessingConfiguration_TargetSamplingRate = null;
            if (cmdletContext.DataPreProcessingConfiguration_TargetSamplingRate != null)
            {
                requestDataPreProcessingConfiguration_dataPreProcessingConfiguration_TargetSamplingRate = cmdletContext.DataPreProcessingConfiguration_TargetSamplingRate;
            }
            if (requestDataPreProcessingConfiguration_dataPreProcessingConfiguration_TargetSamplingRate != null)
            {
                request.DataPreProcessingConfiguration.TargetSamplingRate = requestDataPreProcessingConfiguration_dataPreProcessingConfiguration_TargetSamplingRate;
                requestDataPreProcessingConfigurationIsNull = false;
            }
            // determine if request.DataPreProcessingConfiguration should be set to null
            if (requestDataPreProcessingConfigurationIsNull)
            {
                request.DataPreProcessingConfiguration = null;
            }
            if (cmdletContext.DatasetName != null)
            {
                request.DatasetName = cmdletContext.DatasetName;
            }

            // populate DatasetSchema
            var requestDatasetSchemaIsNull = true;

            request.DatasetSchema = new Amazon.LookoutEquipment.Model.DatasetSchema();
            System.String requestDatasetSchema_datasetSchema_InlineDataSchema = null;
            if (cmdletContext.DatasetSchema_InlineDataSchema != null)
            {
                requestDatasetSchema_datasetSchema_InlineDataSchema = cmdletContext.DatasetSchema_InlineDataSchema;
            }
            if (requestDatasetSchema_datasetSchema_InlineDataSchema != null)
            {
                request.DatasetSchema.InlineDataSchema = requestDatasetSchema_datasetSchema_InlineDataSchema;
                requestDatasetSchemaIsNull             = false;
            }
            // determine if request.DatasetSchema should be set to null
            if (requestDatasetSchemaIsNull)
            {
                request.DatasetSchema = null;
            }
            if (cmdletContext.EvaluationDataEndTime != null)
            {
                request.EvaluationDataEndTime = cmdletContext.EvaluationDataEndTime.Value;
            }
            if (cmdletContext.EvaluationDataStartTime != null)
            {
                request.EvaluationDataStartTime = cmdletContext.EvaluationDataStartTime.Value;
            }

            // populate LabelsInputConfiguration
            var requestLabelsInputConfigurationIsNull = true;

            request.LabelsInputConfiguration = new Amazon.LookoutEquipment.Model.LabelsInputConfiguration();
            Amazon.LookoutEquipment.Model.LabelsS3InputConfiguration requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration = null;

            // populate S3InputConfiguration
            var requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfigurationIsNull = true;

            requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration = new Amazon.LookoutEquipment.Model.LabelsS3InputConfiguration();
            System.String requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Bucket = null;
            if (cmdletContext.S3InputConfiguration_Bucket != null)
            {
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Bucket = cmdletContext.S3InputConfiguration_Bucket;
            }
            if (requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Bucket != null)
            {
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration.Bucket = requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Bucket;
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfigurationIsNull  = false;
            }
            System.String requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Prefix = null;
            if (cmdletContext.S3InputConfiguration_Prefix != null)
            {
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Prefix = cmdletContext.S3InputConfiguration_Prefix;
            }
            if (requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Prefix != null)
            {
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration.Prefix = requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration_s3InputConfiguration_Prefix;
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfigurationIsNull  = false;
            }
            // determine if requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration should be set to null
            if (requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfigurationIsNull)
            {
                requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration = null;
            }
            if (requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration != null)
            {
                request.LabelsInputConfiguration.S3InputConfiguration = requestLabelsInputConfiguration_labelsInputConfiguration_S3InputConfiguration;
                requestLabelsInputConfigurationIsNull = false;
            }
            // determine if request.LabelsInputConfiguration should be set to null
            if (requestLabelsInputConfigurationIsNull)
            {
                request.LabelsInputConfiguration = null;
            }
            if (cmdletContext.ModelName != null)
            {
                request.ModelName = cmdletContext.ModelName;
            }
            if (cmdletContext.OffCondition != null)
            {
                request.OffCondition = cmdletContext.OffCondition;
            }
            if (cmdletContext.RoleArn != null)
            {
                request.RoleArn = cmdletContext.RoleArn;
            }
            if (cmdletContext.ServerSideKmsKeyId != null)
            {
                request.ServerSideKmsKeyId = cmdletContext.ServerSideKmsKeyId;
            }
            if (cmdletContext.Tag != null)
            {
                request.Tags = cmdletContext.Tag;
            }
            if (cmdletContext.TrainingDataEndTime != null)
            {
                request.TrainingDataEndTime = cmdletContext.TrainingDataEndTime.Value;
            }
            if (cmdletContext.TrainingDataStartTime != null)
            {
                request.TrainingDataStartTime = cmdletContext.TrainingDataStartTime.Value;
            }

            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);
        }