Describes the data format when records are written to the destination. For more information, see Configuring Application Output.
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.KinesisAnalytics.Model.AddApplicationOutputRequest();

            if (cmdletContext.ApplicationName != null)
            {
                request.ApplicationName = cmdletContext.ApplicationName;
            }
            if (cmdletContext.CurrentApplicationVersionId != null)
            {
                request.CurrentApplicationVersionId = cmdletContext.CurrentApplicationVersionId.Value;
            }

            // populate Output
            var requestOutputIsNull = true;

            request.Output = new Amazon.KinesisAnalytics.Model.Output();
            System.String requestOutput_output_Name = null;
            if (cmdletContext.Output_Name != null)
            {
                requestOutput_output_Name = cmdletContext.Output_Name;
            }
            if (requestOutput_output_Name != null)
            {
                request.Output.Name = requestOutput_output_Name;
                requestOutputIsNull = false;
            }
            Amazon.KinesisAnalytics.Model.DestinationSchema requestOutput_output_DestinationSchema = null;

            // populate DestinationSchema
            var requestOutput_output_DestinationSchemaIsNull = true;

            requestOutput_output_DestinationSchema = new Amazon.KinesisAnalytics.Model.DestinationSchema();
            Amazon.KinesisAnalytics.RecordFormatType requestOutput_output_DestinationSchema_destinationSchema_RecordFormatType = null;
            if (cmdletContext.DestinationSchema_RecordFormatType != null)
            {
                requestOutput_output_DestinationSchema_destinationSchema_RecordFormatType = cmdletContext.DestinationSchema_RecordFormatType;
            }
            if (requestOutput_output_DestinationSchema_destinationSchema_RecordFormatType != null)
            {
                requestOutput_output_DestinationSchema.RecordFormatType = requestOutput_output_DestinationSchema_destinationSchema_RecordFormatType;
                requestOutput_output_DestinationSchemaIsNull            = false;
            }
            // determine if requestOutput_output_DestinationSchema should be set to null
            if (requestOutput_output_DestinationSchemaIsNull)
            {
                requestOutput_output_DestinationSchema = null;
            }
            if (requestOutput_output_DestinationSchema != null)
            {
                request.Output.DestinationSchema = requestOutput_output_DestinationSchema;
                requestOutputIsNull = false;
            }
            Amazon.KinesisAnalytics.Model.KinesisFirehoseOutput requestOutput_output_KinesisFirehoseOutput = null;

            // populate KinesisFirehoseOutput
            var requestOutput_output_KinesisFirehoseOutputIsNull = true;

            requestOutput_output_KinesisFirehoseOutput = new Amazon.KinesisAnalytics.Model.KinesisFirehoseOutput();
            System.String requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_ResourceARN = null;
            if (cmdletContext.KinesisFirehoseOutput_ResourceARN != null)
            {
                requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_ResourceARN = cmdletContext.KinesisFirehoseOutput_ResourceARN;
            }
            if (requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_ResourceARN != null)
            {
                requestOutput_output_KinesisFirehoseOutput.ResourceARN = requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_ResourceARN;
                requestOutput_output_KinesisFirehoseOutputIsNull       = false;
            }
            System.String requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_RoleARN = null;
            if (cmdletContext.KinesisFirehoseOutput_RoleARN != null)
            {
                requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_RoleARN = cmdletContext.KinesisFirehoseOutput_RoleARN;
            }
            if (requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_RoleARN != null)
            {
                requestOutput_output_KinesisFirehoseOutput.RoleARN = requestOutput_output_KinesisFirehoseOutput_kinesisFirehoseOutput_RoleARN;
                requestOutput_output_KinesisFirehoseOutputIsNull   = false;
            }
            // determine if requestOutput_output_KinesisFirehoseOutput should be set to null
            if (requestOutput_output_KinesisFirehoseOutputIsNull)
            {
                requestOutput_output_KinesisFirehoseOutput = null;
            }
            if (requestOutput_output_KinesisFirehoseOutput != null)
            {
                request.Output.KinesisFirehoseOutput = requestOutput_output_KinesisFirehoseOutput;
                requestOutputIsNull = false;
            }
            Amazon.KinesisAnalytics.Model.KinesisStreamsOutput requestOutput_output_KinesisStreamsOutput = null;

            // populate KinesisStreamsOutput
            var requestOutput_output_KinesisStreamsOutputIsNull = true;

            requestOutput_output_KinesisStreamsOutput = new Amazon.KinesisAnalytics.Model.KinesisStreamsOutput();
            System.String requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_ResourceARN = null;
            if (cmdletContext.KinesisStreamsOutput_ResourceARN != null)
            {
                requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_ResourceARN = cmdletContext.KinesisStreamsOutput_ResourceARN;
            }
            if (requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_ResourceARN != null)
            {
                requestOutput_output_KinesisStreamsOutput.ResourceARN = requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_ResourceARN;
                requestOutput_output_KinesisStreamsOutputIsNull       = false;
            }
            System.String requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_RoleARN = null;
            if (cmdletContext.KinesisStreamsOutput_RoleARN != null)
            {
                requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_RoleARN = cmdletContext.KinesisStreamsOutput_RoleARN;
            }
            if (requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_RoleARN != null)
            {
                requestOutput_output_KinesisStreamsOutput.RoleARN = requestOutput_output_KinesisStreamsOutput_kinesisStreamsOutput_RoleARN;
                requestOutput_output_KinesisStreamsOutputIsNull   = false;
            }
            // determine if requestOutput_output_KinesisStreamsOutput should be set to null
            if (requestOutput_output_KinesisStreamsOutputIsNull)
            {
                requestOutput_output_KinesisStreamsOutput = null;
            }
            if (requestOutput_output_KinesisStreamsOutput != null)
            {
                request.Output.KinesisStreamsOutput = requestOutput_output_KinesisStreamsOutput;
                requestOutputIsNull = false;
            }
            Amazon.KinesisAnalytics.Model.LambdaOutput requestOutput_output_LambdaOutput = null;

            // populate LambdaOutput
            var requestOutput_output_LambdaOutputIsNull = true;

            requestOutput_output_LambdaOutput = new Amazon.KinesisAnalytics.Model.LambdaOutput();
            System.String requestOutput_output_LambdaOutput_lambdaOutput_ResourceARN = null;
            if (cmdletContext.LambdaOutput_ResourceARN != null)
            {
                requestOutput_output_LambdaOutput_lambdaOutput_ResourceARN = cmdletContext.LambdaOutput_ResourceARN;
            }
            if (requestOutput_output_LambdaOutput_lambdaOutput_ResourceARN != null)
            {
                requestOutput_output_LambdaOutput.ResourceARN = requestOutput_output_LambdaOutput_lambdaOutput_ResourceARN;
                requestOutput_output_LambdaOutputIsNull       = false;
            }
            System.String requestOutput_output_LambdaOutput_lambdaOutput_RoleARN = null;
            if (cmdletContext.LambdaOutput_RoleARN != null)
            {
                requestOutput_output_LambdaOutput_lambdaOutput_RoleARN = cmdletContext.LambdaOutput_RoleARN;
            }
            if (requestOutput_output_LambdaOutput_lambdaOutput_RoleARN != null)
            {
                requestOutput_output_LambdaOutput.RoleARN = requestOutput_output_LambdaOutput_lambdaOutput_RoleARN;
                requestOutput_output_LambdaOutputIsNull   = false;
            }
            // determine if requestOutput_output_LambdaOutput should be set to null
            if (requestOutput_output_LambdaOutputIsNull)
            {
                requestOutput_output_LambdaOutput = null;
            }
            if (requestOutput_output_LambdaOutput != null)
            {
                request.Output.LambdaOutput = requestOutput_output_LambdaOutput;
                requestOutputIsNull         = false;
            }
            // determine if request.Output should be set to null
            if (requestOutputIsNull)
            {
                request.Output = 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);
        }