public object Execute()

in modules/AWSPowerShell/Cmdlets/CodeBuild/Basic/Update-CBProject-Cmdlet.cs [1217:2083]


        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.CodeBuild.Model.UpdateProjectRequest();
            
            
             // populate Artifacts
            var requestArtifactsIsNull = true;
            request.Artifacts = new Amazon.CodeBuild.Model.ProjectArtifacts();
            System.String requestArtifacts_artifacts_ArtifactIdentifier = null;
            if (cmdletContext.Artifacts_ArtifactIdentifier != null)
            {
                requestArtifacts_artifacts_ArtifactIdentifier = cmdletContext.Artifacts_ArtifactIdentifier;
            }
            if (requestArtifacts_artifacts_ArtifactIdentifier != null)
            {
                request.Artifacts.ArtifactIdentifier = requestArtifacts_artifacts_ArtifactIdentifier;
                requestArtifactsIsNull = false;
            }
            Amazon.CodeBuild.BucketOwnerAccess requestArtifacts_artifacts_BucketOwnerAccess = null;
            if (cmdletContext.Artifacts_BucketOwnerAccess != null)
            {
                requestArtifacts_artifacts_BucketOwnerAccess = cmdletContext.Artifacts_BucketOwnerAccess;
            }
            if (requestArtifacts_artifacts_BucketOwnerAccess != null)
            {
                request.Artifacts.BucketOwnerAccess = requestArtifacts_artifacts_BucketOwnerAccess;
                requestArtifactsIsNull = false;
            }
            System.Boolean? requestArtifacts_artifacts_EncryptionDisabled = null;
            if (cmdletContext.Artifacts_EncryptionDisabled != null)
            {
                requestArtifacts_artifacts_EncryptionDisabled = cmdletContext.Artifacts_EncryptionDisabled.Value;
            }
            if (requestArtifacts_artifacts_EncryptionDisabled != null)
            {
                request.Artifacts.EncryptionDisabled = requestArtifacts_artifacts_EncryptionDisabled.Value;
                requestArtifactsIsNull = false;
            }
            System.String requestArtifacts_artifacts_Location = null;
            if (cmdletContext.Artifacts_Location != null)
            {
                requestArtifacts_artifacts_Location = cmdletContext.Artifacts_Location;
            }
            if (requestArtifacts_artifacts_Location != null)
            {
                request.Artifacts.Location = requestArtifacts_artifacts_Location;
                requestArtifactsIsNull = false;
            }
            System.String requestArtifacts_artifacts_Name = null;
            if (cmdletContext.Artifacts_Name != null)
            {
                requestArtifacts_artifacts_Name = cmdletContext.Artifacts_Name;
            }
            if (requestArtifacts_artifacts_Name != null)
            {
                request.Artifacts.Name = requestArtifacts_artifacts_Name;
                requestArtifactsIsNull = false;
            }
            Amazon.CodeBuild.ArtifactNamespace requestArtifacts_artifacts_NamespaceType = null;
            if (cmdletContext.Artifacts_NamespaceType != null)
            {
                requestArtifacts_artifacts_NamespaceType = cmdletContext.Artifacts_NamespaceType;
            }
            if (requestArtifacts_artifacts_NamespaceType != null)
            {
                request.Artifacts.NamespaceType = requestArtifacts_artifacts_NamespaceType;
                requestArtifactsIsNull = false;
            }
            System.Boolean? requestArtifacts_artifacts_OverrideArtifactName = null;
            if (cmdletContext.Artifacts_OverrideArtifactName != null)
            {
                requestArtifacts_artifacts_OverrideArtifactName = cmdletContext.Artifacts_OverrideArtifactName.Value;
            }
            if (requestArtifacts_artifacts_OverrideArtifactName != null)
            {
                request.Artifacts.OverrideArtifactName = requestArtifacts_artifacts_OverrideArtifactName.Value;
                requestArtifactsIsNull = false;
            }
            Amazon.CodeBuild.ArtifactPackaging requestArtifacts_artifacts_Packaging = null;
            if (cmdletContext.Artifacts_Packaging != null)
            {
                requestArtifacts_artifacts_Packaging = cmdletContext.Artifacts_Packaging;
            }
            if (requestArtifacts_artifacts_Packaging != null)
            {
                request.Artifacts.Packaging = requestArtifacts_artifacts_Packaging;
                requestArtifactsIsNull = false;
            }
            System.String requestArtifacts_artifacts_Path = null;
            if (cmdletContext.Artifacts_Path != null)
            {
                requestArtifacts_artifacts_Path = cmdletContext.Artifacts_Path;
            }
            if (requestArtifacts_artifacts_Path != null)
            {
                request.Artifacts.Path = requestArtifacts_artifacts_Path;
                requestArtifactsIsNull = false;
            }
            Amazon.CodeBuild.ArtifactsType requestArtifacts_artifacts_Type = null;
            if (cmdletContext.Artifacts_Type != null)
            {
                requestArtifacts_artifacts_Type = cmdletContext.Artifacts_Type;
            }
            if (requestArtifacts_artifacts_Type != null)
            {
                request.Artifacts.Type = requestArtifacts_artifacts_Type;
                requestArtifactsIsNull = false;
            }
             // determine if request.Artifacts should be set to null
            if (requestArtifactsIsNull)
            {
                request.Artifacts = null;
            }
            if (cmdletContext.AutoRetryLimit != null)
            {
                request.AutoRetryLimit = cmdletContext.AutoRetryLimit.Value;
            }
            if (cmdletContext.BadgeEnabled != null)
            {
                request.BadgeEnabled = cmdletContext.BadgeEnabled.Value;
            }
            
             // populate BuildBatchConfig
            var requestBuildBatchConfigIsNull = true;
            request.BuildBatchConfig = new Amazon.CodeBuild.Model.ProjectBuildBatchConfig();
            Amazon.CodeBuild.BatchReportModeType requestBuildBatchConfig_buildBatchConfig_BatchReportMode = null;
            if (cmdletContext.BuildBatchConfig_BatchReportMode != null)
            {
                requestBuildBatchConfig_buildBatchConfig_BatchReportMode = cmdletContext.BuildBatchConfig_BatchReportMode;
            }
            if (requestBuildBatchConfig_buildBatchConfig_BatchReportMode != null)
            {
                request.BuildBatchConfig.BatchReportMode = requestBuildBatchConfig_buildBatchConfig_BatchReportMode;
                requestBuildBatchConfigIsNull = false;
            }
            System.Boolean? requestBuildBatchConfig_buildBatchConfig_CombineArtifact = null;
            if (cmdletContext.BuildBatchConfig_CombineArtifact != null)
            {
                requestBuildBatchConfig_buildBatchConfig_CombineArtifact = cmdletContext.BuildBatchConfig_CombineArtifact.Value;
            }
            if (requestBuildBatchConfig_buildBatchConfig_CombineArtifact != null)
            {
                request.BuildBatchConfig.CombineArtifacts = requestBuildBatchConfig_buildBatchConfig_CombineArtifact.Value;
                requestBuildBatchConfigIsNull = false;
            }
            System.String requestBuildBatchConfig_buildBatchConfig_ServiceRole = null;
            if (cmdletContext.BuildBatchConfig_ServiceRole != null)
            {
                requestBuildBatchConfig_buildBatchConfig_ServiceRole = cmdletContext.BuildBatchConfig_ServiceRole;
            }
            if (requestBuildBatchConfig_buildBatchConfig_ServiceRole != null)
            {
                request.BuildBatchConfig.ServiceRole = requestBuildBatchConfig_buildBatchConfig_ServiceRole;
                requestBuildBatchConfigIsNull = false;
            }
            System.Int32? requestBuildBatchConfig_buildBatchConfig_TimeoutInMin = null;
            if (cmdletContext.BuildBatchConfig_TimeoutInMin != null)
            {
                requestBuildBatchConfig_buildBatchConfig_TimeoutInMin = cmdletContext.BuildBatchConfig_TimeoutInMin.Value;
            }
            if (requestBuildBatchConfig_buildBatchConfig_TimeoutInMin != null)
            {
                request.BuildBatchConfig.TimeoutInMins = requestBuildBatchConfig_buildBatchConfig_TimeoutInMin.Value;
                requestBuildBatchConfigIsNull = false;
            }
            Amazon.CodeBuild.Model.BatchRestrictions requestBuildBatchConfig_buildBatchConfig_Restrictions = null;
            
             // populate Restrictions
            var requestBuildBatchConfig_buildBatchConfig_RestrictionsIsNull = true;
            requestBuildBatchConfig_buildBatchConfig_Restrictions = new Amazon.CodeBuild.Model.BatchRestrictions();
            List<System.String> requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_ComputeTypesAllowed = null;
            if (cmdletContext.Restrictions_ComputeTypesAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_ComputeTypesAllowed = cmdletContext.Restrictions_ComputeTypesAllowed;
            }
            if (requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_ComputeTypesAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions.ComputeTypesAllowed = requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_ComputeTypesAllowed;
                requestBuildBatchConfig_buildBatchConfig_RestrictionsIsNull = false;
            }
            List<System.String> requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_FleetsAllowed = null;
            if (cmdletContext.Restrictions_FleetsAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_FleetsAllowed = cmdletContext.Restrictions_FleetsAllowed;
            }
            if (requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_FleetsAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions.FleetsAllowed = requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_FleetsAllowed;
                requestBuildBatchConfig_buildBatchConfig_RestrictionsIsNull = false;
            }
            System.Int32? requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_MaximumBuildsAllowed = null;
            if (cmdletContext.Restrictions_MaximumBuildsAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_MaximumBuildsAllowed = cmdletContext.Restrictions_MaximumBuildsAllowed.Value;
            }
            if (requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_MaximumBuildsAllowed != null)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions.MaximumBuildsAllowed = requestBuildBatchConfig_buildBatchConfig_Restrictions_restrictions_MaximumBuildsAllowed.Value;
                requestBuildBatchConfig_buildBatchConfig_RestrictionsIsNull = false;
            }
             // determine if requestBuildBatchConfig_buildBatchConfig_Restrictions should be set to null
            if (requestBuildBatchConfig_buildBatchConfig_RestrictionsIsNull)
            {
                requestBuildBatchConfig_buildBatchConfig_Restrictions = null;
            }
            if (requestBuildBatchConfig_buildBatchConfig_Restrictions != null)
            {
                request.BuildBatchConfig.Restrictions = requestBuildBatchConfig_buildBatchConfig_Restrictions;
                requestBuildBatchConfigIsNull = false;
            }
             // determine if request.BuildBatchConfig should be set to null
            if (requestBuildBatchConfigIsNull)
            {
                request.BuildBatchConfig = null;
            }
            
             // populate Cache
            var requestCacheIsNull = true;
            request.Cache = new Amazon.CodeBuild.Model.ProjectCache();
            System.String requestCache_cache_CacheNamespace = null;
            if (cmdletContext.Cache_CacheNamespace != null)
            {
                requestCache_cache_CacheNamespace = cmdletContext.Cache_CacheNamespace;
            }
            if (requestCache_cache_CacheNamespace != null)
            {
                request.Cache.CacheNamespace = requestCache_cache_CacheNamespace;
                requestCacheIsNull = false;
            }
            System.String requestCache_cache_Location = null;
            if (cmdletContext.Cache_Location != null)
            {
                requestCache_cache_Location = cmdletContext.Cache_Location;
            }
            if (requestCache_cache_Location != null)
            {
                request.Cache.Location = requestCache_cache_Location;
                requestCacheIsNull = false;
            }
            List<System.String> requestCache_cache_Mode = null;
            if (cmdletContext.Cache_Mode != null)
            {
                requestCache_cache_Mode = cmdletContext.Cache_Mode;
            }
            if (requestCache_cache_Mode != null)
            {
                request.Cache.Modes = requestCache_cache_Mode;
                requestCacheIsNull = false;
            }
            Amazon.CodeBuild.CacheType requestCache_cache_Type = null;
            if (cmdletContext.Cache_Type != null)
            {
                requestCache_cache_Type = cmdletContext.Cache_Type;
            }
            if (requestCache_cache_Type != null)
            {
                request.Cache.Type = requestCache_cache_Type;
                requestCacheIsNull = false;
            }
             // determine if request.Cache should be set to null
            if (requestCacheIsNull)
            {
                request.Cache = null;
            }
            if (cmdletContext.ConcurrentBuildLimit != null)
            {
                request.ConcurrentBuildLimit = cmdletContext.ConcurrentBuildLimit.Value;
            }
            if (cmdletContext.Description != null)
            {
                request.Description = cmdletContext.Description;
            }
            if (cmdletContext.EncryptionKey != null)
            {
                request.EncryptionKey = cmdletContext.EncryptionKey;
            }
            
             // populate Environment
            var requestEnvironmentIsNull = true;
            request.Environment = new Amazon.CodeBuild.Model.ProjectEnvironment();
            System.String requestEnvironment_environment_Certificate = null;
            if (cmdletContext.Environment_Certificate != null)
            {
                requestEnvironment_environment_Certificate = cmdletContext.Environment_Certificate;
            }
            if (requestEnvironment_environment_Certificate != null)
            {
                request.Environment.Certificate = requestEnvironment_environment_Certificate;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.ComputeType requestEnvironment_environment_ComputeType = null;
            if (cmdletContext.Environment_ComputeType != null)
            {
                requestEnvironment_environment_ComputeType = cmdletContext.Environment_ComputeType;
            }
            if (requestEnvironment_environment_ComputeType != null)
            {
                request.Environment.ComputeType = requestEnvironment_environment_ComputeType;
                requestEnvironmentIsNull = false;
            }
            List<Amazon.CodeBuild.Model.EnvironmentVariable> requestEnvironment_environment_EnvironmentVariable = null;
            if (cmdletContext.Environment_EnvironmentVariable != null)
            {
                requestEnvironment_environment_EnvironmentVariable = cmdletContext.Environment_EnvironmentVariable;
            }
            if (requestEnvironment_environment_EnvironmentVariable != null)
            {
                request.Environment.EnvironmentVariables = requestEnvironment_environment_EnvironmentVariable;
                requestEnvironmentIsNull = false;
            }
            System.String requestEnvironment_environment_Image = null;
            if (cmdletContext.Environment_Image != null)
            {
                requestEnvironment_environment_Image = cmdletContext.Environment_Image;
            }
            if (requestEnvironment_environment_Image != null)
            {
                request.Environment.Image = requestEnvironment_environment_Image;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.ImagePullCredentialsType requestEnvironment_environment_ImagePullCredentialsType = null;
            if (cmdletContext.Environment_ImagePullCredentialsType != null)
            {
                requestEnvironment_environment_ImagePullCredentialsType = cmdletContext.Environment_ImagePullCredentialsType;
            }
            if (requestEnvironment_environment_ImagePullCredentialsType != null)
            {
                request.Environment.ImagePullCredentialsType = requestEnvironment_environment_ImagePullCredentialsType;
                requestEnvironmentIsNull = false;
            }
            System.Boolean? requestEnvironment_environment_PrivilegedMode = null;
            if (cmdletContext.Environment_PrivilegedMode != null)
            {
                requestEnvironment_environment_PrivilegedMode = cmdletContext.Environment_PrivilegedMode.Value;
            }
            if (requestEnvironment_environment_PrivilegedMode != null)
            {
                request.Environment.PrivilegedMode = requestEnvironment_environment_PrivilegedMode.Value;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.EnvironmentType requestEnvironment_environment_Type = null;
            if (cmdletContext.Environment_Type != null)
            {
                requestEnvironment_environment_Type = cmdletContext.Environment_Type;
            }
            if (requestEnvironment_environment_Type != null)
            {
                request.Environment.Type = requestEnvironment_environment_Type;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.Model.ProjectFleet requestEnvironment_environment_Fleet = null;
            
             // populate Fleet
            var requestEnvironment_environment_FleetIsNull = true;
            requestEnvironment_environment_Fleet = new Amazon.CodeBuild.Model.ProjectFleet();
            System.String requestEnvironment_environment_Fleet_fleet_FleetArn = null;
            if (cmdletContext.Fleet_FleetArn != null)
            {
                requestEnvironment_environment_Fleet_fleet_FleetArn = cmdletContext.Fleet_FleetArn;
            }
            if (requestEnvironment_environment_Fleet_fleet_FleetArn != null)
            {
                requestEnvironment_environment_Fleet.FleetArn = requestEnvironment_environment_Fleet_fleet_FleetArn;
                requestEnvironment_environment_FleetIsNull = false;
            }
             // determine if requestEnvironment_environment_Fleet should be set to null
            if (requestEnvironment_environment_FleetIsNull)
            {
                requestEnvironment_environment_Fleet = null;
            }
            if (requestEnvironment_environment_Fleet != null)
            {
                request.Environment.Fleet = requestEnvironment_environment_Fleet;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.Model.RegistryCredential requestEnvironment_environment_RegistryCredential = null;
            
             // populate RegistryCredential
            var requestEnvironment_environment_RegistryCredentialIsNull = true;
            requestEnvironment_environment_RegistryCredential = new Amazon.CodeBuild.Model.RegistryCredential();
            System.String requestEnvironment_environment_RegistryCredential_registryCredential_Credential = null;
            if (cmdletContext.RegistryCredential_Credential != null)
            {
                requestEnvironment_environment_RegistryCredential_registryCredential_Credential = cmdletContext.RegistryCredential_Credential;
            }
            if (requestEnvironment_environment_RegistryCredential_registryCredential_Credential != null)
            {
                requestEnvironment_environment_RegistryCredential.Credential = requestEnvironment_environment_RegistryCredential_registryCredential_Credential;
                requestEnvironment_environment_RegistryCredentialIsNull = false;
            }
            Amazon.CodeBuild.CredentialProviderType requestEnvironment_environment_RegistryCredential_registryCredential_CredentialProvider = null;
            if (cmdletContext.RegistryCredential_CredentialProvider != null)
            {
                requestEnvironment_environment_RegistryCredential_registryCredential_CredentialProvider = cmdletContext.RegistryCredential_CredentialProvider;
            }
            if (requestEnvironment_environment_RegistryCredential_registryCredential_CredentialProvider != null)
            {
                requestEnvironment_environment_RegistryCredential.CredentialProvider = requestEnvironment_environment_RegistryCredential_registryCredential_CredentialProvider;
                requestEnvironment_environment_RegistryCredentialIsNull = false;
            }
             // determine if requestEnvironment_environment_RegistryCredential should be set to null
            if (requestEnvironment_environment_RegistryCredentialIsNull)
            {
                requestEnvironment_environment_RegistryCredential = null;
            }
            if (requestEnvironment_environment_RegistryCredential != null)
            {
                request.Environment.RegistryCredential = requestEnvironment_environment_RegistryCredential;
                requestEnvironmentIsNull = false;
            }
            Amazon.CodeBuild.Model.ComputeConfiguration requestEnvironment_environment_ComputeConfiguration = null;
            
             // populate ComputeConfiguration
            var requestEnvironment_environment_ComputeConfigurationIsNull = true;
            requestEnvironment_environment_ComputeConfiguration = new Amazon.CodeBuild.Model.ComputeConfiguration();
            System.Int64? requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Disk = null;
            if (cmdletContext.ComputeConfiguration_Disk != null)
            {
                requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Disk = cmdletContext.ComputeConfiguration_Disk.Value;
            }
            if (requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Disk != null)
            {
                requestEnvironment_environment_ComputeConfiguration.Disk = requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Disk.Value;
                requestEnvironment_environment_ComputeConfigurationIsNull = false;
            }
            System.String requestEnvironment_environment_ComputeConfiguration_computeConfiguration_InstanceType = null;
            if (cmdletContext.ComputeConfiguration_InstanceType != null)
            {
                requestEnvironment_environment_ComputeConfiguration_computeConfiguration_InstanceType = cmdletContext.ComputeConfiguration_InstanceType;
            }
            if (requestEnvironment_environment_ComputeConfiguration_computeConfiguration_InstanceType != null)
            {
                requestEnvironment_environment_ComputeConfiguration.InstanceType = requestEnvironment_environment_ComputeConfiguration_computeConfiguration_InstanceType;
                requestEnvironment_environment_ComputeConfigurationIsNull = false;
            }
            Amazon.CodeBuild.MachineType requestEnvironment_environment_ComputeConfiguration_computeConfiguration_MachineType = null;
            if (cmdletContext.ComputeConfiguration_MachineType != null)
            {
                requestEnvironment_environment_ComputeConfiguration_computeConfiguration_MachineType = cmdletContext.ComputeConfiguration_MachineType;
            }
            if (requestEnvironment_environment_ComputeConfiguration_computeConfiguration_MachineType != null)
            {
                requestEnvironment_environment_ComputeConfiguration.MachineType = requestEnvironment_environment_ComputeConfiguration_computeConfiguration_MachineType;
                requestEnvironment_environment_ComputeConfigurationIsNull = false;
            }
            System.Int64? requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Memory = null;
            if (cmdletContext.ComputeConfiguration_Memory != null)
            {
                requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Memory = cmdletContext.ComputeConfiguration_Memory.Value;
            }
            if (requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Memory != null)
            {
                requestEnvironment_environment_ComputeConfiguration.Memory = requestEnvironment_environment_ComputeConfiguration_computeConfiguration_Memory.Value;
                requestEnvironment_environment_ComputeConfigurationIsNull = false;
            }
            System.Int64? requestEnvironment_environment_ComputeConfiguration_computeConfiguration_VCpu = null;
            if (cmdletContext.ComputeConfiguration_VCpu != null)
            {
                requestEnvironment_environment_ComputeConfiguration_computeConfiguration_VCpu = cmdletContext.ComputeConfiguration_VCpu.Value;
            }
            if (requestEnvironment_environment_ComputeConfiguration_computeConfiguration_VCpu != null)
            {
                requestEnvironment_environment_ComputeConfiguration.VCpu = requestEnvironment_environment_ComputeConfiguration_computeConfiguration_VCpu.Value;
                requestEnvironment_environment_ComputeConfigurationIsNull = false;
            }
             // determine if requestEnvironment_environment_ComputeConfiguration should be set to null
            if (requestEnvironment_environment_ComputeConfigurationIsNull)
            {
                requestEnvironment_environment_ComputeConfiguration = null;
            }
            if (requestEnvironment_environment_ComputeConfiguration != null)
            {
                request.Environment.ComputeConfiguration = requestEnvironment_environment_ComputeConfiguration;
                requestEnvironmentIsNull = false;
            }
             // determine if request.Environment should be set to null
            if (requestEnvironmentIsNull)
            {
                request.Environment = null;
            }
            if (cmdletContext.FileSystemLocation != null)
            {
                request.FileSystemLocations = cmdletContext.FileSystemLocation;
            }
            
             // populate LogsConfig
            var requestLogsConfigIsNull = true;
            request.LogsConfig = new Amazon.CodeBuild.Model.LogsConfig();
            Amazon.CodeBuild.Model.CloudWatchLogsConfig requestLogsConfig_logsConfig_CloudWatchLogs = null;
            
             // populate CloudWatchLogs
            var requestLogsConfig_logsConfig_CloudWatchLogsIsNull = true;
            requestLogsConfig_logsConfig_CloudWatchLogs = new Amazon.CodeBuild.Model.CloudWatchLogsConfig();
            System.String requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_GroupName = null;
            if (cmdletContext.CloudWatchLogs_GroupName != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_GroupName = cmdletContext.CloudWatchLogs_GroupName;
            }
            if (requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_GroupName != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs.GroupName = requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_GroupName;
                requestLogsConfig_logsConfig_CloudWatchLogsIsNull = false;
            }
            Amazon.CodeBuild.LogsConfigStatusType requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_Status = null;
            if (cmdletContext.CloudWatchLogs_Status != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_Status = cmdletContext.CloudWatchLogs_Status;
            }
            if (requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_Status != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs.Status = requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_Status;
                requestLogsConfig_logsConfig_CloudWatchLogsIsNull = false;
            }
            System.String requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_StreamName = null;
            if (cmdletContext.CloudWatchLogs_StreamName != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_StreamName = cmdletContext.CloudWatchLogs_StreamName;
            }
            if (requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_StreamName != null)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs.StreamName = requestLogsConfig_logsConfig_CloudWatchLogs_cloudWatchLogs_StreamName;
                requestLogsConfig_logsConfig_CloudWatchLogsIsNull = false;
            }
             // determine if requestLogsConfig_logsConfig_CloudWatchLogs should be set to null
            if (requestLogsConfig_logsConfig_CloudWatchLogsIsNull)
            {
                requestLogsConfig_logsConfig_CloudWatchLogs = null;
            }
            if (requestLogsConfig_logsConfig_CloudWatchLogs != null)
            {
                request.LogsConfig.CloudWatchLogs = requestLogsConfig_logsConfig_CloudWatchLogs;
                requestLogsConfigIsNull = false;
            }
            Amazon.CodeBuild.Model.S3LogsConfig requestLogsConfig_logsConfig_S3Logs = null;
            
             // populate S3Logs
            var requestLogsConfig_logsConfig_S3LogsIsNull = true;
            requestLogsConfig_logsConfig_S3Logs = new Amazon.CodeBuild.Model.S3LogsConfig();
            Amazon.CodeBuild.BucketOwnerAccess requestLogsConfig_logsConfig_S3Logs_s3Logs_BucketOwnerAccess = null;
            if (cmdletContext.S3Logs_BucketOwnerAccess != null)
            {
                requestLogsConfig_logsConfig_S3Logs_s3Logs_BucketOwnerAccess = cmdletContext.S3Logs_BucketOwnerAccess;
            }
            if (requestLogsConfig_logsConfig_S3Logs_s3Logs_BucketOwnerAccess != null)
            {
                requestLogsConfig_logsConfig_S3Logs.BucketOwnerAccess = requestLogsConfig_logsConfig_S3Logs_s3Logs_BucketOwnerAccess;
                requestLogsConfig_logsConfig_S3LogsIsNull = false;
            }
            System.Boolean? requestLogsConfig_logsConfig_S3Logs_s3Logs_EncryptionDisabled = null;
            if (cmdletContext.S3Logs_EncryptionDisabled != null)
            {
                requestLogsConfig_logsConfig_S3Logs_s3Logs_EncryptionDisabled = cmdletContext.S3Logs_EncryptionDisabled.Value;
            }
            if (requestLogsConfig_logsConfig_S3Logs_s3Logs_EncryptionDisabled != null)
            {
                requestLogsConfig_logsConfig_S3Logs.EncryptionDisabled = requestLogsConfig_logsConfig_S3Logs_s3Logs_EncryptionDisabled.Value;
                requestLogsConfig_logsConfig_S3LogsIsNull = false;
            }
            System.String requestLogsConfig_logsConfig_S3Logs_s3Logs_Location = null;
            if (cmdletContext.S3Logs_Location != null)
            {
                requestLogsConfig_logsConfig_S3Logs_s3Logs_Location = cmdletContext.S3Logs_Location;
            }
            if (requestLogsConfig_logsConfig_S3Logs_s3Logs_Location != null)
            {
                requestLogsConfig_logsConfig_S3Logs.Location = requestLogsConfig_logsConfig_S3Logs_s3Logs_Location;
                requestLogsConfig_logsConfig_S3LogsIsNull = false;
            }
            Amazon.CodeBuild.LogsConfigStatusType requestLogsConfig_logsConfig_S3Logs_s3Logs_Status = null;
            if (cmdletContext.S3Logs_Status != null)
            {
                requestLogsConfig_logsConfig_S3Logs_s3Logs_Status = cmdletContext.S3Logs_Status;
            }
            if (requestLogsConfig_logsConfig_S3Logs_s3Logs_Status != null)
            {
                requestLogsConfig_logsConfig_S3Logs.Status = requestLogsConfig_logsConfig_S3Logs_s3Logs_Status;
                requestLogsConfig_logsConfig_S3LogsIsNull = false;
            }
             // determine if requestLogsConfig_logsConfig_S3Logs should be set to null
            if (requestLogsConfig_logsConfig_S3LogsIsNull)
            {
                requestLogsConfig_logsConfig_S3Logs = null;
            }
            if (requestLogsConfig_logsConfig_S3Logs != null)
            {
                request.LogsConfig.S3Logs = requestLogsConfig_logsConfig_S3Logs;
                requestLogsConfigIsNull = false;
            }
             // determine if request.LogsConfig should be set to null
            if (requestLogsConfigIsNull)
            {
                request.LogsConfig = null;
            }
            if (cmdletContext.Name != null)
            {
                request.Name = cmdletContext.Name;
            }
            if (cmdletContext.QueuedTimeoutInMinute != null)
            {
                request.QueuedTimeoutInMinutes = cmdletContext.QueuedTimeoutInMinute.Value;
            }
            if (cmdletContext.SecondaryArtifact != null)
            {
                request.SecondaryArtifacts = cmdletContext.SecondaryArtifact;
            }
            if (cmdletContext.SecondarySource != null)
            {
                request.SecondarySources = cmdletContext.SecondarySource;
            }
            if (cmdletContext.SecondarySourceVersion != null)
            {
                request.SecondarySourceVersions = cmdletContext.SecondarySourceVersion;
            }
            if (cmdletContext.ServiceRole != null)
            {
                request.ServiceRole = cmdletContext.ServiceRole;
            }
            
             // populate Source
            var requestSourceIsNull = true;
            request.Source = new Amazon.CodeBuild.Model.ProjectSource();
            System.String requestSource_source_Buildspec = null;
            if (cmdletContext.Source_Buildspec != null)
            {
                requestSource_source_Buildspec = cmdletContext.Source_Buildspec;
            }
            if (requestSource_source_Buildspec != null)
            {
                request.Source.Buildspec = requestSource_source_Buildspec;
                requestSourceIsNull = false;
            }
            System.Int32? requestSource_source_GitCloneDepth = null;
            if (cmdletContext.Source_GitCloneDepth != null)
            {
                requestSource_source_GitCloneDepth = cmdletContext.Source_GitCloneDepth.Value;
            }
            if (requestSource_source_GitCloneDepth != null)
            {
                request.Source.GitCloneDepth = requestSource_source_GitCloneDepth.Value;
                requestSourceIsNull = false;
            }
            System.Boolean? requestSource_source_InsecureSsl = null;
            if (cmdletContext.Source_InsecureSsl != null)
            {
                requestSource_source_InsecureSsl = cmdletContext.Source_InsecureSsl.Value;
            }
            if (requestSource_source_InsecureSsl != null)
            {
                request.Source.InsecureSsl = requestSource_source_InsecureSsl.Value;
                requestSourceIsNull = false;
            }
            System.String requestSource_source_Location = null;
            if (cmdletContext.Source_Location != null)
            {
                requestSource_source_Location = cmdletContext.Source_Location;
            }
            if (requestSource_source_Location != null)
            {
                request.Source.Location = requestSource_source_Location;
                requestSourceIsNull = false;
            }
            System.Boolean? requestSource_source_ReportBuildStatus = null;
            if (cmdletContext.Source_ReportBuildStatus != null)
            {
                requestSource_source_ReportBuildStatus = cmdletContext.Source_ReportBuildStatus.Value;
            }
            if (requestSource_source_ReportBuildStatus != null)
            {
                request.Source.ReportBuildStatus = requestSource_source_ReportBuildStatus.Value;
                requestSourceIsNull = false;
            }
            System.String requestSource_source_SourceIdentifier = null;
            if (cmdletContext.Source_SourceIdentifier != null)
            {
                requestSource_source_SourceIdentifier = cmdletContext.Source_SourceIdentifier;
            }
            if (requestSource_source_SourceIdentifier != null)
            {
                request.Source.SourceIdentifier = requestSource_source_SourceIdentifier;
                requestSourceIsNull = false;
            }
            Amazon.CodeBuild.SourceType requestSource_source_Type = null;
            if (cmdletContext.Source_Type != null)
            {
                requestSource_source_Type = cmdletContext.Source_Type;
            }
            if (requestSource_source_Type != null)
            {
                request.Source.Type = requestSource_source_Type;
                requestSourceIsNull = false;
            }
            Amazon.CodeBuild.Model.GitSubmodulesConfig requestSource_source_GitSubmodulesConfig = null;
            
             // populate GitSubmodulesConfig
            var requestSource_source_GitSubmodulesConfigIsNull = true;
            requestSource_source_GitSubmodulesConfig = new Amazon.CodeBuild.Model.GitSubmodulesConfig();
            System.Boolean? requestSource_source_GitSubmodulesConfig_gitSubmodulesConfig_FetchSubmodule = null;
            if (cmdletContext.GitSubmodulesConfig_FetchSubmodule != null)
            {
                requestSource_source_GitSubmodulesConfig_gitSubmodulesConfig_FetchSubmodule = cmdletContext.GitSubmodulesConfig_FetchSubmodule.Value;
            }
            if (requestSource_source_GitSubmodulesConfig_gitSubmodulesConfig_FetchSubmodule != null)
            {
                requestSource_source_GitSubmodulesConfig.FetchSubmodules = requestSource_source_GitSubmodulesConfig_gitSubmodulesConfig_FetchSubmodule.Value;
                requestSource_source_GitSubmodulesConfigIsNull = false;
            }
             // determine if requestSource_source_GitSubmodulesConfig should be set to null
            if (requestSource_source_GitSubmodulesConfigIsNull)
            {
                requestSource_source_GitSubmodulesConfig = null;
            }
            if (requestSource_source_GitSubmodulesConfig != null)
            {
                request.Source.GitSubmodulesConfig = requestSource_source_GitSubmodulesConfig;
                requestSourceIsNull = false;
            }
            Amazon.CodeBuild.Model.SourceAuth requestSource_source_Auth = null;
            
             // populate Auth
            var requestSource_source_AuthIsNull = true;
            requestSource_source_Auth = new Amazon.CodeBuild.Model.SourceAuth();
            System.String requestSource_source_Auth_auth_Resource = null;
            if (cmdletContext.Auth_Resource != null)
            {
                requestSource_source_Auth_auth_Resource = cmdletContext.Auth_Resource;
            }
            if (requestSource_source_Auth_auth_Resource != null)
            {
                requestSource_source_Auth.Resource = requestSource_source_Auth_auth_Resource;
                requestSource_source_AuthIsNull = false;
            }
            Amazon.CodeBuild.SourceAuthType requestSource_source_Auth_auth_Type = null;
            if (cmdletContext.Auth_Type != null)
            {
                requestSource_source_Auth_auth_Type = cmdletContext.Auth_Type;
            }
            if (requestSource_source_Auth_auth_Type != null)
            {
                requestSource_source_Auth.Type = requestSource_source_Auth_auth_Type;
                requestSource_source_AuthIsNull = false;
            }
             // determine if requestSource_source_Auth should be set to null
            if (requestSource_source_AuthIsNull)
            {
                requestSource_source_Auth = null;
            }
            if (requestSource_source_Auth != null)
            {
                request.Source.Auth = requestSource_source_Auth;
                requestSourceIsNull = false;
            }
            Amazon.CodeBuild.Model.BuildStatusConfig requestSource_source_BuildStatusConfig = null;
            
             // populate BuildStatusConfig
            var requestSource_source_BuildStatusConfigIsNull = true;
            requestSource_source_BuildStatusConfig = new Amazon.CodeBuild.Model.BuildStatusConfig();
            System.String requestSource_source_BuildStatusConfig_buildStatusConfig_Context = null;
            if (cmdletContext.BuildStatusConfig_Context != null)
            {
                requestSource_source_BuildStatusConfig_buildStatusConfig_Context = cmdletContext.BuildStatusConfig_Context;
            }
            if (requestSource_source_BuildStatusConfig_buildStatusConfig_Context != null)
            {
                requestSource_source_BuildStatusConfig.Context = requestSource_source_BuildStatusConfig_buildStatusConfig_Context;
                requestSource_source_BuildStatusConfigIsNull = false;
            }
            System.String requestSource_source_BuildStatusConfig_buildStatusConfig_TargetUrl = null;
            if (cmdletContext.BuildStatusConfig_TargetUrl != null)
            {
                requestSource_source_BuildStatusConfig_buildStatusConfig_TargetUrl = cmdletContext.BuildStatusConfig_TargetUrl;
            }
            if (requestSource_source_BuildStatusConfig_buildStatusConfig_TargetUrl != null)
            {
                requestSource_source_BuildStatusConfig.TargetUrl = requestSource_source_BuildStatusConfig_buildStatusConfig_TargetUrl;
                requestSource_source_BuildStatusConfigIsNull = false;
            }
             // determine if requestSource_source_BuildStatusConfig should be set to null
            if (requestSource_source_BuildStatusConfigIsNull)
            {
                requestSource_source_BuildStatusConfig = null;
            }
            if (requestSource_source_BuildStatusConfig != null)
            {
                request.Source.BuildStatusConfig = requestSource_source_BuildStatusConfig;
                requestSourceIsNull = false;
            }
             // determine if request.Source should be set to null
            if (requestSourceIsNull)
            {
                request.Source = null;
            }
            if (cmdletContext.SourceVersion != null)
            {
                request.SourceVersion = cmdletContext.SourceVersion;
            }
            if (cmdletContext.Tag != null)
            {
                request.Tags = cmdletContext.Tag;
            }
            if (cmdletContext.TimeoutInMinute != null)
            {
                request.TimeoutInMinutes = cmdletContext.TimeoutInMinute.Value;
            }
            
             // populate VpcConfig
            var requestVpcConfigIsNull = true;
            request.VpcConfig = new Amazon.CodeBuild.Model.VpcConfig();
            List<System.String> requestVpcConfig_vpcConfig_SecurityGroupId = null;
            if (cmdletContext.VpcConfig_SecurityGroupId != null)
            {
                requestVpcConfig_vpcConfig_SecurityGroupId = cmdletContext.VpcConfig_SecurityGroupId;
            }
            if (requestVpcConfig_vpcConfig_SecurityGroupId != null)
            {
                request.VpcConfig.SecurityGroupIds = requestVpcConfig_vpcConfig_SecurityGroupId;
                requestVpcConfigIsNull = false;
            }
            List<System.String> requestVpcConfig_vpcConfig_Subnet = null;
            if (cmdletContext.VpcConfig_Subnet != null)
            {
                requestVpcConfig_vpcConfig_Subnet = cmdletContext.VpcConfig_Subnet;
            }
            if (requestVpcConfig_vpcConfig_Subnet != null)
            {
                request.VpcConfig.Subnets = requestVpcConfig_vpcConfig_Subnet;
                requestVpcConfigIsNull = false;
            }
            System.String requestVpcConfig_vpcConfig_VpcId = null;
            if (cmdletContext.VpcConfig_VpcId != null)
            {
                requestVpcConfig_vpcConfig_VpcId = cmdletContext.VpcConfig_VpcId;
            }
            if (requestVpcConfig_vpcConfig_VpcId != null)
            {
                request.VpcConfig.VpcId = requestVpcConfig_vpcConfig_VpcId;
                requestVpcConfigIsNull = false;
            }
             // determine if request.VpcConfig should be set to null
            if (requestVpcConfigIsNull)
            {
                request.VpcConfig = 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;
        }