private Amazon.Comprehend.Model.StartDocumentClassificationJobResponse CallAWSServiceOperation(IAmazonComprehend client, Amazon.Comprehend.Model.StartDocumentClassificationJobRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Comprehend", "StartDocumentClassificationJob");
     try
     {
         #if DESKTOP
         return client.StartDocumentClassificationJob(request);
         #elif CORECLR
         return client.StartDocumentClassificationJobAsync(request).GetAwaiter().GetResult();
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }
 public object Execute(ExecutorContext context)
 {
     var cmdletContext = context as CmdletContext;
     // create request
     var request = new Amazon.Comprehend.Model.StartDocumentClassificationJobRequest();
     
     if (cmdletContext.ClientRequestToken != null)
     {
         request.ClientRequestToken = cmdletContext.ClientRequestToken;
     }
     if (cmdletContext.DataAccessRoleArn != null)
     {
         request.DataAccessRoleArn = cmdletContext.DataAccessRoleArn;
     }
     if (cmdletContext.DocumentClassifierArn != null)
     {
         request.DocumentClassifierArn = cmdletContext.DocumentClassifierArn;
     }
     if (cmdletContext.InputDataConfig != null)
     {
         request.InputDataConfig = cmdletContext.InputDataConfig;
     }
     if (cmdletContext.JobName != null)
     {
         request.JobName = cmdletContext.JobName;
     }
     if (cmdletContext.OutputDataConfig != null)
     {
         request.OutputDataConfig = cmdletContext.OutputDataConfig;
     }
     if (cmdletContext.Tag != null)
     {
         request.Tags = cmdletContext.Tag;
     }
     if (cmdletContext.VolumeKmsKeyId != null)
     {
         request.VolumeKmsKeyId = cmdletContext.VolumeKmsKeyId;
     }
     
      // populate VpcConfig
     var requestVpcConfigIsNull = true;
     request.VpcConfig = new Amazon.Comprehend.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;
     }
      // 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;
 }