addAttachmentsToSet method

Future<AddAttachmentsToSetResponse> addAttachmentsToSet({
  1. required List<Attachment> attachments,
  2. String? attachmentSetId,
})

Adds one or more attachments to an attachment set.

An attachment set is a temporary container for attachments that you add to a case or case communication. The set is available for 1 hour after it's created. The expiryTime returned in the response is when the set expires.

  • You must have a Business or Enterprise support plan to use the AWS Support API.
  • If you call the AWS Support API from an account that does not have a Business or Enterprise support plan, the SubscriptionRequiredException error message appears. For information about changing your support plan, see AWS Support.

May throw InternalServerError. May throw AttachmentSetIdNotFound. May throw AttachmentSetExpired. May throw AttachmentSetSizeLimitExceeded. May throw AttachmentLimitExceeded.

Parameter attachments : One or more attachments to add to the set. You can add up to three attachments per set. The size limit is 5 MB per attachment.

In the Attachment object, use the data parameter to specify the contents of the attachment file. In the previous request syntax, the value for data appear as blob, which is represented as a base64-encoded string. The value for fileName is the name of the attachment, such as troubleshoot-screenshot.png.

Parameter attachmentSetId : The ID of the attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists.

Implementation

Future<AddAttachmentsToSetResponse> addAttachmentsToSet({
  required List<Attachment> attachments,
  String? attachmentSetId,
}) async {
  ArgumentError.checkNotNull(attachments, 'attachments');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSSupport_20130415.AddAttachmentsToSet'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'attachments': attachments,
      if (attachmentSetId != null) 'attachmentSetId': attachmentSetId,
    },
  );

  return AddAttachmentsToSetResponse.fromJson(jsonResponse.body);
}