public object Execute()

in modules/AWSPowerShell/Cmdlets/OpenSearchService/Basic/Update-OSDomainConfig-Cmdlet.cs [1024:1981]


        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.OpenSearchService.Model.UpdateDomainConfigRequest();
            
            if (cmdletContext.AccessPolicy != null)
            {
                request.AccessPolicies = cmdletContext.AccessPolicy;
            }
            if (cmdletContext.AdvancedOption != null)
            {
                request.AdvancedOptions = cmdletContext.AdvancedOption;
            }
            
             // populate AdvancedSecurityOptions
            var requestAdvancedSecurityOptionsIsNull = true;
            request.AdvancedSecurityOptions = new Amazon.OpenSearchService.Model.AdvancedSecurityOptionsInput();
            System.Boolean? requestAdvancedSecurityOptions_advancedSecurityOptions_AnonymousAuthEnabled = null;
            if (cmdletContext.AdvancedSecurityOptions_AnonymousAuthEnabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_AnonymousAuthEnabled = cmdletContext.AdvancedSecurityOptions_AnonymousAuthEnabled.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_AnonymousAuthEnabled != null)
            {
                request.AdvancedSecurityOptions.AnonymousAuthEnabled = requestAdvancedSecurityOptions_advancedSecurityOptions_AnonymousAuthEnabled.Value;
                requestAdvancedSecurityOptionsIsNull = false;
            }
            System.Boolean? requestAdvancedSecurityOptions_advancedSecurityOptions_Enabled = null;
            if (cmdletContext.AdvancedSecurityOptions_Enabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_Enabled = cmdletContext.AdvancedSecurityOptions_Enabled.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_Enabled != null)
            {
                request.AdvancedSecurityOptions.Enabled = requestAdvancedSecurityOptions_advancedSecurityOptions_Enabled.Value;
                requestAdvancedSecurityOptionsIsNull = false;
            }
            System.Boolean? requestAdvancedSecurityOptions_advancedSecurityOptions_InternalUserDatabaseEnabled = null;
            if (cmdletContext.AdvancedSecurityOptions_InternalUserDatabaseEnabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_InternalUserDatabaseEnabled = cmdletContext.AdvancedSecurityOptions_InternalUserDatabaseEnabled.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_InternalUserDatabaseEnabled != null)
            {
                request.AdvancedSecurityOptions.InternalUserDatabaseEnabled = requestAdvancedSecurityOptions_advancedSecurityOptions_InternalUserDatabaseEnabled.Value;
                requestAdvancedSecurityOptionsIsNull = false;
            }
            Amazon.OpenSearchService.Model.MasterUserOptions requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions = null;
            
             // populate MasterUserOptions
            var requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptionsIsNull = true;
            requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions = new Amazon.OpenSearchService.Model.MasterUserOptions();
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserARN = null;
            if (cmdletContext.MasterUserOptions_MasterUserARN != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserARN = cmdletContext.MasterUserOptions_MasterUserARN;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserARN != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions.MasterUserARN = requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserARN;
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserName = null;
            if (cmdletContext.MasterUserOptions_MasterUserName != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserName = cmdletContext.MasterUserOptions_MasterUserName;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserName != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions.MasterUserName = requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserName;
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserPassword = null;
            if (cmdletContext.MasterUserOptions_MasterUserPassword != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserPassword = cmdletContext.MasterUserOptions_MasterUserPassword;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserPassword != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions.MasterUserPassword = requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions_masterUserOptions_MasterUserPassword;
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptionsIsNull = false;
            }
             // determine if requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions should be set to null
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptionsIsNull)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions = null;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions != null)
            {
                request.AdvancedSecurityOptions.MasterUserOptions = requestAdvancedSecurityOptions_advancedSecurityOptions_MasterUserOptions;
                requestAdvancedSecurityOptionsIsNull = false;
            }
            Amazon.OpenSearchService.Model.JWTOptionsInput requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions = null;
            
             // populate JWTOptions
            var requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull = true;
            requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions = new Amazon.OpenSearchService.Model.JWTOptionsInput();
            System.Boolean? requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_Enabled = null;
            if (cmdletContext.JWTOptions_Enabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_Enabled = cmdletContext.JWTOptions_Enabled.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_Enabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions.Enabled = requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_Enabled.Value;
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_PublicKey = null;
            if (cmdletContext.JWTOptions_PublicKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_PublicKey = cmdletContext.JWTOptions_PublicKey;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_PublicKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions.PublicKey = requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_PublicKey;
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_RolesKey = null;
            if (cmdletContext.JWTOptions_RolesKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_RolesKey = cmdletContext.JWTOptions_RolesKey;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_RolesKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions.RolesKey = requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_RolesKey;
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_SubjectKey = null;
            if (cmdletContext.JWTOptions_SubjectKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_SubjectKey = cmdletContext.JWTOptions_SubjectKey;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_SubjectKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions.SubjectKey = requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions_jWTOptions_SubjectKey;
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull = false;
            }
             // determine if requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions should be set to null
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptionsIsNull)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions = null;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions != null)
            {
                request.AdvancedSecurityOptions.JWTOptions = requestAdvancedSecurityOptions_advancedSecurityOptions_JWTOptions;
                requestAdvancedSecurityOptionsIsNull = false;
            }
            Amazon.OpenSearchService.Model.SAMLOptionsInput requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions = null;
            
             // populate SAMLOptions
            var requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = true;
            requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions = new Amazon.OpenSearchService.Model.SAMLOptionsInput();
            System.Boolean? requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_Enabled = null;
            if (cmdletContext.SAMLOptions_Enabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_Enabled = cmdletContext.SAMLOptions_Enabled.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_Enabled != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.Enabled = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_Enabled.Value;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterBackendRole = null;
            if (cmdletContext.SAMLOptions_MasterBackendRole != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterBackendRole = cmdletContext.SAMLOptions_MasterBackendRole;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterBackendRole != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.MasterBackendRole = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterBackendRole;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterUserName = null;
            if (cmdletContext.SAMLOptions_MasterUserName != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterUserName = cmdletContext.SAMLOptions_MasterUserName;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterUserName != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.MasterUserName = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_MasterUserName;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_RolesKey = null;
            if (cmdletContext.SAMLOptions_RolesKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_RolesKey = cmdletContext.SAMLOptions_RolesKey;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_RolesKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.RolesKey = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_RolesKey;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            System.Int32? requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SessionTimeoutMinute = null;
            if (cmdletContext.SAMLOptions_SessionTimeoutMinute != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SessionTimeoutMinute = cmdletContext.SAMLOptions_SessionTimeoutMinute.Value;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SessionTimeoutMinute != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.SessionTimeoutMinutes = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SessionTimeoutMinute.Value;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SubjectKey = null;
            if (cmdletContext.SAMLOptions_SubjectKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SubjectKey = cmdletContext.SAMLOptions_SubjectKey;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SubjectKey != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.SubjectKey = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_sAMLOptions_SubjectKey;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
            Amazon.OpenSearchService.Model.SAMLIdp requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp = null;
            
             // populate Idp
            var requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_IdpIsNull = true;
            requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp = new Amazon.OpenSearchService.Model.SAMLIdp();
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_EntityId = null;
            if (cmdletContext.Idp_EntityId != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_EntityId = cmdletContext.Idp_EntityId;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_EntityId != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp.EntityId = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_EntityId;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_IdpIsNull = false;
            }
            System.String requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_MetadataContent = null;
            if (cmdletContext.Idp_MetadataContent != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_MetadataContent = cmdletContext.Idp_MetadataContent;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_MetadataContent != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp.MetadataContent = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp_idp_MetadataContent;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_IdpIsNull = false;
            }
             // determine if requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp should be set to null
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_IdpIsNull)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp = null;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp != null)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions.Idp = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions_advancedSecurityOptions_SAMLOptions_Idp;
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull = false;
            }
             // determine if requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions should be set to null
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptionsIsNull)
            {
                requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions = null;
            }
            if (requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions != null)
            {
                request.AdvancedSecurityOptions.SAMLOptions = requestAdvancedSecurityOptions_advancedSecurityOptions_SAMLOptions;
                requestAdvancedSecurityOptionsIsNull = false;
            }
             // determine if request.AdvancedSecurityOptions should be set to null
            if (requestAdvancedSecurityOptionsIsNull)
            {
                request.AdvancedSecurityOptions = null;
            }
            
             // populate AIMLOptions
            var requestAIMLOptionsIsNull = true;
            request.AIMLOptions = new Amazon.OpenSearchService.Model.AIMLOptionsInput();
            Amazon.OpenSearchService.Model.NaturalLanguageQueryGenerationOptionsInput requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions = null;
            
             // populate NaturalLanguageQueryGenerationOptions
            var requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptionsIsNull = true;
            requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions = new Amazon.OpenSearchService.Model.NaturalLanguageQueryGenerationOptionsInput();
            Amazon.OpenSearchService.NaturalLanguageQueryGenerationDesiredState requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions_naturalLanguageQueryGenerationOptions_DesiredState = null;
            if (cmdletContext.NaturalLanguageQueryGenerationOptions_DesiredState != null)
            {
                requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions_naturalLanguageQueryGenerationOptions_DesiredState = cmdletContext.NaturalLanguageQueryGenerationOptions_DesiredState;
            }
            if (requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions_naturalLanguageQueryGenerationOptions_DesiredState != null)
            {
                requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions.DesiredState = requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions_naturalLanguageQueryGenerationOptions_DesiredState;
                requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptionsIsNull = false;
            }
             // determine if requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions should be set to null
            if (requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptionsIsNull)
            {
                requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions = null;
            }
            if (requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions != null)
            {
                request.AIMLOptions.NaturalLanguageQueryGenerationOptions = requestAIMLOptions_aIMLOptions_NaturalLanguageQueryGenerationOptions;
                requestAIMLOptionsIsNull = false;
            }
             // determine if request.AIMLOptions should be set to null
            if (requestAIMLOptionsIsNull)
            {
                request.AIMLOptions = null;
            }
            
             // populate AutoTuneOptions
            var requestAutoTuneOptionsIsNull = true;
            request.AutoTuneOptions = new Amazon.OpenSearchService.Model.AutoTuneOptions();
            Amazon.OpenSearchService.AutoTuneDesiredState requestAutoTuneOptions_autoTuneOptions_DesiredState = null;
            if (cmdletContext.AutoTuneOptions_DesiredState != null)
            {
                requestAutoTuneOptions_autoTuneOptions_DesiredState = cmdletContext.AutoTuneOptions_DesiredState;
            }
            if (requestAutoTuneOptions_autoTuneOptions_DesiredState != null)
            {
                request.AutoTuneOptions.DesiredState = requestAutoTuneOptions_autoTuneOptions_DesiredState;
                requestAutoTuneOptionsIsNull = false;
            }
            List<Amazon.OpenSearchService.Model.AutoTuneMaintenanceSchedule> requestAutoTuneOptions_autoTuneOptions_MaintenanceSchedule = null;
            if (cmdletContext.AutoTuneOptions_MaintenanceSchedule != null)
            {
                requestAutoTuneOptions_autoTuneOptions_MaintenanceSchedule = cmdletContext.AutoTuneOptions_MaintenanceSchedule;
            }
            if (requestAutoTuneOptions_autoTuneOptions_MaintenanceSchedule != null)
            {
                request.AutoTuneOptions.MaintenanceSchedules = requestAutoTuneOptions_autoTuneOptions_MaintenanceSchedule;
                requestAutoTuneOptionsIsNull = false;
            }
            Amazon.OpenSearchService.RollbackOnDisable requestAutoTuneOptions_autoTuneOptions_RollbackOnDisable = null;
            if (cmdletContext.AutoTuneOptions_RollbackOnDisable != null)
            {
                requestAutoTuneOptions_autoTuneOptions_RollbackOnDisable = cmdletContext.AutoTuneOptions_RollbackOnDisable;
            }
            if (requestAutoTuneOptions_autoTuneOptions_RollbackOnDisable != null)
            {
                request.AutoTuneOptions.RollbackOnDisable = requestAutoTuneOptions_autoTuneOptions_RollbackOnDisable;
                requestAutoTuneOptionsIsNull = false;
            }
            System.Boolean? requestAutoTuneOptions_autoTuneOptions_UseOffPeakWindow = null;
            if (cmdletContext.AutoTuneOptions_UseOffPeakWindow != null)
            {
                requestAutoTuneOptions_autoTuneOptions_UseOffPeakWindow = cmdletContext.AutoTuneOptions_UseOffPeakWindow.Value;
            }
            if (requestAutoTuneOptions_autoTuneOptions_UseOffPeakWindow != null)
            {
                request.AutoTuneOptions.UseOffPeakWindow = requestAutoTuneOptions_autoTuneOptions_UseOffPeakWindow.Value;
                requestAutoTuneOptionsIsNull = false;
            }
             // determine if request.AutoTuneOptions should be set to null
            if (requestAutoTuneOptionsIsNull)
            {
                request.AutoTuneOptions = null;
            }
            
             // populate ClusterConfig
            var requestClusterConfigIsNull = true;
            request.ClusterConfig = new Amazon.OpenSearchService.Model.ClusterConfig();
            System.Int32? requestClusterConfig_clusterConfig_DedicatedMasterCount = null;
            if (cmdletContext.ClusterConfig_DedicatedMasterCount != null)
            {
                requestClusterConfig_clusterConfig_DedicatedMasterCount = cmdletContext.ClusterConfig_DedicatedMasterCount.Value;
            }
            if (requestClusterConfig_clusterConfig_DedicatedMasterCount != null)
            {
                request.ClusterConfig.DedicatedMasterCount = requestClusterConfig_clusterConfig_DedicatedMasterCount.Value;
                requestClusterConfigIsNull = false;
            }
            System.Boolean? requestClusterConfig_clusterConfig_DedicatedMasterEnabled = null;
            if (cmdletContext.ClusterConfig_DedicatedMasterEnabled != null)
            {
                requestClusterConfig_clusterConfig_DedicatedMasterEnabled = cmdletContext.ClusterConfig_DedicatedMasterEnabled.Value;
            }
            if (requestClusterConfig_clusterConfig_DedicatedMasterEnabled != null)
            {
                request.ClusterConfig.DedicatedMasterEnabled = requestClusterConfig_clusterConfig_DedicatedMasterEnabled.Value;
                requestClusterConfigIsNull = false;
            }
            Amazon.OpenSearchService.OpenSearchPartitionInstanceType requestClusterConfig_clusterConfig_DedicatedMasterType = null;
            if (cmdletContext.ClusterConfig_DedicatedMasterType != null)
            {
                requestClusterConfig_clusterConfig_DedicatedMasterType = cmdletContext.ClusterConfig_DedicatedMasterType;
            }
            if (requestClusterConfig_clusterConfig_DedicatedMasterType != null)
            {
                request.ClusterConfig.DedicatedMasterType = requestClusterConfig_clusterConfig_DedicatedMasterType;
                requestClusterConfigIsNull = false;
            }
            System.Int32? requestClusterConfig_clusterConfig_InstanceCount = null;
            if (cmdletContext.ClusterConfig_InstanceCount != null)
            {
                requestClusterConfig_clusterConfig_InstanceCount = cmdletContext.ClusterConfig_InstanceCount.Value;
            }
            if (requestClusterConfig_clusterConfig_InstanceCount != null)
            {
                request.ClusterConfig.InstanceCount = requestClusterConfig_clusterConfig_InstanceCount.Value;
                requestClusterConfigIsNull = false;
            }
            Amazon.OpenSearchService.OpenSearchPartitionInstanceType requestClusterConfig_clusterConfig_InstanceType = null;
            if (cmdletContext.ClusterConfig_InstanceType != null)
            {
                requestClusterConfig_clusterConfig_InstanceType = cmdletContext.ClusterConfig_InstanceType;
            }
            if (requestClusterConfig_clusterConfig_InstanceType != null)
            {
                request.ClusterConfig.InstanceType = requestClusterConfig_clusterConfig_InstanceType;
                requestClusterConfigIsNull = false;
            }
            System.Boolean? requestClusterConfig_clusterConfig_MultiAZWithStandbyEnabled = null;
            if (cmdletContext.ClusterConfig_MultiAZWithStandbyEnabled != null)
            {
                requestClusterConfig_clusterConfig_MultiAZWithStandbyEnabled = cmdletContext.ClusterConfig_MultiAZWithStandbyEnabled.Value;
            }
            if (requestClusterConfig_clusterConfig_MultiAZWithStandbyEnabled != null)
            {
                request.ClusterConfig.MultiAZWithStandbyEnabled = requestClusterConfig_clusterConfig_MultiAZWithStandbyEnabled.Value;
                requestClusterConfigIsNull = false;
            }
            List<Amazon.OpenSearchService.Model.NodeOption> requestClusterConfig_clusterConfig_NodeOption = null;
            if (cmdletContext.ClusterConfig_NodeOption != null)
            {
                requestClusterConfig_clusterConfig_NodeOption = cmdletContext.ClusterConfig_NodeOption;
            }
            if (requestClusterConfig_clusterConfig_NodeOption != null)
            {
                request.ClusterConfig.NodeOptions = requestClusterConfig_clusterConfig_NodeOption;
                requestClusterConfigIsNull = false;
            }
            System.Int32? requestClusterConfig_clusterConfig_WarmCount = null;
            if (cmdletContext.ClusterConfig_WarmCount != null)
            {
                requestClusterConfig_clusterConfig_WarmCount = cmdletContext.ClusterConfig_WarmCount.Value;
            }
            if (requestClusterConfig_clusterConfig_WarmCount != null)
            {
                request.ClusterConfig.WarmCount = requestClusterConfig_clusterConfig_WarmCount.Value;
                requestClusterConfigIsNull = false;
            }
            System.Boolean? requestClusterConfig_clusterConfig_WarmEnabled = null;
            if (cmdletContext.ClusterConfig_WarmEnabled != null)
            {
                requestClusterConfig_clusterConfig_WarmEnabled = cmdletContext.ClusterConfig_WarmEnabled.Value;
            }
            if (requestClusterConfig_clusterConfig_WarmEnabled != null)
            {
                request.ClusterConfig.WarmEnabled = requestClusterConfig_clusterConfig_WarmEnabled.Value;
                requestClusterConfigIsNull = false;
            }
            Amazon.OpenSearchService.OpenSearchWarmPartitionInstanceType requestClusterConfig_clusterConfig_WarmType = null;
            if (cmdletContext.ClusterConfig_WarmType != null)
            {
                requestClusterConfig_clusterConfig_WarmType = cmdletContext.ClusterConfig_WarmType;
            }
            if (requestClusterConfig_clusterConfig_WarmType != null)
            {
                request.ClusterConfig.WarmType = requestClusterConfig_clusterConfig_WarmType;
                requestClusterConfigIsNull = false;
            }
            System.Boolean? requestClusterConfig_clusterConfig_ZoneAwarenessEnabled = null;
            if (cmdletContext.ClusterConfig_ZoneAwarenessEnabled != null)
            {
                requestClusterConfig_clusterConfig_ZoneAwarenessEnabled = cmdletContext.ClusterConfig_ZoneAwarenessEnabled.Value;
            }
            if (requestClusterConfig_clusterConfig_ZoneAwarenessEnabled != null)
            {
                request.ClusterConfig.ZoneAwarenessEnabled = requestClusterConfig_clusterConfig_ZoneAwarenessEnabled.Value;
                requestClusterConfigIsNull = false;
            }
            Amazon.OpenSearchService.Model.ColdStorageOptions requestClusterConfig_clusterConfig_ColdStorageOptions = null;
            
             // populate ColdStorageOptions
            var requestClusterConfig_clusterConfig_ColdStorageOptionsIsNull = true;
            requestClusterConfig_clusterConfig_ColdStorageOptions = new Amazon.OpenSearchService.Model.ColdStorageOptions();
            System.Boolean? requestClusterConfig_clusterConfig_ColdStorageOptions_coldStorageOptions_Enabled = null;
            if (cmdletContext.ColdStorageOptions_Enabled != null)
            {
                requestClusterConfig_clusterConfig_ColdStorageOptions_coldStorageOptions_Enabled = cmdletContext.ColdStorageOptions_Enabled.Value;
            }
            if (requestClusterConfig_clusterConfig_ColdStorageOptions_coldStorageOptions_Enabled != null)
            {
                requestClusterConfig_clusterConfig_ColdStorageOptions.Enabled = requestClusterConfig_clusterConfig_ColdStorageOptions_coldStorageOptions_Enabled.Value;
                requestClusterConfig_clusterConfig_ColdStorageOptionsIsNull = false;
            }
             // determine if requestClusterConfig_clusterConfig_ColdStorageOptions should be set to null
            if (requestClusterConfig_clusterConfig_ColdStorageOptionsIsNull)
            {
                requestClusterConfig_clusterConfig_ColdStorageOptions = null;
            }
            if (requestClusterConfig_clusterConfig_ColdStorageOptions != null)
            {
                request.ClusterConfig.ColdStorageOptions = requestClusterConfig_clusterConfig_ColdStorageOptions;
                requestClusterConfigIsNull = false;
            }
            Amazon.OpenSearchService.Model.ZoneAwarenessConfig requestClusterConfig_clusterConfig_ZoneAwarenessConfig = null;
            
             // populate ZoneAwarenessConfig
            var requestClusterConfig_clusterConfig_ZoneAwarenessConfigIsNull = true;
            requestClusterConfig_clusterConfig_ZoneAwarenessConfig = new Amazon.OpenSearchService.Model.ZoneAwarenessConfig();
            System.Int32? requestClusterConfig_clusterConfig_ZoneAwarenessConfig_zoneAwarenessConfig_AvailabilityZoneCount = null;
            if (cmdletContext.ZoneAwarenessConfig_AvailabilityZoneCount != null)
            {
                requestClusterConfig_clusterConfig_ZoneAwarenessConfig_zoneAwarenessConfig_AvailabilityZoneCount = cmdletContext.ZoneAwarenessConfig_AvailabilityZoneCount.Value;
            }
            if (requestClusterConfig_clusterConfig_ZoneAwarenessConfig_zoneAwarenessConfig_AvailabilityZoneCount != null)
            {
                requestClusterConfig_clusterConfig_ZoneAwarenessConfig.AvailabilityZoneCount = requestClusterConfig_clusterConfig_ZoneAwarenessConfig_zoneAwarenessConfig_AvailabilityZoneCount.Value;
                requestClusterConfig_clusterConfig_ZoneAwarenessConfigIsNull = false;
            }
             // determine if requestClusterConfig_clusterConfig_ZoneAwarenessConfig should be set to null
            if (requestClusterConfig_clusterConfig_ZoneAwarenessConfigIsNull)
            {
                requestClusterConfig_clusterConfig_ZoneAwarenessConfig = null;
            }
            if (requestClusterConfig_clusterConfig_ZoneAwarenessConfig != null)
            {
                request.ClusterConfig.ZoneAwarenessConfig = requestClusterConfig_clusterConfig_ZoneAwarenessConfig;
                requestClusterConfigIsNull = false;
            }
             // determine if request.ClusterConfig should be set to null
            if (requestClusterConfigIsNull)
            {
                request.ClusterConfig = null;
            }
            
             // populate CognitoOptions
            var requestCognitoOptionsIsNull = true;
            request.CognitoOptions = new Amazon.OpenSearchService.Model.CognitoOptions();
            System.Boolean? requestCognitoOptions_cognitoOptions_Enabled = null;
            if (cmdletContext.CognitoOptions_Enabled != null)
            {
                requestCognitoOptions_cognitoOptions_Enabled = cmdletContext.CognitoOptions_Enabled.Value;
            }
            if (requestCognitoOptions_cognitoOptions_Enabled != null)
            {
                request.CognitoOptions.Enabled = requestCognitoOptions_cognitoOptions_Enabled.Value;
                requestCognitoOptionsIsNull = false;
            }
            System.String requestCognitoOptions_cognitoOptions_IdentityPoolId = null;
            if (cmdletContext.CognitoOptions_IdentityPoolId != null)
            {
                requestCognitoOptions_cognitoOptions_IdentityPoolId = cmdletContext.CognitoOptions_IdentityPoolId;
            }
            if (requestCognitoOptions_cognitoOptions_IdentityPoolId != null)
            {
                request.CognitoOptions.IdentityPoolId = requestCognitoOptions_cognitoOptions_IdentityPoolId;
                requestCognitoOptionsIsNull = false;
            }
            System.String requestCognitoOptions_cognitoOptions_RoleArn = null;
            if (cmdletContext.CognitoOptions_RoleArn != null)
            {
                requestCognitoOptions_cognitoOptions_RoleArn = cmdletContext.CognitoOptions_RoleArn;
            }
            if (requestCognitoOptions_cognitoOptions_RoleArn != null)
            {
                request.CognitoOptions.RoleArn = requestCognitoOptions_cognitoOptions_RoleArn;
                requestCognitoOptionsIsNull = false;
            }
            System.String requestCognitoOptions_cognitoOptions_UserPoolId = null;
            if (cmdletContext.CognitoOptions_UserPoolId != null)
            {
                requestCognitoOptions_cognitoOptions_UserPoolId = cmdletContext.CognitoOptions_UserPoolId;
            }
            if (requestCognitoOptions_cognitoOptions_UserPoolId != null)
            {
                request.CognitoOptions.UserPoolId = requestCognitoOptions_cognitoOptions_UserPoolId;
                requestCognitoOptionsIsNull = false;
            }
             // determine if request.CognitoOptions should be set to null
            if (requestCognitoOptionsIsNull)
            {
                request.CognitoOptions = null;
            }
            
             // populate DomainEndpointOptions
            var requestDomainEndpointOptionsIsNull = true;
            request.DomainEndpointOptions = new Amazon.OpenSearchService.Model.DomainEndpointOptions();
            System.String requestDomainEndpointOptions_domainEndpointOptions_CustomEndpoint = null;
            if (cmdletContext.DomainEndpointOptions_CustomEndpoint != null)
            {
                requestDomainEndpointOptions_domainEndpointOptions_CustomEndpoint = cmdletContext.DomainEndpointOptions_CustomEndpoint;
            }
            if (requestDomainEndpointOptions_domainEndpointOptions_CustomEndpoint != null)
            {
                request.DomainEndpointOptions.CustomEndpoint = requestDomainEndpointOptions_domainEndpointOptions_CustomEndpoint;
                requestDomainEndpointOptionsIsNull = false;
            }
            System.String requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointCertificateArn = null;
            if (cmdletContext.DomainEndpointOptions_CustomEndpointCertificateArn != null)
            {
                requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointCertificateArn = cmdletContext.DomainEndpointOptions_CustomEndpointCertificateArn;
            }
            if (requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointCertificateArn != null)
            {
                request.DomainEndpointOptions.CustomEndpointCertificateArn = requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointCertificateArn;
                requestDomainEndpointOptionsIsNull = false;
            }
            System.Boolean? requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointEnabled = null;
            if (cmdletContext.DomainEndpointOptions_CustomEndpointEnabled != null)
            {
                requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointEnabled = cmdletContext.DomainEndpointOptions_CustomEndpointEnabled.Value;
            }
            if (requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointEnabled != null)
            {
                request.DomainEndpointOptions.CustomEndpointEnabled = requestDomainEndpointOptions_domainEndpointOptions_CustomEndpointEnabled.Value;
                requestDomainEndpointOptionsIsNull = false;
            }
            System.Boolean? requestDomainEndpointOptions_domainEndpointOptions_EnforceHTTPS = null;
            if (cmdletContext.DomainEndpointOptions_EnforceHTTPS != null)
            {
                requestDomainEndpointOptions_domainEndpointOptions_EnforceHTTPS = cmdletContext.DomainEndpointOptions_EnforceHTTPS.Value;
            }
            if (requestDomainEndpointOptions_domainEndpointOptions_EnforceHTTPS != null)
            {
                request.DomainEndpointOptions.EnforceHTTPS = requestDomainEndpointOptions_domainEndpointOptions_EnforceHTTPS.Value;
                requestDomainEndpointOptionsIsNull = false;
            }
            Amazon.OpenSearchService.TLSSecurityPolicy requestDomainEndpointOptions_domainEndpointOptions_TLSSecurityPolicy = null;
            if (cmdletContext.DomainEndpointOptions_TLSSecurityPolicy != null)
            {
                requestDomainEndpointOptions_domainEndpointOptions_TLSSecurityPolicy = cmdletContext.DomainEndpointOptions_TLSSecurityPolicy;
            }
            if (requestDomainEndpointOptions_domainEndpointOptions_TLSSecurityPolicy != null)
            {
                request.DomainEndpointOptions.TLSSecurityPolicy = requestDomainEndpointOptions_domainEndpointOptions_TLSSecurityPolicy;
                requestDomainEndpointOptionsIsNull = false;
            }
             // determine if request.DomainEndpointOptions should be set to null
            if (requestDomainEndpointOptionsIsNull)
            {
                request.DomainEndpointOptions = null;
            }
            if (cmdletContext.DomainName != null)
            {
                request.DomainName = cmdletContext.DomainName;
            }
            if (cmdletContext.DryRun != null)
            {
                request.DryRun = cmdletContext.DryRun.Value;
            }
            if (cmdletContext.DryRunMode != null)
            {
                request.DryRunMode = cmdletContext.DryRunMode;
            }
            
             // populate EBSOptions
            var requestEBSOptionsIsNull = true;
            request.EBSOptions = new Amazon.OpenSearchService.Model.EBSOptions();
            System.Boolean? requestEBSOptions_eBSOptions_EBSEnabled = null;
            if (cmdletContext.EBSOptions_EBSEnabled != null)
            {
                requestEBSOptions_eBSOptions_EBSEnabled = cmdletContext.EBSOptions_EBSEnabled.Value;
            }
            if (requestEBSOptions_eBSOptions_EBSEnabled != null)
            {
                request.EBSOptions.EBSEnabled = requestEBSOptions_eBSOptions_EBSEnabled.Value;
                requestEBSOptionsIsNull = false;
            }
            System.Int32? requestEBSOptions_eBSOptions_Iops = null;
            if (cmdletContext.EBSOptions_Iops != null)
            {
                requestEBSOptions_eBSOptions_Iops = cmdletContext.EBSOptions_Iops.Value;
            }
            if (requestEBSOptions_eBSOptions_Iops != null)
            {
                request.EBSOptions.Iops = requestEBSOptions_eBSOptions_Iops.Value;
                requestEBSOptionsIsNull = false;
            }
            System.Int32? requestEBSOptions_eBSOptions_Throughput = null;
            if (cmdletContext.EBSOptions_Throughput != null)
            {
                requestEBSOptions_eBSOptions_Throughput = cmdletContext.EBSOptions_Throughput.Value;
            }
            if (requestEBSOptions_eBSOptions_Throughput != null)
            {
                request.EBSOptions.Throughput = requestEBSOptions_eBSOptions_Throughput.Value;
                requestEBSOptionsIsNull = false;
            }
            System.Int32? requestEBSOptions_eBSOptions_VolumeSize = null;
            if (cmdletContext.EBSOptions_VolumeSize != null)
            {
                requestEBSOptions_eBSOptions_VolumeSize = cmdletContext.EBSOptions_VolumeSize.Value;
            }
            if (requestEBSOptions_eBSOptions_VolumeSize != null)
            {
                request.EBSOptions.VolumeSize = requestEBSOptions_eBSOptions_VolumeSize.Value;
                requestEBSOptionsIsNull = false;
            }
            Amazon.OpenSearchService.VolumeType requestEBSOptions_eBSOptions_VolumeType = null;
            if (cmdletContext.EBSOptions_VolumeType != null)
            {
                requestEBSOptions_eBSOptions_VolumeType = cmdletContext.EBSOptions_VolumeType;
            }
            if (requestEBSOptions_eBSOptions_VolumeType != null)
            {
                request.EBSOptions.VolumeType = requestEBSOptions_eBSOptions_VolumeType;
                requestEBSOptionsIsNull = false;
            }
             // determine if request.EBSOptions should be set to null
            if (requestEBSOptionsIsNull)
            {
                request.EBSOptions = null;
            }
            
             // populate EncryptionAtRestOptions
            var requestEncryptionAtRestOptionsIsNull = true;
            request.EncryptionAtRestOptions = new Amazon.OpenSearchService.Model.EncryptionAtRestOptions();
            System.Boolean? requestEncryptionAtRestOptions_encryptionAtRestOptions_Enabled = null;
            if (cmdletContext.EncryptionAtRestOptions_Enabled != null)
            {
                requestEncryptionAtRestOptions_encryptionAtRestOptions_Enabled = cmdletContext.EncryptionAtRestOptions_Enabled.Value;
            }
            if (requestEncryptionAtRestOptions_encryptionAtRestOptions_Enabled != null)
            {
                request.EncryptionAtRestOptions.Enabled = requestEncryptionAtRestOptions_encryptionAtRestOptions_Enabled.Value;
                requestEncryptionAtRestOptionsIsNull = false;
            }
            System.String requestEncryptionAtRestOptions_encryptionAtRestOptions_KmsKeyId = null;
            if (cmdletContext.EncryptionAtRestOptions_KmsKeyId != null)
            {
                requestEncryptionAtRestOptions_encryptionAtRestOptions_KmsKeyId = cmdletContext.EncryptionAtRestOptions_KmsKeyId;
            }
            if (requestEncryptionAtRestOptions_encryptionAtRestOptions_KmsKeyId != null)
            {
                request.EncryptionAtRestOptions.KmsKeyId = requestEncryptionAtRestOptions_encryptionAtRestOptions_KmsKeyId;
                requestEncryptionAtRestOptionsIsNull = false;
            }
             // determine if request.EncryptionAtRestOptions should be set to null
            if (requestEncryptionAtRestOptionsIsNull)
            {
                request.EncryptionAtRestOptions = null;
            }
            
             // populate IdentityCenterOptions
            var requestIdentityCenterOptionsIsNull = true;
            request.IdentityCenterOptions = new Amazon.OpenSearchService.Model.IdentityCenterOptionsInput();
            System.Boolean? requestIdentityCenterOptions_identityCenterOptions_EnabledAPIAccess = null;
            if (cmdletContext.IdentityCenterOptions_EnabledAPIAccess != null)
            {
                requestIdentityCenterOptions_identityCenterOptions_EnabledAPIAccess = cmdletContext.IdentityCenterOptions_EnabledAPIAccess.Value;
            }
            if (requestIdentityCenterOptions_identityCenterOptions_EnabledAPIAccess != null)
            {
                request.IdentityCenterOptions.EnabledAPIAccess = requestIdentityCenterOptions_identityCenterOptions_EnabledAPIAccess.Value;
                requestIdentityCenterOptionsIsNull = false;
            }
            System.String requestIdentityCenterOptions_identityCenterOptions_IdentityCenterInstanceARN = null;
            if (cmdletContext.IdentityCenterOptions_IdentityCenterInstanceARN != null)
            {
                requestIdentityCenterOptions_identityCenterOptions_IdentityCenterInstanceARN = cmdletContext.IdentityCenterOptions_IdentityCenterInstanceARN;
            }
            if (requestIdentityCenterOptions_identityCenterOptions_IdentityCenterInstanceARN != null)
            {
                request.IdentityCenterOptions.IdentityCenterInstanceARN = requestIdentityCenterOptions_identityCenterOptions_IdentityCenterInstanceARN;
                requestIdentityCenterOptionsIsNull = false;
            }
            Amazon.OpenSearchService.RolesKeyIdCOption requestIdentityCenterOptions_identityCenterOptions_RolesKey = null;
            if (cmdletContext.IdentityCenterOptions_RolesKey != null)
            {
                requestIdentityCenterOptions_identityCenterOptions_RolesKey = cmdletContext.IdentityCenterOptions_RolesKey;
            }
            if (requestIdentityCenterOptions_identityCenterOptions_RolesKey != null)
            {
                request.IdentityCenterOptions.RolesKey = requestIdentityCenterOptions_identityCenterOptions_RolesKey;
                requestIdentityCenterOptionsIsNull = false;
            }
            Amazon.OpenSearchService.SubjectKeyIdCOption requestIdentityCenterOptions_identityCenterOptions_SubjectKey = null;
            if (cmdletContext.IdentityCenterOptions_SubjectKey != null)
            {
                requestIdentityCenterOptions_identityCenterOptions_SubjectKey = cmdletContext.IdentityCenterOptions_SubjectKey;
            }
            if (requestIdentityCenterOptions_identityCenterOptions_SubjectKey != null)
            {
                request.IdentityCenterOptions.SubjectKey = requestIdentityCenterOptions_identityCenterOptions_SubjectKey;
                requestIdentityCenterOptionsIsNull = false;
            }
             // determine if request.IdentityCenterOptions should be set to null
            if (requestIdentityCenterOptionsIsNull)
            {
                request.IdentityCenterOptions = null;
            }
            if (cmdletContext.IPAddressType != null)
            {
                request.IPAddressType = cmdletContext.IPAddressType;
            }
            if (cmdletContext.LogPublishingOption != null)
            {
                request.LogPublishingOptions = cmdletContext.LogPublishingOption;
            }
            
             // populate NodeToNodeEncryptionOptions
            var requestNodeToNodeEncryptionOptionsIsNull = true;
            request.NodeToNodeEncryptionOptions = new Amazon.OpenSearchService.Model.NodeToNodeEncryptionOptions();
            System.Boolean? requestNodeToNodeEncryptionOptions_nodeToNodeEncryptionOptions_Enabled = null;
            if (cmdletContext.NodeToNodeEncryptionOptions_Enabled != null)
            {
                requestNodeToNodeEncryptionOptions_nodeToNodeEncryptionOptions_Enabled = cmdletContext.NodeToNodeEncryptionOptions_Enabled.Value;
            }
            if (requestNodeToNodeEncryptionOptions_nodeToNodeEncryptionOptions_Enabled != null)
            {
                request.NodeToNodeEncryptionOptions.Enabled = requestNodeToNodeEncryptionOptions_nodeToNodeEncryptionOptions_Enabled.Value;
                requestNodeToNodeEncryptionOptionsIsNull = false;
            }
             // determine if request.NodeToNodeEncryptionOptions should be set to null
            if (requestNodeToNodeEncryptionOptionsIsNull)
            {
                request.NodeToNodeEncryptionOptions = null;
            }
            
             // populate OffPeakWindowOptions
            var requestOffPeakWindowOptionsIsNull = true;
            request.OffPeakWindowOptions = new Amazon.OpenSearchService.Model.OffPeakWindowOptions();
            System.Boolean? requestOffPeakWindowOptions_offPeakWindowOptions_Enabled = null;
            if (cmdletContext.OffPeakWindowOptions_Enabled != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_Enabled = cmdletContext.OffPeakWindowOptions_Enabled.Value;
            }
            if (requestOffPeakWindowOptions_offPeakWindowOptions_Enabled != null)
            {
                request.OffPeakWindowOptions.Enabled = requestOffPeakWindowOptions_offPeakWindowOptions_Enabled.Value;
                requestOffPeakWindowOptionsIsNull = false;
            }
            Amazon.OpenSearchService.Model.OffPeakWindow requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow = null;
            
             // populate OffPeakWindow
            var requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindowIsNull = true;
            requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow = new Amazon.OpenSearchService.Model.OffPeakWindow();
            Amazon.OpenSearchService.Model.WindowStartTime requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime = null;
            
             // populate WindowStartTime
            var requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTimeIsNull = true;
            requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime = new Amazon.OpenSearchService.Model.WindowStartTime();
            System.Int64? requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Hour = null;
            if (cmdletContext.WindowStartTime_Hour != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Hour = cmdletContext.WindowStartTime_Hour.Value;
            }
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Hour != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime.Hours = requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Hour.Value;
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTimeIsNull = false;
            }
            System.Int64? requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Minute = null;
            if (cmdletContext.WindowStartTime_Minute != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Minute = cmdletContext.WindowStartTime_Minute.Value;
            }
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Minute != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime.Minutes = requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime_windowStartTime_Minute.Value;
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTimeIsNull = false;
            }
             // determine if requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime should be set to null
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTimeIsNull)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime = null;
            }
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime != null)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow.WindowStartTime = requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow_offPeakWindowOptions_OffPeakWindow_WindowStartTime;
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindowIsNull = false;
            }
             // determine if requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow should be set to null
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindowIsNull)
            {
                requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow = null;
            }
            if (requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow != null)
            {
                request.OffPeakWindowOptions.OffPeakWindow = requestOffPeakWindowOptions_offPeakWindowOptions_OffPeakWindow;
                requestOffPeakWindowOptionsIsNull = false;
            }
             // determine if request.OffPeakWindowOptions should be set to null
            if (requestOffPeakWindowOptionsIsNull)
            {
                request.OffPeakWindowOptions = null;
            }
            
             // populate SnapshotOptions
            var requestSnapshotOptionsIsNull = true;
            request.SnapshotOptions = new Amazon.OpenSearchService.Model.SnapshotOptions();
            System.Int32? requestSnapshotOptions_snapshotOptions_AutomatedSnapshotStartHour = null;
            if (cmdletContext.SnapshotOptions_AutomatedSnapshotStartHour != null)
            {
                requestSnapshotOptions_snapshotOptions_AutomatedSnapshotStartHour = cmdletContext.SnapshotOptions_AutomatedSnapshotStartHour.Value;
            }
            if (requestSnapshotOptions_snapshotOptions_AutomatedSnapshotStartHour != null)
            {
                request.SnapshotOptions.AutomatedSnapshotStartHour = requestSnapshotOptions_snapshotOptions_AutomatedSnapshotStartHour.Value;
                requestSnapshotOptionsIsNull = false;
            }
             // determine if request.SnapshotOptions should be set to null
            if (requestSnapshotOptionsIsNull)
            {
                request.SnapshotOptions = null;
            }
            
             // populate SoftwareUpdateOptions
            var requestSoftwareUpdateOptionsIsNull = true;
            request.SoftwareUpdateOptions = new Amazon.OpenSearchService.Model.SoftwareUpdateOptions();
            System.Boolean? requestSoftwareUpdateOptions_softwareUpdateOptions_AutoSoftwareUpdateEnabled = null;
            if (cmdletContext.SoftwareUpdateOptions_AutoSoftwareUpdateEnabled != null)
            {
                requestSoftwareUpdateOptions_softwareUpdateOptions_AutoSoftwareUpdateEnabled = cmdletContext.SoftwareUpdateOptions_AutoSoftwareUpdateEnabled.Value;
            }
            if (requestSoftwareUpdateOptions_softwareUpdateOptions_AutoSoftwareUpdateEnabled != null)
            {
                request.SoftwareUpdateOptions.AutoSoftwareUpdateEnabled = requestSoftwareUpdateOptions_softwareUpdateOptions_AutoSoftwareUpdateEnabled.Value;
                requestSoftwareUpdateOptionsIsNull = false;
            }
             // determine if request.SoftwareUpdateOptions should be set to null
            if (requestSoftwareUpdateOptionsIsNull)
            {
                request.SoftwareUpdateOptions = null;
            }
            
             // populate VPCOptions
            var requestVPCOptionsIsNull = true;
            request.VPCOptions = new Amazon.OpenSearchService.Model.VPCOptions();
            List<System.String> requestVPCOptions_vPCOptions_SecurityGroupId = null;
            if (cmdletContext.VPCOptions_SecurityGroupId != null)
            {
                requestVPCOptions_vPCOptions_SecurityGroupId = cmdletContext.VPCOptions_SecurityGroupId;
            }
            if (requestVPCOptions_vPCOptions_SecurityGroupId != null)
            {
                request.VPCOptions.SecurityGroupIds = requestVPCOptions_vPCOptions_SecurityGroupId;
                requestVPCOptionsIsNull = false;
            }
            List<System.String> requestVPCOptions_vPCOptions_SubnetId = null;
            if (cmdletContext.VPCOptions_SubnetId != null)
            {
                requestVPCOptions_vPCOptions_SubnetId = cmdletContext.VPCOptions_SubnetId;
            }
            if (requestVPCOptions_vPCOptions_SubnetId != null)
            {
                request.VPCOptions.SubnetIds = requestVPCOptions_vPCOptions_SubnetId;
                requestVPCOptionsIsNull = false;
            }
             // determine if request.VPCOptions should be set to null
            if (requestVPCOptionsIsNull)
            {
                request.VPCOptions = 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;
        }