createMeetingWithAttendees method

Future<CreateMeetingWithAttendeesResponse> createMeetingWithAttendees({
  1. required List<CreateAttendeeRequestItem> attendees,
  2. required String externalMeetingId,
  3. required String mediaRegion,
  4. String? clientRequestToken,
  5. MediaPlacementNetworkType? mediaPlacementNetworkType,
  6. MeetingFeaturesConfiguration? meetingFeatures,
  7. String? meetingHostId,
  8. NotificationsConfiguration? notificationsConfiguration,
  9. String? primaryMeetingId,
  10. List<Tag>? tags,
  11. List<String>? tenantIds,
})

Creates a new Amazon Chime SDK meeting in the specified media Region, with attendees. For more information about specifying media Regions, see Available Regions and Using meeting Regions, both in the Amazon Chime SDK Developer Guide. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime SDK Developer Guide.

  • Content.MaxResolution: FHD
  • Video.MaxResolution: HD

May throw BadRequestException. May throw ConflictException. May throw ForbiddenException. May throw LimitExceededException. May throw ServiceFailureException. May throw ServiceUnavailableException. May throw ThrottlingException. May throw UnauthorizedException.

Parameter attendees : The attendee information, including attendees' IDs and join tokens.

Parameter externalMeetingId : The external meeting ID.

Pattern: [-_&@+=,(){}\\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case insensitive.

Parameter mediaRegion : The Region in which to create the meeting.

Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

Available values in Amazon Web Services GovCloud (US) Regions: us-gov-east-1, us-gov-west-1.

Parameter clientRequestToken : The unique identifier for the client request. Use a different token for different meetings.

Parameter mediaPlacementNetworkType : The type of network for the media placement. Either IPv4 only or dual-stack (IPv4 and IPv6).

Parameter meetingFeatures : Lists the audio and video features enabled for a meeting, such as echo reduction.

Parameter meetingHostId : Reserved.

Parameter notificationsConfiguration : The configuration for resource targets to receive notifications when meeting and attendee events occur.

Parameter primaryMeetingId : When specified, replicates the media from the primary meeting to the new meeting.

Parameter tags : The tags in the request.

Parameter tenantIds : A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users.

Implementation

Future<CreateMeetingWithAttendeesResponse> createMeetingWithAttendees({
  required List<CreateAttendeeRequestItem> attendees,
  required String externalMeetingId,
  required String mediaRegion,
  String? clientRequestToken,
  MediaPlacementNetworkType? mediaPlacementNetworkType,
  MeetingFeaturesConfiguration? meetingFeatures,
  String? meetingHostId,
  NotificationsConfiguration? notificationsConfiguration,
  String? primaryMeetingId,
  List<Tag>? tags,
  List<String>? tenantIds,
}) async {
  final $payload = <String, dynamic>{
    'Attendees': attendees,
    'ExternalMeetingId': externalMeetingId,
    'MediaRegion': mediaRegion,
    'ClientRequestToken': clientRequestToken ?? _s.generateIdempotencyToken(),
    if (mediaPlacementNetworkType != null)
      'MediaPlacementNetworkType': mediaPlacementNetworkType.value,
    if (meetingFeatures != null) 'MeetingFeatures': meetingFeatures,
    if (meetingHostId != null) 'MeetingHostId': meetingHostId,
    if (notificationsConfiguration != null)
      'NotificationsConfiguration': notificationsConfiguration,
    if (primaryMeetingId != null) 'PrimaryMeetingId': primaryMeetingId,
    if (tags != null) 'Tags': tags,
    if (tenantIds != null) 'TenantIds': tenantIds,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/meetings?operation=create-attendees',
    exceptionFnMap: _exceptionFns,
  );
  return CreateMeetingWithAttendeesResponse.fromJson(response);
}