private Amazon.ChimeSDKMeetings.Model.CreateMeetingWithAttendeesResponse CallAWSServiceOperation(IAmazonChimeSDKMeetings client, Amazon.ChimeSDKMeetings.Model.CreateMeetingWithAttendeesRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Chime SDK Meetings", "CreateMeetingWithAttendees");
     try
     {
         #if DESKTOP
         return client.CreateMeetingWithAttendees(request);
         #elif CORECLR
         return client.CreateMeetingWithAttendeesAsync(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.ChimeSDKMeetings.Model.CreateMeetingWithAttendeesRequest();
     
     if (cmdletContext.Attendee != null)
     {
         request.Attendees = cmdletContext.Attendee;
     }
     if (cmdletContext.ClientRequestToken != null)
     {
         request.ClientRequestToken = cmdletContext.ClientRequestToken;
     }
     if (cmdletContext.ExternalMeetingId != null)
     {
         request.ExternalMeetingId = cmdletContext.ExternalMeetingId;
     }
     if (cmdletContext.MediaRegion != null)
     {
         request.MediaRegion = cmdletContext.MediaRegion;
     }
     
      // populate MeetingFeatures
     var requestMeetingFeaturesIsNull = true;
     request.MeetingFeatures = new Amazon.ChimeSDKMeetings.Model.MeetingFeaturesConfiguration();
     Amazon.ChimeSDKMeetings.Model.AudioFeatures requestMeetingFeatures_meetingFeatures_Audio = null;
     
      // populate Audio
     var requestMeetingFeatures_meetingFeatures_AudioIsNull = true;
     requestMeetingFeatures_meetingFeatures_Audio = new Amazon.ChimeSDKMeetings.Model.AudioFeatures();
     Amazon.ChimeSDKMeetings.MeetingFeatureStatus requestMeetingFeatures_meetingFeatures_Audio_audio_EchoReduction = null;
     if (cmdletContext.Audio_EchoReduction != null)
     {
         requestMeetingFeatures_meetingFeatures_Audio_audio_EchoReduction = cmdletContext.Audio_EchoReduction;
     }
     if (requestMeetingFeatures_meetingFeatures_Audio_audio_EchoReduction != null)
     {
         requestMeetingFeatures_meetingFeatures_Audio.EchoReduction = requestMeetingFeatures_meetingFeatures_Audio_audio_EchoReduction;
         requestMeetingFeatures_meetingFeatures_AudioIsNull = false;
     }
      // determine if requestMeetingFeatures_meetingFeatures_Audio should be set to null
     if (requestMeetingFeatures_meetingFeatures_AudioIsNull)
     {
         requestMeetingFeatures_meetingFeatures_Audio = null;
     }
     if (requestMeetingFeatures_meetingFeatures_Audio != null)
     {
         request.MeetingFeatures.Audio = requestMeetingFeatures_meetingFeatures_Audio;
         requestMeetingFeaturesIsNull = false;
     }
      // determine if request.MeetingFeatures should be set to null
     if (requestMeetingFeaturesIsNull)
     {
         request.MeetingFeatures = null;
     }
     if (cmdletContext.MeetingHostId != null)
     {
         request.MeetingHostId = cmdletContext.MeetingHostId;
     }
     
      // populate NotificationsConfiguration
     var requestNotificationsConfigurationIsNull = true;
     request.NotificationsConfiguration = new Amazon.ChimeSDKMeetings.Model.NotificationsConfiguration();
     System.String requestNotificationsConfiguration_notificationsConfiguration_LambdaFunctionArn = null;
     if (cmdletContext.NotificationsConfiguration_LambdaFunctionArn != null)
     {
         requestNotificationsConfiguration_notificationsConfiguration_LambdaFunctionArn = cmdletContext.NotificationsConfiguration_LambdaFunctionArn;
     }
     if (requestNotificationsConfiguration_notificationsConfiguration_LambdaFunctionArn != null)
     {
         request.NotificationsConfiguration.LambdaFunctionArn = requestNotificationsConfiguration_notificationsConfiguration_LambdaFunctionArn;
         requestNotificationsConfigurationIsNull = false;
     }
     System.String requestNotificationsConfiguration_notificationsConfiguration_SnsTopicArn = null;
     if (cmdletContext.NotificationsConfiguration_SnsTopicArn != null)
     {
         requestNotificationsConfiguration_notificationsConfiguration_SnsTopicArn = cmdletContext.NotificationsConfiguration_SnsTopicArn;
     }
     if (requestNotificationsConfiguration_notificationsConfiguration_SnsTopicArn != null)
     {
         request.NotificationsConfiguration.SnsTopicArn = requestNotificationsConfiguration_notificationsConfiguration_SnsTopicArn;
         requestNotificationsConfigurationIsNull = false;
     }
     System.String requestNotificationsConfiguration_notificationsConfiguration_SqsQueueArn = null;
     if (cmdletContext.NotificationsConfiguration_SqsQueueArn != null)
     {
         requestNotificationsConfiguration_notificationsConfiguration_SqsQueueArn = cmdletContext.NotificationsConfiguration_SqsQueueArn;
     }
     if (requestNotificationsConfiguration_notificationsConfiguration_SqsQueueArn != null)
     {
         request.NotificationsConfiguration.SqsQueueArn = requestNotificationsConfiguration_notificationsConfiguration_SqsQueueArn;
         requestNotificationsConfigurationIsNull = false;
     }
      // determine if request.NotificationsConfiguration should be set to null
     if (requestNotificationsConfigurationIsNull)
     {
         request.NotificationsConfiguration = 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;
 }