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;
}