#AWS Support API Update – Attachment Creation and Lightweight Monitoring

The
Support API provides you with a programmatic access to
your support cases and to the AWS Trusted Advisor . Today we are
extending the API in order to give you more control over the
cases that you create and a new, lightweight way to access information about
your cases. The examples in this post make use of the AWS SDK for Java .

Creating Attachments for Support Cases
When you create a support case, you may want to include additional information
along with the case. Perhaps you want to attach some sample code, a protocol
trace, or some screen shots. With today’s release you can now create, manage, and
use attachments programmatically.

My colleague
Kapil Sharma provided me with some sample Java code to show you how
to do this. Let’s walk through it. The first step is to create an Attachment
from a file (File1 in this case):

Attachment attachment = new Attachment;
Attachment.setData(ByteBuffer.wrap(File.readAllBytes(FileSystems.getDefault().getPath("", "File1"))));
attachment.setFileName("Attachment.txt");

Then you create a List of the attachments for the case:

List<Attachment> attachmentSet = New ArrayList<Attachment>();
attachmentSet.add(attachment);

And upload the attachments:

AddAttachmentsToSetRequest addAttachmentsToSetRequest = new AddAttachmentsToSetRequest();
addAttachmentsToSetRequest.setAttachments(attachmentSet);
AddAttachmentsToSetResult addAttachmentsToSetResult = client.addAttachmentsToSet(addAttachmentsToSetRequest);

With the attachment or attachments uploaded, you next need to get an Id for the set:

String attachmentSetId = addAttachmentsToSetResult.getAttachmentSetId();

And then you are ready to create the actual support case:

CreateCaseRequest request = new CreateCaseRequest()
    .withAttachmentSetId(attachmentSetId)
    .withServiceCode(serviceCode)
    .withCategoryCode(categoryCode)
    .withLanguage(language)
    .withCcEmailAddresses(ccEmailAddress)
    .withCommunicationBody(communicationBody)
    .withSubject(caseSubject)
    .withSeverityCode(severityCode);

CreateCaseResult result = client.createCase(request);

Once you have created a support case or two, you probably want to check on their
status. The
describeCases function lets you do just that. In the past, this function
returned a detailed response that included up to 15 MB of attachments. With today’s
enhancement, you can now ask for a lightweight response that does not include any
attachments. If you are calling describeCases to check for changes in
status, you can now do this in a more efficient fashion.

DescribeCaseRequest request = new DescribeCaseRequest();

Request.withcaseIdList(caseId);
Request.withIncludeCommunications(false);
client.describeCases(request)

To learn more about creating and managing cases programmatically, take a look at
Programming the Life of an AWS Support Case.

Available Now
The new functionality described in this post is available now and
you can start using them today! The
SDK for PHP, SDK for .NET, SDK for Ruby, SDK for Java, SDK for JavaScript in the Browser, and the AWS Command Line Interface have been updated.

Jeff;

Related posts