public object Execute()

in modules/AWSPowerShell/Cmdlets/IoT/Basic/New-IOTTopicRule-Cmdlet.cs [1537:3102]


        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.IoT.Model.CreateTopicRuleRequest();
            
            if (cmdletContext.RuleName != null)
            {
                request.RuleName = cmdletContext.RuleName;
            }
            if (cmdletContext.Tag != null)
            {
                request.Tags = cmdletContext.Tag;
            }
            
             // populate TopicRulePayload
            var requestTopicRulePayloadIsNull = true;
            request.TopicRulePayload = new Amazon.IoT.Model.TopicRulePayload();
            List<Amazon.IoT.Model.Action> requestTopicRulePayload_topicRulePayload_Action = null;
            if (cmdletContext.TopicRulePayload_Action != null)
            {
                requestTopicRulePayload_topicRulePayload_Action = cmdletContext.TopicRulePayload_Action;
            }
            if (requestTopicRulePayload_topicRulePayload_Action != null)
            {
                request.TopicRulePayload.Actions = requestTopicRulePayload_topicRulePayload_Action;
                requestTopicRulePayloadIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_AwsIotSqlVersion = null;
            if (cmdletContext.TopicRulePayload_AwsIotSqlVersion != null)
            {
                requestTopicRulePayload_topicRulePayload_AwsIotSqlVersion = cmdletContext.TopicRulePayload_AwsIotSqlVersion;
            }
            if (requestTopicRulePayload_topicRulePayload_AwsIotSqlVersion != null)
            {
                request.TopicRulePayload.AwsIotSqlVersion = requestTopicRulePayload_topicRulePayload_AwsIotSqlVersion;
                requestTopicRulePayloadIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_Description = null;
            if (cmdletContext.TopicRulePayload_Description != null)
            {
                requestTopicRulePayload_topicRulePayload_Description = cmdletContext.TopicRulePayload_Description;
            }
            if (requestTopicRulePayload_topicRulePayload_Description != null)
            {
                request.TopicRulePayload.Description = requestTopicRulePayload_topicRulePayload_Description;
                requestTopicRulePayloadIsNull = false;
            }
            System.Boolean? requestTopicRulePayload_topicRulePayload_RuleDisabled = null;
            if (cmdletContext.TopicRulePayload_RuleDisabled != null)
            {
                requestTopicRulePayload_topicRulePayload_RuleDisabled = cmdletContext.TopicRulePayload_RuleDisabled.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_RuleDisabled != null)
            {
                request.TopicRulePayload.RuleDisabled = requestTopicRulePayload_topicRulePayload_RuleDisabled.Value;
                requestTopicRulePayloadIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_Sql = null;
            if (cmdletContext.TopicRulePayload_Sql != null)
            {
                requestTopicRulePayload_topicRulePayload_Sql = cmdletContext.TopicRulePayload_Sql;
            }
            if (requestTopicRulePayload_topicRulePayload_Sql != null)
            {
                request.TopicRulePayload.Sql = requestTopicRulePayload_topicRulePayload_Sql;
                requestTopicRulePayloadIsNull = false;
            }
            Amazon.IoT.Model.Action requestTopicRulePayload_topicRulePayload_ErrorAction = null;
            
             // populate ErrorAction
            var requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction = new Amazon.IoT.Model.Action();
            Amazon.IoT.Model.LambdaAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda = null;
            
             // populate Lambda
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LambdaIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda = new Amazon.IoT.Model.LambdaAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda_lambda_FunctionArn = null;
            if (cmdletContext.Lambda_FunctionArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda_lambda_FunctionArn = cmdletContext.Lambda_FunctionArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda_lambda_FunctionArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda.FunctionArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda_lambda_FunctionArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LambdaIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LambdaIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Lambda = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Lambda;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.DynamoDBv2Action requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2 = null;
            
             // populate DynamoDBv2
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2IsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2 = new Amazon.IoT.Model.DynamoDBv2Action();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_dynamoDBv2_RoleArn = null;
            if (cmdletContext.DynamoDBv2_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_dynamoDBv2_RoleArn = cmdletContext.DynamoDBv2_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_dynamoDBv2_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_dynamoDBv2_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2IsNull = false;
            }
            Amazon.IoT.Model.PutItemInput requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem = null;
            
             // populate PutItem
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItemIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem = new Amazon.IoT.Model.PutItemInput();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem_putItem_TableName = null;
            if (cmdletContext.PutItem_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem_putItem_TableName = cmdletContext.PutItem_TableName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem_putItem_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem.TableName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem_putItem_TableName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItemIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItemIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2.PutItem = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2_topicRulePayload_ErrorAction_DynamoDBv2_PutItem;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2IsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2 should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2IsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2 = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2 != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.DynamoDBv2 = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBv2;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.IotSiteWiseAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise = null;
            
             // populate IotSiteWise
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWiseIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise = new Amazon.IoT.Model.IotSiteWiseAction();
            List<Amazon.IoT.Model.PutAssetPropertyValueEntry> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_PutAssetPropertyValueEntry = null;
            if (cmdletContext.IotSiteWise_PutAssetPropertyValueEntry != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_PutAssetPropertyValueEntry = cmdletContext.IotSiteWise_PutAssetPropertyValueEntry;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_PutAssetPropertyValueEntry != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise.PutAssetPropertyValueEntries = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_PutAssetPropertyValueEntry;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWiseIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_RoleArn = null;
            if (cmdletContext.IotSiteWise_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_RoleArn = cmdletContext.IotSiteWise_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise_iotSiteWise_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWiseIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWiseIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.IotSiteWise = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotSiteWise;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.SalesforceAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce = null;
            
             // populate Salesforce
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SalesforceIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce = new Amazon.IoT.Model.SalesforceAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Token = null;
            if (cmdletContext.Salesforce_Token != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Token = cmdletContext.Salesforce_Token;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Token != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce.Token = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Token;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SalesforceIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Url = null;
            if (cmdletContext.Salesforce_Url != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Url = cmdletContext.Salesforce_Url;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Url != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce.Url = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce_salesforce_Url;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SalesforceIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SalesforceIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Salesforce = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Salesforce;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.CloudwatchLogsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs = null;
            
             // populate CloudwatchLogs
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs = new Amazon.IoT.Model.CloudwatchLogsAction();
            System.Boolean? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_BatchMode = null;
            if (cmdletContext.CloudwatchLogs_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_BatchMode = cmdletContext.CloudwatchLogs_BatchMode.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs.BatchMode = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_BatchMode.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_LogGroupName = null;
            if (cmdletContext.CloudwatchLogs_LogGroupName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_LogGroupName = cmdletContext.CloudwatchLogs_LogGroupName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_LogGroupName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs.LogGroupName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_LogGroupName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_RoleArn = null;
            if (cmdletContext.CloudwatchLogs_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_RoleArn = cmdletContext.CloudwatchLogs_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs_cloudwatchLogs_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.CloudwatchLogs = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchLogs;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.KinesisAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis = null;
            
             // populate Kinesis
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KinesisIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis = new Amazon.IoT.Model.KinesisAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_PartitionKey = null;
            if (cmdletContext.Kinesis_PartitionKey != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_PartitionKey = cmdletContext.Kinesis_PartitionKey;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_PartitionKey != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis.PartitionKey = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_PartitionKey;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KinesisIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_RoleArn = null;
            if (cmdletContext.Kinesis_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_RoleArn = cmdletContext.Kinesis_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KinesisIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_StreamName = null;
            if (cmdletContext.Kinesis_StreamName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_StreamName = cmdletContext.Kinesis_StreamName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_StreamName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis.StreamName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis_kinesis_StreamName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KinesisIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KinesisIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Kinesis = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kinesis;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.SnsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns = null;
            
             // populate Sns
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SnsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns = new Amazon.IoT.Model.SnsAction();
            Amazon.IoT.MessageFormat requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_MessageFormat = null;
            if (cmdletContext.Sns_MessageFormat != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_MessageFormat = cmdletContext.Sns_MessageFormat;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_MessageFormat != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns.MessageFormat = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_MessageFormat;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SnsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_RoleArn = null;
            if (cmdletContext.Sns_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_RoleArn = cmdletContext.Sns_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SnsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_TargetArn = null;
            if (cmdletContext.Sns_TargetArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_TargetArn = cmdletContext.Sns_TargetArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_TargetArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns.TargetArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns_sns_TargetArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SnsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SnsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Sns = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sns;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.SqsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs = null;
            
             // populate Sqs
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SqsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs = new Amazon.IoT.Model.SqsAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_QueueUrl = null;
            if (cmdletContext.Sqs_QueueUrl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_QueueUrl = cmdletContext.Sqs_QueueUrl;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_QueueUrl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs.QueueUrl = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_QueueUrl;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SqsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_RoleArn = null;
            if (cmdletContext.Sqs_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_RoleArn = cmdletContext.Sqs_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SqsIsNull = false;
            }
            System.Boolean? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_UseBase64 = null;
            if (cmdletContext.Sqs_UseBase64 != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_UseBase64 = cmdletContext.Sqs_UseBase64.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_UseBase64 != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs.UseBase64 = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs_sqs_UseBase64.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SqsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_SqsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Sqs = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Sqs;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.StepFunctionsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions = null;
            
             // populate StepFunctions
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctionsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions = new Amazon.IoT.Model.StepFunctionsAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_ExecutionNamePrefix = null;
            if (cmdletContext.StepFunctions_ExecutionNamePrefix != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_ExecutionNamePrefix = cmdletContext.StepFunctions_ExecutionNamePrefix;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_ExecutionNamePrefix != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions.ExecutionNamePrefix = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_ExecutionNamePrefix;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctionsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_RoleArn = null;
            if (cmdletContext.StepFunctions_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_RoleArn = cmdletContext.StepFunctions_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctionsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_StateMachineName = null;
            if (cmdletContext.StepFunctions_StateMachineName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_StateMachineName = cmdletContext.StepFunctions_StateMachineName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_StateMachineName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions.StateMachineName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions_stepFunctions_StateMachineName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctionsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctionsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.StepFunctions = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_StepFunctions;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.CloudwatchAlarmAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm = null;
            
             // populate CloudwatchAlarm
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm = new Amazon.IoT.Model.CloudwatchAlarmAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_AlarmName = null;
            if (cmdletContext.CloudwatchAlarm_AlarmName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_AlarmName = cmdletContext.CloudwatchAlarm_AlarmName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_AlarmName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm.AlarmName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_AlarmName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_RoleArn = null;
            if (cmdletContext.CloudwatchAlarm_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_RoleArn = cmdletContext.CloudwatchAlarm_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateReason = null;
            if (cmdletContext.CloudwatchAlarm_StateReason != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateReason = cmdletContext.CloudwatchAlarm_StateReason;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateReason != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm.StateReason = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateReason;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateValue = null;
            if (cmdletContext.CloudwatchAlarm_StateValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateValue = cmdletContext.CloudwatchAlarm_StateValue;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm.StateValue = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm_cloudwatchAlarm_StateValue;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarmIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.CloudwatchAlarm = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchAlarm;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.FirehoseAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose = null;
            
             // populate Firehose
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose = new Amazon.IoT.Model.FirehoseAction();
            System.Boolean? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_BatchMode = null;
            if (cmdletContext.Firehose_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_BatchMode = cmdletContext.Firehose_BatchMode.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose.BatchMode = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_BatchMode.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_DeliveryStreamName = null;
            if (cmdletContext.Firehose_DeliveryStreamName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_DeliveryStreamName = cmdletContext.Firehose_DeliveryStreamName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_DeliveryStreamName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose.DeliveryStreamName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_DeliveryStreamName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_RoleArn = null;
            if (cmdletContext.Firehose_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_RoleArn = cmdletContext.Firehose_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_Separator = null;
            if (cmdletContext.Firehose_Separator != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_Separator = cmdletContext.Firehose_Separator;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_Separator != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose.Separator = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose_firehose_Separator;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_FirehoseIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Firehose = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Firehose;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.HttpAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http = null;
            
             // populate Http
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http = new Amazon.IoT.Model.HttpAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_ConfirmationUrl = null;
            if (cmdletContext.Http_ConfirmationUrl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_ConfirmationUrl = cmdletContext.Http_ConfirmationUrl;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_ConfirmationUrl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http.ConfirmationUrl = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_ConfirmationUrl;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull = false;
            }
            List<Amazon.IoT.Model.HttpActionHeader> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Header = null;
            if (cmdletContext.Http_Header != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Header = cmdletContext.Http_Header;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Header != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http.Headers = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Header;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Url = null;
            if (cmdletContext.Http_Url != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Url = cmdletContext.Http_Url;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Url != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http.Url = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_http_Url;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull = false;
            }
            Amazon.IoT.Model.HttpAuthorization requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth = null;
            
             // populate Auth
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_AuthIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth = new Amazon.IoT.Model.HttpAuthorization();
            Amazon.IoT.Model.SigV4Authorization requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4 = null;
            
             // populate Sigv4
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4IsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4 = new Amazon.IoT.Model.SigV4Authorization();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_RoleArn = null;
            if (cmdletContext.Sigv4_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_RoleArn = cmdletContext.Sigv4_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4IsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_ServiceName = null;
            if (cmdletContext.Sigv4_ServiceName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_ServiceName = cmdletContext.Sigv4_ServiceName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_ServiceName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4.ServiceName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_ServiceName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4IsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_SigningRegion = null;
            if (cmdletContext.Sigv4_SigningRegion != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_SigningRegion = cmdletContext.Sigv4_SigningRegion;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_SigningRegion != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4.SigningRegion = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4_sigv4_SigningRegion;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4IsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4 should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4IsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4 = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4 != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth.Sigv4 = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth_topicRulePayload_ErrorAction_Http_Auth_Sigv4;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_AuthIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_AuthIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http.Auth = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http_topicRulePayload_ErrorAction_Http_Auth;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_HttpIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Http = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Http;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.IotAnalyticsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics = null;
            
             // populate IotAnalytics
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics = new Amazon.IoT.Model.IotAnalyticsAction();
            System.Boolean? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_BatchMode = null;
            if (cmdletContext.IotAnalytics_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_BatchMode = cmdletContext.IotAnalytics_BatchMode.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics.BatchMode = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_BatchMode.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelArn = null;
            if (cmdletContext.IotAnalytics_ChannelArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelArn = cmdletContext.IotAnalytics_ChannelArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics.ChannelArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelName = null;
            if (cmdletContext.IotAnalytics_ChannelName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelName = cmdletContext.IotAnalytics_ChannelName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics.ChannelName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_ChannelName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_RoleArn = null;
            if (cmdletContext.IotAnalytics_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_RoleArn = cmdletContext.IotAnalytics_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics_iotAnalytics_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalyticsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.IotAnalytics = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotAnalytics;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.IotEventsAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents = null;
            
             // populate IotEvents
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents = new Amazon.IoT.Model.IotEventsAction();
            System.Boolean? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_BatchMode = null;
            if (cmdletContext.IotEvents_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_BatchMode = cmdletContext.IotEvents_BatchMode.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_BatchMode != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents.BatchMode = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_BatchMode.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_InputName = null;
            if (cmdletContext.IotEvents_InputName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_InputName = cmdletContext.IotEvents_InputName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_InputName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents.InputName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_InputName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_MessageId = null;
            if (cmdletContext.IotEvents_MessageId != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_MessageId = cmdletContext.IotEvents_MessageId;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_MessageId != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents.MessageId = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_MessageId;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_RoleArn = null;
            if (cmdletContext.IotEvents_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_RoleArn = cmdletContext.IotEvents_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents_iotEvents_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEventsIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.IotEvents = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_IotEvents;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.RepublishAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish = null;
            
             // populate Republish
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish = new Amazon.IoT.Model.RepublishAction();
            System.Int32? requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Qo = null;
            if (cmdletContext.Republish_Qo != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Qo = cmdletContext.Republish_Qo.Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Qo != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish.Qos = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Qo.Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_RoleArn = null;
            if (cmdletContext.Republish_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_RoleArn = cmdletContext.Republish_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Topic = null;
            if (cmdletContext.Republish_Topic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Topic = cmdletContext.Republish_Topic;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Topic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish.Topic = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_republish_Topic;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull = false;
            }
            Amazon.IoT.Model.MqttHeaders requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers = null;
            
             // populate Headers
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers = new Amazon.IoT.Model.MqttHeaders();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ContentType = null;
            if (cmdletContext.Headers_ContentType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ContentType = cmdletContext.Headers_ContentType;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ContentType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.ContentType = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ContentType;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_CorrelationData = null;
            if (cmdletContext.Headers_CorrelationData != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_CorrelationData = cmdletContext.Headers_CorrelationData;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_CorrelationData != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.CorrelationData = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_CorrelationData;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_MessageExpiry = null;
            if (cmdletContext.Headers_MessageExpiry != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_MessageExpiry = cmdletContext.Headers_MessageExpiry;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_MessageExpiry != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.MessageExpiry = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_MessageExpiry;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_PayloadFormatIndicator = null;
            if (cmdletContext.Headers_PayloadFormatIndicator != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_PayloadFormatIndicator = cmdletContext.Headers_PayloadFormatIndicator;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_PayloadFormatIndicator != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.PayloadFormatIndicator = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_PayloadFormatIndicator;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ResponseTopic = null;
            if (cmdletContext.Headers_ResponseTopic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ResponseTopic = cmdletContext.Headers_ResponseTopic;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ResponseTopic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.ResponseTopic = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_ResponseTopic;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
            List<Amazon.IoT.Model.UserProperty> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_UserProperty = null;
            if (cmdletContext.Headers_UserProperty != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_UserProperty = cmdletContext.Headers_UserProperty;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_UserProperty != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers.UserProperties = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers_headers_UserProperty;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_HeadersIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish.Headers = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish_topicRulePayload_ErrorAction_Republish_Headers;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_RepublishIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Republish = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Republish;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.S3Action requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3 = null;
            
             // populate S3
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3 = new Amazon.IoT.Model.S3Action();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_BucketName = null;
            if (cmdletContext.S3_BucketName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_BucketName = cmdletContext.S3_BucketName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_BucketName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3.BucketName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_BucketName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull = false;
            }
            Amazon.IoT.CannedAccessControlList requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_CannedAcl = null;
            if (cmdletContext.S3_CannedAcl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_CannedAcl = cmdletContext.S3_CannedAcl;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_CannedAcl != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3.CannedAcl = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_CannedAcl;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_Key = null;
            if (cmdletContext.S3_Key != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_Key = cmdletContext.S3_Key;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_Key != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3.Key = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_Key;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_RoleArn = null;
            if (cmdletContext.S3_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_RoleArn = cmdletContext.S3_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3_s3_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3 should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3IsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3 = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3 != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.S3 = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_S3;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.ElasticsearchAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch = null;
            
             // populate Elasticsearch
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch = new Amazon.IoT.Model.ElasticsearchAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Endpoint = null;
            if (cmdletContext.Elasticsearch_Endpoint != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Endpoint = cmdletContext.Elasticsearch_Endpoint;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Endpoint != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch.Endpoint = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Endpoint;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Id = null;
            if (cmdletContext.Elasticsearch_Id != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Id = cmdletContext.Elasticsearch_Id;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Id != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch.Id = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Id;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Index = null;
            if (cmdletContext.Elasticsearch_Index != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Index = cmdletContext.Elasticsearch_Index;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Index != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch.Index = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Index;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_RoleArn = null;
            if (cmdletContext.Elasticsearch_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_RoleArn = cmdletContext.Elasticsearch_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Type = null;
            if (cmdletContext.Elasticsearch_Type != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Type = cmdletContext.Elasticsearch_Type;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Type != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch.Type = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch_elasticsearch_Type;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_ElasticsearchIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Elasticsearch = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Elasticsearch;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.OpenSearchAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch = null;
            
             // populate OpenSearch
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch = new Amazon.IoT.Model.OpenSearchAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Endpoint = null;
            if (cmdletContext.OpenSearch_Endpoint != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Endpoint = cmdletContext.OpenSearch_Endpoint;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Endpoint != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch.Endpoint = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Endpoint;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Id = null;
            if (cmdletContext.OpenSearch_Id != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Id = cmdletContext.OpenSearch_Id;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Id != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch.Id = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Id;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Index = null;
            if (cmdletContext.OpenSearch_Index != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Index = cmdletContext.OpenSearch_Index;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Index != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch.Index = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Index;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_RoleArn = null;
            if (cmdletContext.OpenSearch_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_RoleArn = cmdletContext.OpenSearch_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Type = null;
            if (cmdletContext.OpenSearch_Type != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Type = cmdletContext.OpenSearch_Type;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Type != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch.Type = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch_openSearch_Type;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearchIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.OpenSearch = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_OpenSearch;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.TimestreamAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream = null;
            
             // populate Timestream
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream = new Amazon.IoT.Model.TimestreamAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_DatabaseName = null;
            if (cmdletContext.Timestream_DatabaseName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_DatabaseName = cmdletContext.Timestream_DatabaseName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_DatabaseName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream.DatabaseName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_DatabaseName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = false;
            }
            List<Amazon.IoT.Model.TimestreamDimension> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_Dimension = null;
            if (cmdletContext.Timestream_Dimension != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_Dimension = cmdletContext.Timestream_Dimension;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_Dimension != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream.Dimensions = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_Dimension;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_RoleArn = null;
            if (cmdletContext.Timestream_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_RoleArn = cmdletContext.Timestream_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_TableName = null;
            if (cmdletContext.Timestream_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_TableName = cmdletContext.Timestream_TableName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream.TableName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_timestream_TableName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = false;
            }
            Amazon.IoT.Model.TimestreamTimestamp requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp = null;
            
             // populate Timestamp
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_TimestampIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp = new Amazon.IoT.Model.TimestreamTimestamp();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Unit = null;
            if (cmdletContext.Timestamp_Unit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Unit = cmdletContext.Timestamp_Unit;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Unit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp.Unit = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Unit;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_TimestampIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Value = null;
            if (cmdletContext.Timestamp_Value != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Value = cmdletContext.Timestamp_Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Value != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp.Value = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp_timestamp_Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_TimestampIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_TimestampIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream.Timestamp = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream_topicRulePayload_ErrorAction_Timestream_Timestamp;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_TimestreamIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Timestream = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Timestream;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.CloudwatchMetricAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric = null;
            
             // populate CloudwatchMetric
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric = new Amazon.IoT.Model.CloudwatchMetricAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricName = null;
            if (cmdletContext.CloudwatchMetric_MetricName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricName = cmdletContext.CloudwatchMetric_MetricName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.MetricName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricNamespace = null;
            if (cmdletContext.CloudwatchMetric_MetricNamespace != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricNamespace = cmdletContext.CloudwatchMetric_MetricNamespace;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricNamespace != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.MetricNamespace = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricNamespace;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricTimestamp = null;
            if (cmdletContext.CloudwatchMetric_MetricTimestamp != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricTimestamp = cmdletContext.CloudwatchMetric_MetricTimestamp;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricTimestamp != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.MetricTimestamp = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricTimestamp;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricUnit = null;
            if (cmdletContext.CloudwatchMetric_MetricUnit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricUnit = cmdletContext.CloudwatchMetric_MetricUnit;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricUnit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.MetricUnit = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricUnit;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricValue = null;
            if (cmdletContext.CloudwatchMetric_MetricValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricValue = cmdletContext.CloudwatchMetric_MetricValue;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.MetricValue = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_MetricValue;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_RoleArn = null;
            if (cmdletContext.CloudwatchMetric_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_RoleArn = cmdletContext.CloudwatchMetric_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric_cloudwatchMetric_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetricIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.CloudwatchMetric = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_CloudwatchMetric;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.KafkaAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka = null;
            
             // populate Kafka
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka = new Amazon.IoT.Model.KafkaAction();
            Dictionary<System.String, System.String> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_ClientProperty = null;
            if (cmdletContext.Kafka_ClientProperty != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_ClientProperty = cmdletContext.Kafka_ClientProperty;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_ClientProperty != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.ClientProperties = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_ClientProperty;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_DestinationArn = null;
            if (cmdletContext.Kafka_DestinationArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_DestinationArn = cmdletContext.Kafka_DestinationArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_DestinationArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.DestinationArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_DestinationArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
            List<Amazon.IoT.Model.KafkaActionHeader> requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Header = null;
            if (cmdletContext.Kafka_Header != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Header = cmdletContext.Kafka_Header;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Header != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.Headers = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Header;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Key = null;
            if (cmdletContext.Kafka_Key != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Key = cmdletContext.Kafka_Key;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Key != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.Key = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Key;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Partition = null;
            if (cmdletContext.Kafka_Partition != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Partition = cmdletContext.Kafka_Partition;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Partition != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.Partition = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Partition;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Topic = null;
            if (cmdletContext.Kafka_Topic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Topic = cmdletContext.Kafka_Topic;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Topic != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka.Topic = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka_kafka_Topic;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_KafkaIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Kafka = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Kafka;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.LocationAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location = null;
            
             // populate Location
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location = new Amazon.IoT.Model.LocationAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_DeviceId = null;
            if (cmdletContext.Location_DeviceId != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_DeviceId = cmdletContext.Location_DeviceId;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_DeviceId != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.DeviceId = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_DeviceId;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Latitude = null;
            if (cmdletContext.Location_Latitude != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Latitude = cmdletContext.Location_Latitude;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Latitude != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.Latitude = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Latitude;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Longitude = null;
            if (cmdletContext.Location_Longitude != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Longitude = cmdletContext.Location_Longitude;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Longitude != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.Longitude = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_Longitude;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_RoleArn = null;
            if (cmdletContext.Location_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_RoleArn = cmdletContext.Location_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_TrackerName = null;
            if (cmdletContext.Location_TrackerName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_TrackerName = cmdletContext.Location_TrackerName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_TrackerName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.TrackerName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_location_TrackerName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
            Amazon.IoT.Model.LocationTimestamp requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp = null;
            
             // populate Timestamp
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_TimestampIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp = new Amazon.IoT.Model.LocationTimestamp();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Unit = null;
            if (cmdletContext.TopicRulePayload_ErrorAction_Location_Timestamp_Unit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Unit = cmdletContext.TopicRulePayload_ErrorAction_Location_Timestamp_Unit;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Unit != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp.Unit = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Unit;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_TimestampIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Value = null;
            if (cmdletContext.TopicRulePayload_ErrorAction_Location_Timestamp_Value != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Value = cmdletContext.TopicRulePayload_ErrorAction_Location_Timestamp_Value;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Value != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp.Value = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp_topicRulePayload_ErrorAction_Location_Timestamp_Value;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_TimestampIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_TimestampIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location.Timestamp = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location_topicRulePayload_ErrorAction_Location_Timestamp;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_LocationIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.Location = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_Location;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
            Amazon.IoT.Model.DynamoDBAction requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB = null;
            
             // populate DynamoDB
            var requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = true;
            requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB = new Amazon.IoT.Model.DynamoDBAction();
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyField = null;
            if (cmdletContext.DynamoDB_HashKeyField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyField = cmdletContext.DynamoDB_HashKeyField;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.HashKeyField = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyField;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            Amazon.IoT.DynamoKeyType requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyType = null;
            if (cmdletContext.DynamoDB_HashKeyType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyType = cmdletContext.DynamoDB_HashKeyType;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.HashKeyType = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyType;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyValue = null;
            if (cmdletContext.DynamoDB_HashKeyValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyValue = cmdletContext.DynamoDB_HashKeyValue;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.HashKeyValue = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_HashKeyValue;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_Operation = null;
            if (cmdletContext.DynamoDB_Operation != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_Operation = cmdletContext.DynamoDB_Operation;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_Operation != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.Operation = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_Operation;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_PayloadField = null;
            if (cmdletContext.DynamoDB_PayloadField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_PayloadField = cmdletContext.DynamoDB_PayloadField;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_PayloadField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.PayloadField = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_PayloadField;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyField = null;
            if (cmdletContext.DynamoDB_RangeKeyField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyField = cmdletContext.DynamoDB_RangeKeyField;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyField != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.RangeKeyField = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyField;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            Amazon.IoT.DynamoKeyType requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyType = null;
            if (cmdletContext.DynamoDB_RangeKeyType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyType = cmdletContext.DynamoDB_RangeKeyType;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyType != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.RangeKeyType = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyType;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyValue = null;
            if (cmdletContext.DynamoDB_RangeKeyValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyValue = cmdletContext.DynamoDB_RangeKeyValue;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyValue != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.RangeKeyValue = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RangeKeyValue;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RoleArn = null;
            if (cmdletContext.DynamoDB_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RoleArn = cmdletContext.DynamoDB_RoleArn;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RoleArn != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.RoleArn = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_RoleArn;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
            System.String requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_TableName = null;
            if (cmdletContext.DynamoDB_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_TableName = cmdletContext.DynamoDB_TableName;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_TableName != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB.TableName = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB_dynamoDB_TableName;
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDBIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB != null)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction.DynamoDB = requestTopicRulePayload_topicRulePayload_ErrorAction_topicRulePayload_ErrorAction_DynamoDB;
                requestTopicRulePayload_topicRulePayload_ErrorActionIsNull = false;
            }
             // determine if requestTopicRulePayload_topicRulePayload_ErrorAction should be set to null
            if (requestTopicRulePayload_topicRulePayload_ErrorActionIsNull)
            {
                requestTopicRulePayload_topicRulePayload_ErrorAction = null;
            }
            if (requestTopicRulePayload_topicRulePayload_ErrorAction != null)
            {
                request.TopicRulePayload.ErrorAction = requestTopicRulePayload_topicRulePayload_ErrorAction;
                requestTopicRulePayloadIsNull = false;
            }
             // determine if request.TopicRulePayload should be set to null
            if (requestTopicRulePayloadIsNull)
            {
                request.TopicRulePayload = 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;
        }