public object Execute()

in modules/AWSPowerShell/Cmdlets/DataZone/Basic/New-DZConnection-Cmdlet.cs [1024:2035]


        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.DataZone.Model.CreateConnectionRequest();
            
            
             // populate AwsLocation
            var requestAwsLocationIsNull = true;
            request.AwsLocation = new Amazon.DataZone.Model.AwsLocation();
            System.String requestAwsLocation_awsLocation_AccessRole = null;
            if (cmdletContext.AwsLocation_AccessRole != null)
            {
                requestAwsLocation_awsLocation_AccessRole = cmdletContext.AwsLocation_AccessRole;
            }
            if (requestAwsLocation_awsLocation_AccessRole != null)
            {
                request.AwsLocation.AccessRole = requestAwsLocation_awsLocation_AccessRole;
                requestAwsLocationIsNull = false;
            }
            System.String requestAwsLocation_awsLocation_AwsAccountId = null;
            if (cmdletContext.AwsLocation_AwsAccountId != null)
            {
                requestAwsLocation_awsLocation_AwsAccountId = cmdletContext.AwsLocation_AwsAccountId;
            }
            if (requestAwsLocation_awsLocation_AwsAccountId != null)
            {
                request.AwsLocation.AwsAccountId = requestAwsLocation_awsLocation_AwsAccountId;
                requestAwsLocationIsNull = false;
            }
            System.String requestAwsLocation_awsLocation_AwsRegion = null;
            if (cmdletContext.AwsLocation_AwsRegion != null)
            {
                requestAwsLocation_awsLocation_AwsRegion = cmdletContext.AwsLocation_AwsRegion;
            }
            if (requestAwsLocation_awsLocation_AwsRegion != null)
            {
                request.AwsLocation.AwsRegion = requestAwsLocation_awsLocation_AwsRegion;
                requestAwsLocationIsNull = false;
            }
            System.String requestAwsLocation_awsLocation_IamConnectionId = null;
            if (cmdletContext.AwsLocation_IamConnectionId != null)
            {
                requestAwsLocation_awsLocation_IamConnectionId = cmdletContext.AwsLocation_IamConnectionId;
            }
            if (requestAwsLocation_awsLocation_IamConnectionId != null)
            {
                request.AwsLocation.IamConnectionId = requestAwsLocation_awsLocation_IamConnectionId;
                requestAwsLocationIsNull = false;
            }
             // determine if request.AwsLocation should be set to null
            if (requestAwsLocationIsNull)
            {
                request.AwsLocation = null;
            }
            if (cmdletContext.ClientToken != null)
            {
                request.ClientToken = cmdletContext.ClientToken;
            }
            if (cmdletContext.Description != null)
            {
                request.Description = cmdletContext.Description;
            }
            if (cmdletContext.DomainIdentifier != null)
            {
                request.DomainIdentifier = cmdletContext.DomainIdentifier;
            }
            if (cmdletContext.EnvironmentIdentifier != null)
            {
                request.EnvironmentIdentifier = cmdletContext.EnvironmentIdentifier;
            }
            if (cmdletContext.Name != null)
            {
                request.Name = cmdletContext.Name;
            }
            
             // populate Props
            var requestPropsIsNull = true;
            request.Props = new Amazon.DataZone.Model.ConnectionPropertiesInput();
            Amazon.DataZone.Model.AthenaPropertiesInput requestProps_props_AthenaProperties = null;
            
             // populate AthenaProperties
            var requestProps_props_AthenaPropertiesIsNull = true;
            requestProps_props_AthenaProperties = new Amazon.DataZone.Model.AthenaPropertiesInput();
            System.String requestProps_props_AthenaProperties_athenaProperties_WorkgroupName = null;
            if (cmdletContext.AthenaProperties_WorkgroupName != null)
            {
                requestProps_props_AthenaProperties_athenaProperties_WorkgroupName = cmdletContext.AthenaProperties_WorkgroupName;
            }
            if (requestProps_props_AthenaProperties_athenaProperties_WorkgroupName != null)
            {
                requestProps_props_AthenaProperties.WorkgroupName = requestProps_props_AthenaProperties_athenaProperties_WorkgroupName;
                requestProps_props_AthenaPropertiesIsNull = false;
            }
             // determine if requestProps_props_AthenaProperties should be set to null
            if (requestProps_props_AthenaPropertiesIsNull)
            {
                requestProps_props_AthenaProperties = null;
            }
            if (requestProps_props_AthenaProperties != null)
            {
                request.Props.AthenaProperties = requestProps_props_AthenaProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.GluePropertiesInput requestProps_props_GlueProperties = null;
            
             // populate GlueProperties
            var requestProps_props_GluePropertiesIsNull = true;
            requestProps_props_GlueProperties = new Amazon.DataZone.Model.GluePropertiesInput();
            Amazon.DataZone.Model.GlueConnectionInput requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput = null;
            
             // populate GlueConnectionInput
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput = new Amazon.DataZone.Model.GlueConnectionInput();
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_AthenaProperty = null;
            if (cmdletContext.GlueConnectionInput_AthenaProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_AthenaProperty = cmdletContext.GlueConnectionInput_AthenaProperty;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_AthenaProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.AthenaProperties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_AthenaProperty;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionProperty = null;
            if (cmdletContext.GlueConnectionInput_ConnectionProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionProperty = cmdletContext.GlueConnectionInput_ConnectionProperty;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.ConnectionProperties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionProperty;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Amazon.DataZone.GlueConnectionType requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionType = null;
            if (cmdletContext.GlueConnectionInput_ConnectionType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionType = cmdletContext.GlueConnectionInput_ConnectionType;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.ConnectionType = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ConnectionType;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Description = null;
            if (cmdletContext.GlueConnectionInput_Description != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Description = cmdletContext.GlueConnectionInput_Description;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Description != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.Description = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Description;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_MatchCriterion = null;
            if (cmdletContext.GlueConnectionInput_MatchCriterion != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_MatchCriterion = cmdletContext.GlueConnectionInput_MatchCriterion;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_MatchCriterion != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.MatchCriteria = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_MatchCriterion;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Name = null;
            if (cmdletContext.GlueConnectionInput_Name != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Name = cmdletContext.GlueConnectionInput_Name;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Name != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.Name = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_Name;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_PythonProperty = null;
            if (cmdletContext.GlueConnectionInput_PythonProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_PythonProperty = cmdletContext.GlueConnectionInput_PythonProperty;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_PythonProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.PythonProperties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_PythonProperty;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_SparkProperty = null;
            if (cmdletContext.GlueConnectionInput_SparkProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_SparkProperty = cmdletContext.GlueConnectionInput_SparkProperty;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_SparkProperty != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.SparkProperties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_SparkProperty;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            System.Boolean? requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateCredential = null;
            if (cmdletContext.GlueConnectionInput_ValidateCredential != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateCredential = cmdletContext.GlueConnectionInput_ValidateCredential.Value;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateCredential != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.ValidateCredentials = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateCredential.Value;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            List<System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateForComputeEnvironment = null;
            if (cmdletContext.GlueConnectionInput_ValidateForComputeEnvironment != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateForComputeEnvironment = cmdletContext.GlueConnectionInput_ValidateForComputeEnvironment;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateForComputeEnvironment != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.ValidateForComputeEnvironments = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_glueConnectionInput_ValidateForComputeEnvironment;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Amazon.DataZone.Model.PhysicalConnectionRequirements requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements = null;
            
             // populate PhysicalConnectionRequirements
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements = new Amazon.DataZone.Model.PhysicalConnectionRequirements();
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_AvailabilityZone = null;
            if (cmdletContext.PhysicalConnectionRequirements_AvailabilityZone != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_AvailabilityZone = cmdletContext.PhysicalConnectionRequirements_AvailabilityZone;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_AvailabilityZone != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements.AvailabilityZone = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_AvailabilityZone;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull = false;
            }
            List<System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SecurityGroupIdList = null;
            if (cmdletContext.PhysicalConnectionRequirements_SecurityGroupIdList != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SecurityGroupIdList = cmdletContext.PhysicalConnectionRequirements_SecurityGroupIdList;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SecurityGroupIdList != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements.SecurityGroupIdList = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SecurityGroupIdList;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetId = null;
            if (cmdletContext.PhysicalConnectionRequirements_SubnetId != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetId = cmdletContext.PhysicalConnectionRequirements_SubnetId;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetId != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements.SubnetId = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetId;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull = false;
            }
            List<System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetIdList = null;
            if (cmdletContext.PhysicalConnectionRequirements_SubnetIdList != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetIdList = cmdletContext.PhysicalConnectionRequirements_SubnetIdList;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetIdList != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements.SubnetIdList = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements_physicalConnectionRequirements_SubnetIdList;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirementsIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.PhysicalConnectionRequirements = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_PhysicalConnectionRequirements;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
            Amazon.DataZone.Model.AuthenticationConfigurationInput requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration = null;
            
             // populate AuthenticationConfiguration
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration = new Amazon.DataZone.Model.AuthenticationConfigurationInput();
            Amazon.DataZone.AuthenticationType requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType = null;
            if (cmdletContext.AuthenticationConfiguration_AuthenticationType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType = cmdletContext.AuthenticationConfiguration_AuthenticationType;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.AuthenticationType = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_AuthenticationType;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_CustomAuthenticationCredential = null;
            if (cmdletContext.AuthenticationConfiguration_CustomAuthenticationCredential != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_CustomAuthenticationCredential = cmdletContext.AuthenticationConfiguration_CustomAuthenticationCredential;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_CustomAuthenticationCredential != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.CustomAuthenticationCredentials = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_CustomAuthenticationCredential;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_KmsKeyArn = null;
            if (cmdletContext.AuthenticationConfiguration_KmsKeyArn != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_KmsKeyArn = cmdletContext.AuthenticationConfiguration_KmsKeyArn;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_KmsKeyArn != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.KmsKeyArn = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_KmsKeyArn;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn = null;
            if (cmdletContext.AuthenticationConfiguration_SecretArn != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn = cmdletContext.AuthenticationConfiguration_SecretArn;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.SecretArn = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_authenticationConfiguration_SecretArn;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
            Amazon.DataZone.Model.BasicAuthenticationCredentials requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials = null;
            
             // populate BasicAuthenticationCredentials
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentialsIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials = new Amazon.DataZone.Model.BasicAuthenticationCredentials();
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_Password = null;
            if (cmdletContext.BasicAuthenticationCredentials_Password != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_Password = cmdletContext.BasicAuthenticationCredentials_Password;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_Password != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials.Password = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_Password;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentialsIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_UserName = null;
            if (cmdletContext.BasicAuthenticationCredentials_UserName != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_UserName = cmdletContext.BasicAuthenticationCredentials_UserName;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_UserName != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials.UserName = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials_basicAuthenticationCredentials_UserName;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentialsIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentialsIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.BasicAuthenticationCredentials = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_BasicAuthenticationCredentials;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
            Amazon.DataZone.Model.OAuth2Properties requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties = null;
            
             // populate OAuth2Properties
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties = new Amazon.DataZone.Model.OAuth2Properties();
            Amazon.DataZone.OAuth2GrantType requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType = null;
            if (cmdletContext.OAuth2Properties_OAuth2GrantType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType = cmdletContext.OAuth2Properties_OAuth2GrantType;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.OAuth2GrantType = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_OAuth2GrantType;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl = null;
            if (cmdletContext.OAuth2Properties_TokenUrl != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl = cmdletContext.OAuth2Properties_TokenUrl;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.TokenUrl = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrl;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
            Dictionary<System.String, System.String> requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap = null;
            if (cmdletContext.OAuth2Properties_TokenUrlParametersMap != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap = cmdletContext.OAuth2Properties_TokenUrlParametersMap;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.TokenUrlParametersMap = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_oAuth2Properties_TokenUrlParametersMap;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
            Amazon.DataZone.Model.AuthorizationCodeProperties requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = null;
            
             // populate AuthorizationCodeProperties
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = new Amazon.DataZone.Model.AuthorizationCodeProperties();
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode = null;
            if (cmdletContext.AuthorizationCodeProperties_AuthorizationCode != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode = cmdletContext.AuthorizationCodeProperties_AuthorizationCode;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties.AuthorizationCode = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_AuthorizationCode;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri = null;
            if (cmdletContext.AuthorizationCodeProperties_RedirectUri != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri = cmdletContext.AuthorizationCodeProperties_RedirectUri;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties.RedirectUri = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties_authorizationCodeProperties_RedirectUri;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodePropertiesIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.AuthorizationCodeProperties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_AuthorizationCodeProperties;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
            Amazon.DataZone.Model.OAuth2ClientApplication requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = null;
            
             // populate OAuth2ClientApplication
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = new Amazon.DataZone.Model.OAuth2ClientApplication();
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference = null;
            if (cmdletContext.OAuth2ClientApplication_AWSManagedClientApplicationReference != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference = cmdletContext.OAuth2ClientApplication_AWSManagedClientApplicationReference;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication.AWSManagedClientApplicationReference = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_AWSManagedClientApplicationReference;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId = null;
            if (cmdletContext.OAuth2ClientApplication_UserManagedClientApplicationClientId != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId = cmdletContext.OAuth2ClientApplication_UserManagedClientApplicationClientId;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication.UserManagedClientApplicationClientId = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication_oAuth2ClientApplication_UserManagedClientApplicationClientId;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplicationIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.OAuth2ClientApplication = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2ClientApplication;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
            Amazon.DataZone.Model.GlueOAuth2Credentials requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials = null;
            
             // populate OAuth2Credentials
            var requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull = true;
            requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials = new Amazon.DataZone.Model.GlueOAuth2Credentials();
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_AccessToken = null;
            if (cmdletContext.OAuth2Credentials_AccessToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_AccessToken = cmdletContext.OAuth2Credentials_AccessToken;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_AccessToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials.AccessToken = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_AccessToken;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_JwtToken = null;
            if (cmdletContext.OAuth2Credentials_JwtToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_JwtToken = cmdletContext.OAuth2Credentials_JwtToken;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_JwtToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials.JwtToken = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_JwtToken;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_RefreshToken = null;
            if (cmdletContext.OAuth2Credentials_RefreshToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_RefreshToken = cmdletContext.OAuth2Credentials_RefreshToken;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_RefreshToken != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials.RefreshToken = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_RefreshToken;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull = false;
            }
            System.String requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_UserManagedClientApplicationClientSecret = null;
            if (cmdletContext.OAuth2Credentials_UserManagedClientApplicationClientSecret != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_UserManagedClientApplicationClientSecret = cmdletContext.OAuth2Credentials_UserManagedClientApplicationClientSecret;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_UserManagedClientApplicationClientSecret != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials.UserManagedClientApplicationClientSecret = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials_oAuth2Credentials_UserManagedClientApplicationClientSecret;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2CredentialsIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties.OAuth2Credentials = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties_OAuth2Credentials;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2PropertiesIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration.OAuth2Properties = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration_OAuth2Properties;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfigurationIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration != null)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput.AuthenticationConfiguration = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput_props_GlueProperties_GlueConnectionInput_AuthenticationConfiguration;
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull = false;
            }
             // determine if requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput should be set to null
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInputIsNull)
            {
                requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput = null;
            }
            if (requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput != null)
            {
                requestProps_props_GlueProperties.GlueConnectionInput = requestProps_props_GlueProperties_props_GlueProperties_GlueConnectionInput;
                requestProps_props_GluePropertiesIsNull = false;
            }
             // determine if requestProps_props_GlueProperties should be set to null
            if (requestProps_props_GluePropertiesIsNull)
            {
                requestProps_props_GlueProperties = null;
            }
            if (requestProps_props_GlueProperties != null)
            {
                request.Props.GlueProperties = requestProps_props_GlueProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.HyperPodPropertiesInput requestProps_props_HyperPodProperties = null;
            
             // populate HyperPodProperties
            var requestProps_props_HyperPodPropertiesIsNull = true;
            requestProps_props_HyperPodProperties = new Amazon.DataZone.Model.HyperPodPropertiesInput();
            System.String requestProps_props_HyperPodProperties_hyperPodProperties_ClusterName = null;
            if (cmdletContext.HyperPodProperties_ClusterName != null)
            {
                requestProps_props_HyperPodProperties_hyperPodProperties_ClusterName = cmdletContext.HyperPodProperties_ClusterName;
            }
            if (requestProps_props_HyperPodProperties_hyperPodProperties_ClusterName != null)
            {
                requestProps_props_HyperPodProperties.ClusterName = requestProps_props_HyperPodProperties_hyperPodProperties_ClusterName;
                requestProps_props_HyperPodPropertiesIsNull = false;
            }
             // determine if requestProps_props_HyperPodProperties should be set to null
            if (requestProps_props_HyperPodPropertiesIsNull)
            {
                requestProps_props_HyperPodProperties = null;
            }
            if (requestProps_props_HyperPodProperties != null)
            {
                request.Props.HyperPodProperties = requestProps_props_HyperPodProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.IamPropertiesInput requestProps_props_IamProperties = null;
            
             // populate IamProperties
            var requestProps_props_IamPropertiesIsNull = true;
            requestProps_props_IamProperties = new Amazon.DataZone.Model.IamPropertiesInput();
            System.Boolean? requestProps_props_IamProperties_iamProperties_GlueLineageSyncEnabled = null;
            if (cmdletContext.IamProperties_GlueLineageSyncEnabled != null)
            {
                requestProps_props_IamProperties_iamProperties_GlueLineageSyncEnabled = cmdletContext.IamProperties_GlueLineageSyncEnabled.Value;
            }
            if (requestProps_props_IamProperties_iamProperties_GlueLineageSyncEnabled != null)
            {
                requestProps_props_IamProperties.GlueLineageSyncEnabled = requestProps_props_IamProperties_iamProperties_GlueLineageSyncEnabled.Value;
                requestProps_props_IamPropertiesIsNull = false;
            }
             // determine if requestProps_props_IamProperties should be set to null
            if (requestProps_props_IamPropertiesIsNull)
            {
                requestProps_props_IamProperties = null;
            }
            if (requestProps_props_IamProperties != null)
            {
                request.Props.IamProperties = requestProps_props_IamProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.RedshiftPropertiesInput requestProps_props_RedshiftProperties = null;
            
             // populate RedshiftProperties
            var requestProps_props_RedshiftPropertiesIsNull = true;
            requestProps_props_RedshiftProperties = new Amazon.DataZone.Model.RedshiftPropertiesInput();
            System.String requestProps_props_RedshiftProperties_redshiftProperties_DatabaseName = null;
            if (cmdletContext.RedshiftProperties_DatabaseName != null)
            {
                requestProps_props_RedshiftProperties_redshiftProperties_DatabaseName = cmdletContext.RedshiftProperties_DatabaseName;
            }
            if (requestProps_props_RedshiftProperties_redshiftProperties_DatabaseName != null)
            {
                requestProps_props_RedshiftProperties.DatabaseName = requestProps_props_RedshiftProperties_redshiftProperties_DatabaseName;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
            System.String requestProps_props_RedshiftProperties_redshiftProperties_Host = null;
            if (cmdletContext.RedshiftProperties_Host != null)
            {
                requestProps_props_RedshiftProperties_redshiftProperties_Host = cmdletContext.RedshiftProperties_Host;
            }
            if (requestProps_props_RedshiftProperties_redshiftProperties_Host != null)
            {
                requestProps_props_RedshiftProperties.Host = requestProps_props_RedshiftProperties_redshiftProperties_Host;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
            System.Int32? requestProps_props_RedshiftProperties_redshiftProperties_Port = null;
            if (cmdletContext.RedshiftProperties_Port != null)
            {
                requestProps_props_RedshiftProperties_redshiftProperties_Port = cmdletContext.RedshiftProperties_Port.Value;
            }
            if (requestProps_props_RedshiftProperties_redshiftProperties_Port != null)
            {
                requestProps_props_RedshiftProperties.Port = requestProps_props_RedshiftProperties_redshiftProperties_Port.Value;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
            Amazon.DataZone.Model.RedshiftCredentials requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials = null;
            
             // populate Credentials
            var requestProps_props_RedshiftProperties_props_RedshiftProperties_CredentialsIsNull = true;
            requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials = new Amazon.DataZone.Model.RedshiftCredentials();
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_credentials_SecretArn = null;
            if (cmdletContext.Credentials_SecretArn != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_credentials_SecretArn = cmdletContext.Credentials_SecretArn;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_credentials_SecretArn != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials.SecretArn = requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_credentials_SecretArn;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_CredentialsIsNull = false;
            }
            Amazon.DataZone.Model.UsernamePassword requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword = null;
            
             // populate UsernamePassword
            var requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePasswordIsNull = true;
            requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword = new Amazon.DataZone.Model.UsernamePassword();
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Password = null;
            if (cmdletContext.UsernamePassword_Password != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Password = cmdletContext.UsernamePassword_Password;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Password != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword.Password = requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Password;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePasswordIsNull = false;
            }
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Username = null;
            if (cmdletContext.UsernamePassword_Username != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Username = cmdletContext.UsernamePassword_Username;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Username != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword.Username = requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword_usernamePassword_Username;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePasswordIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword should be set to null
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePasswordIsNull)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword = null;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials.UsernamePassword = requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials_props_RedshiftProperties_Credentials_UsernamePassword;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_CredentialsIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials should be set to null
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_CredentialsIsNull)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials = null;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials != null)
            {
                requestProps_props_RedshiftProperties.Credentials = requestProps_props_RedshiftProperties_props_RedshiftProperties_Credentials;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
            Amazon.DataZone.Model.RedshiftLineageSyncConfigurationInput requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync = null;
            
             // populate LineageSync
            var requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSyncIsNull = true;
            requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync = new Amazon.DataZone.Model.RedshiftLineageSyncConfigurationInput();
            System.Boolean? requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_lineageSync_Enabled = null;
            if (cmdletContext.LineageSync_Enabled != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_lineageSync_Enabled = cmdletContext.LineageSync_Enabled.Value;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_lineageSync_Enabled != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync.Enabled = requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_lineageSync_Enabled.Value;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSyncIsNull = false;
            }
            Amazon.DataZone.Model.LineageSyncSchedule requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule = null;
            
             // populate Schedule
            var requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_ScheduleIsNull = true;
            requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule = new Amazon.DataZone.Model.LineageSyncSchedule();
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule_schedule_Schedule = null;
            if (cmdletContext.Schedule_Schedule != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule_schedule_Schedule = cmdletContext.Schedule_Schedule;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule_schedule_Schedule != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule.Schedule = requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule_schedule_Schedule;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_ScheduleIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule should be set to null
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_ScheduleIsNull)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule = null;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync.Schedule = requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync_props_RedshiftProperties_LineageSync_Schedule;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSyncIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync should be set to null
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSyncIsNull)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync = null;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync != null)
            {
                requestProps_props_RedshiftProperties.LineageSync = requestProps_props_RedshiftProperties_props_RedshiftProperties_LineageSync;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
            Amazon.DataZone.Model.RedshiftStorageProperties requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage = null;
            
             // populate Storage
            var requestProps_props_RedshiftProperties_props_RedshiftProperties_StorageIsNull = true;
            requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage = new Amazon.DataZone.Model.RedshiftStorageProperties();
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_ClusterName = null;
            if (cmdletContext.Storage_ClusterName != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_ClusterName = cmdletContext.Storage_ClusterName;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_ClusterName != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage.ClusterName = requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_ClusterName;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_StorageIsNull = false;
            }
            System.String requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_WorkgroupName = null;
            if (cmdletContext.Storage_WorkgroupName != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_WorkgroupName = cmdletContext.Storage_WorkgroupName;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_WorkgroupName != null)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage.WorkgroupName = requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage_storage_WorkgroupName;
                requestProps_props_RedshiftProperties_props_RedshiftProperties_StorageIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage should be set to null
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_StorageIsNull)
            {
                requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage = null;
            }
            if (requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage != null)
            {
                requestProps_props_RedshiftProperties.Storage = requestProps_props_RedshiftProperties_props_RedshiftProperties_Storage;
                requestProps_props_RedshiftPropertiesIsNull = false;
            }
             // determine if requestProps_props_RedshiftProperties should be set to null
            if (requestProps_props_RedshiftPropertiesIsNull)
            {
                requestProps_props_RedshiftProperties = null;
            }
            if (requestProps_props_RedshiftProperties != null)
            {
                request.Props.RedshiftProperties = requestProps_props_RedshiftProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.SparkEmrPropertiesInput requestProps_props_SparkEmrProperties = null;
            
             // populate SparkEmrProperties
            var requestProps_props_SparkEmrPropertiesIsNull = true;
            requestProps_props_SparkEmrProperties = new Amazon.DataZone.Model.SparkEmrPropertiesInput();
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_ComputeArn = null;
            if (cmdletContext.SparkEmrProperties_ComputeArn != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_ComputeArn = cmdletContext.SparkEmrProperties_ComputeArn;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_ComputeArn != null)
            {
                requestProps_props_SparkEmrProperties.ComputeArn = requestProps_props_SparkEmrProperties_sparkEmrProperties_ComputeArn;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_InstanceProfileArn = null;
            if (cmdletContext.SparkEmrProperties_InstanceProfileArn != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_InstanceProfileArn = cmdletContext.SparkEmrProperties_InstanceProfileArn;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_InstanceProfileArn != null)
            {
                requestProps_props_SparkEmrProperties.InstanceProfileArn = requestProps_props_SparkEmrProperties_sparkEmrProperties_InstanceProfileArn;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_JavaVirtualEnv = null;
            if (cmdletContext.SparkEmrProperties_JavaVirtualEnv != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_JavaVirtualEnv = cmdletContext.SparkEmrProperties_JavaVirtualEnv;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_JavaVirtualEnv != null)
            {
                requestProps_props_SparkEmrProperties.JavaVirtualEnv = requestProps_props_SparkEmrProperties_sparkEmrProperties_JavaVirtualEnv;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_LogUri = null;
            if (cmdletContext.SparkEmrProperties_LogUri != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_LogUri = cmdletContext.SparkEmrProperties_LogUri;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_LogUri != null)
            {
                requestProps_props_SparkEmrProperties.LogUri = requestProps_props_SparkEmrProperties_sparkEmrProperties_LogUri;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_PythonVirtualEnv = null;
            if (cmdletContext.SparkEmrProperties_PythonVirtualEnv != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_PythonVirtualEnv = cmdletContext.SparkEmrProperties_PythonVirtualEnv;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_PythonVirtualEnv != null)
            {
                requestProps_props_SparkEmrProperties.PythonVirtualEnv = requestProps_props_SparkEmrProperties_sparkEmrProperties_PythonVirtualEnv;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_RuntimeRole = null;
            if (cmdletContext.SparkEmrProperties_RuntimeRole != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_RuntimeRole = cmdletContext.SparkEmrProperties_RuntimeRole;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_RuntimeRole != null)
            {
                requestProps_props_SparkEmrProperties.RuntimeRole = requestProps_props_SparkEmrProperties_sparkEmrProperties_RuntimeRole;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
            System.String requestProps_props_SparkEmrProperties_sparkEmrProperties_TrustedCertificatesS3Uri = null;
            if (cmdletContext.SparkEmrProperties_TrustedCertificatesS3Uri != null)
            {
                requestProps_props_SparkEmrProperties_sparkEmrProperties_TrustedCertificatesS3Uri = cmdletContext.SparkEmrProperties_TrustedCertificatesS3Uri;
            }
            if (requestProps_props_SparkEmrProperties_sparkEmrProperties_TrustedCertificatesS3Uri != null)
            {
                requestProps_props_SparkEmrProperties.TrustedCertificatesS3Uri = requestProps_props_SparkEmrProperties_sparkEmrProperties_TrustedCertificatesS3Uri;
                requestProps_props_SparkEmrPropertiesIsNull = false;
            }
             // determine if requestProps_props_SparkEmrProperties should be set to null
            if (requestProps_props_SparkEmrPropertiesIsNull)
            {
                requestProps_props_SparkEmrProperties = null;
            }
            if (requestProps_props_SparkEmrProperties != null)
            {
                request.Props.SparkEmrProperties = requestProps_props_SparkEmrProperties;
                requestPropsIsNull = false;
            }
            Amazon.DataZone.Model.SparkGluePropertiesInput requestProps_props_SparkGlueProperties = null;
            
             // populate SparkGlueProperties
            var requestProps_props_SparkGluePropertiesIsNull = true;
            requestProps_props_SparkGlueProperties = new Amazon.DataZone.Model.SparkGluePropertiesInput();
            System.String requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueConnectionName = null;
            if (cmdletContext.SparkGlueProperties_GlueConnectionName != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueConnectionName = cmdletContext.SparkGlueProperties_GlueConnectionName;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueConnectionName != null)
            {
                requestProps_props_SparkGlueProperties.GlueConnectionName = requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueConnectionName;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.String requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueVersion = null;
            if (cmdletContext.SparkGlueProperties_GlueVersion != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueVersion = cmdletContext.SparkGlueProperties_GlueVersion;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueVersion != null)
            {
                requestProps_props_SparkGlueProperties.GlueVersion = requestProps_props_SparkGlueProperties_sparkGlueProperties_GlueVersion;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.Int32? requestProps_props_SparkGlueProperties_sparkGlueProperties_IdleTimeout = null;
            if (cmdletContext.SparkGlueProperties_IdleTimeout != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_IdleTimeout = cmdletContext.SparkGlueProperties_IdleTimeout.Value;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_IdleTimeout != null)
            {
                requestProps_props_SparkGlueProperties.IdleTimeout = requestProps_props_SparkGlueProperties_sparkGlueProperties_IdleTimeout.Value;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.String requestProps_props_SparkGlueProperties_sparkGlueProperties_JavaVirtualEnv = null;
            if (cmdletContext.SparkGlueProperties_JavaVirtualEnv != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_JavaVirtualEnv = cmdletContext.SparkGlueProperties_JavaVirtualEnv;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_JavaVirtualEnv != null)
            {
                requestProps_props_SparkGlueProperties.JavaVirtualEnv = requestProps_props_SparkGlueProperties_sparkGlueProperties_JavaVirtualEnv;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.Int32? requestProps_props_SparkGlueProperties_sparkGlueProperties_NumberOfWorker = null;
            if (cmdletContext.SparkGlueProperties_NumberOfWorker != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_NumberOfWorker = cmdletContext.SparkGlueProperties_NumberOfWorker.Value;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_NumberOfWorker != null)
            {
                requestProps_props_SparkGlueProperties.NumberOfWorkers = requestProps_props_SparkGlueProperties_sparkGlueProperties_NumberOfWorker.Value;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.String requestProps_props_SparkGlueProperties_sparkGlueProperties_PythonVirtualEnv = null;
            if (cmdletContext.SparkGlueProperties_PythonVirtualEnv != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_PythonVirtualEnv = cmdletContext.SparkGlueProperties_PythonVirtualEnv;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_PythonVirtualEnv != null)
            {
                requestProps_props_SparkGlueProperties.PythonVirtualEnv = requestProps_props_SparkGlueProperties_sparkGlueProperties_PythonVirtualEnv;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            System.String requestProps_props_SparkGlueProperties_sparkGlueProperties_WorkerType = null;
            if (cmdletContext.SparkGlueProperties_WorkerType != null)
            {
                requestProps_props_SparkGlueProperties_sparkGlueProperties_WorkerType = cmdletContext.SparkGlueProperties_WorkerType;
            }
            if (requestProps_props_SparkGlueProperties_sparkGlueProperties_WorkerType != null)
            {
                requestProps_props_SparkGlueProperties.WorkerType = requestProps_props_SparkGlueProperties_sparkGlueProperties_WorkerType;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
            Amazon.DataZone.Model.SparkGlueArgs requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs = null;
            
             // populate AdditionalArgs
            var requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgsIsNull = true;
            requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs = new Amazon.DataZone.Model.SparkGlueArgs();
            System.String requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs_additionalArgs_Connection = null;
            if (cmdletContext.AdditionalArgs_Connection != null)
            {
                requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs_additionalArgs_Connection = cmdletContext.AdditionalArgs_Connection;
            }
            if (requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs_additionalArgs_Connection != null)
            {
                requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs.Connection = requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs_additionalArgs_Connection;
                requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgsIsNull = false;
            }
             // determine if requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs should be set to null
            if (requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgsIsNull)
            {
                requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs = null;
            }
            if (requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs != null)
            {
                requestProps_props_SparkGlueProperties.AdditionalArgs = requestProps_props_SparkGlueProperties_props_SparkGlueProperties_AdditionalArgs;
                requestProps_props_SparkGluePropertiesIsNull = false;
            }
             // determine if requestProps_props_SparkGlueProperties should be set to null
            if (requestProps_props_SparkGluePropertiesIsNull)
            {
                requestProps_props_SparkGlueProperties = null;
            }
            if (requestProps_props_SparkGlueProperties != null)
            {
                request.Props.SparkGlueProperties = requestProps_props_SparkGlueProperties;
                requestPropsIsNull = false;
            }
             // determine if request.Props should be set to null
            if (requestPropsIsNull)
            {
                request.Props = 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;
        }