private Amazon.Rekognition.Model.CreateStreamProcessorResponse CallAWSServiceOperation(IAmazonRekognition client, Amazon.Rekognition.Model.CreateStreamProcessorRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Rekognition", "CreateStreamProcessor");
     try
     {
         #if DESKTOP
         return(client.CreateStreamProcessor(request));
         #elif CORECLR
         return(client.CreateStreamProcessorAsync(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.Rekognition.Model.CreateStreamProcessorRequest();


            // populate Input
            var requestInputIsNull = true;

            request.Input = new Amazon.Rekognition.Model.StreamProcessorInput();
            Amazon.Rekognition.Model.KinesisVideoStream requestInput_input_KinesisVideoStream = null;

            // populate KinesisVideoStream
            var requestInput_input_KinesisVideoStreamIsNull = true;

            requestInput_input_KinesisVideoStream = new Amazon.Rekognition.Model.KinesisVideoStream();
            System.String requestInput_input_KinesisVideoStream_kinesisVideoStream_Arn = null;
            if (cmdletContext.KinesisVideoStream_Arn != null)
            {
                requestInput_input_KinesisVideoStream_kinesisVideoStream_Arn = cmdletContext.KinesisVideoStream_Arn;
            }
            if (requestInput_input_KinesisVideoStream_kinesisVideoStream_Arn != null)
            {
                requestInput_input_KinesisVideoStream.Arn   = requestInput_input_KinesisVideoStream_kinesisVideoStream_Arn;
                requestInput_input_KinesisVideoStreamIsNull = false;
            }
            // determine if requestInput_input_KinesisVideoStream should be set to null
            if (requestInput_input_KinesisVideoStreamIsNull)
            {
                requestInput_input_KinesisVideoStream = null;
            }
            if (requestInput_input_KinesisVideoStream != null)
            {
                request.Input.KinesisVideoStream = requestInput_input_KinesisVideoStream;
                requestInputIsNull = false;
            }
            // determine if request.Input should be set to null
            if (requestInputIsNull)
            {
                request.Input = null;
            }
            if (cmdletContext.Name != null)
            {
                request.Name = cmdletContext.Name;
            }

            // populate Output
            var requestOutputIsNull = true;

            request.Output = new Amazon.Rekognition.Model.StreamProcessorOutput();
            Amazon.Rekognition.Model.KinesisDataStream requestOutput_output_KinesisDataStream = null;

            // populate KinesisDataStream
            var requestOutput_output_KinesisDataStreamIsNull = true;

            requestOutput_output_KinesisDataStream = new Amazon.Rekognition.Model.KinesisDataStream();
            System.String requestOutput_output_KinesisDataStream_kinesisDataStream_Arn = null;
            if (cmdletContext.KinesisDataStream_Arn != null)
            {
                requestOutput_output_KinesisDataStream_kinesisDataStream_Arn = cmdletContext.KinesisDataStream_Arn;
            }
            if (requestOutput_output_KinesisDataStream_kinesisDataStream_Arn != null)
            {
                requestOutput_output_KinesisDataStream.Arn   = requestOutput_output_KinesisDataStream_kinesisDataStream_Arn;
                requestOutput_output_KinesisDataStreamIsNull = false;
            }
            // determine if requestOutput_output_KinesisDataStream should be set to null
            if (requestOutput_output_KinesisDataStreamIsNull)
            {
                requestOutput_output_KinesisDataStream = null;
            }
            if (requestOutput_output_KinesisDataStream != null)
            {
                request.Output.KinesisDataStream = requestOutput_output_KinesisDataStream;
                requestOutputIsNull = false;
            }
            // determine if request.Output should be set to null
            if (requestOutputIsNull)
            {
                request.Output = null;
            }
            if (cmdletContext.RoleArn != null)
            {
                request.RoleArn = cmdletContext.RoleArn;
            }

            // populate Settings
            var requestSettingsIsNull = true;

            request.Settings = new Amazon.Rekognition.Model.StreamProcessorSettings();
            Amazon.Rekognition.Model.FaceSearchSettings requestSettings_settings_FaceSearch = null;

            // populate FaceSearch
            var requestSettings_settings_FaceSearchIsNull = true;

            requestSettings_settings_FaceSearch = new Amazon.Rekognition.Model.FaceSearchSettings();
            System.String requestSettings_settings_FaceSearch_faceSearch_CollectionId = null;
            if (cmdletContext.FaceSearch_CollectionId != null)
            {
                requestSettings_settings_FaceSearch_faceSearch_CollectionId = cmdletContext.FaceSearch_CollectionId;
            }
            if (requestSettings_settings_FaceSearch_faceSearch_CollectionId != null)
            {
                requestSettings_settings_FaceSearch.CollectionId = requestSettings_settings_FaceSearch_faceSearch_CollectionId;
                requestSettings_settings_FaceSearchIsNull        = false;
            }
            System.Single?requestSettings_settings_FaceSearch_faceSearch_FaceMatchThreshold = null;
            if (cmdletContext.FaceSearch_FaceMatchThreshold != null)
            {
                requestSettings_settings_FaceSearch_faceSearch_FaceMatchThreshold = cmdletContext.FaceSearch_FaceMatchThreshold.Value;
            }
            if (requestSettings_settings_FaceSearch_faceSearch_FaceMatchThreshold != null)
            {
                requestSettings_settings_FaceSearch.FaceMatchThreshold = requestSettings_settings_FaceSearch_faceSearch_FaceMatchThreshold.Value;
                requestSettings_settings_FaceSearchIsNull = false;
            }
            // determine if requestSettings_settings_FaceSearch should be set to null
            if (requestSettings_settings_FaceSearchIsNull)
            {
                requestSettings_settings_FaceSearch = null;
            }
            if (requestSettings_settings_FaceSearch != null)
            {
                request.Settings.FaceSearch = requestSettings_settings_FaceSearch;
                requestSettingsIsNull       = false;
            }
            // determine if request.Settings should be set to null
            if (requestSettingsIsNull)
            {
                request.Settings = null;
            }

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