public Request<AddTagsRequest> marshall(AddTagsRequest addTagsRequest) { if (addTagsRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<AddTagsRequest> request = new DefaultRequest<AddTagsRequest>(addTagsRequest, "AWSElasticsearch"); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/2015-01-01/tags"; request.setResourcePath(uriResourcePath); try { final StructuredJsonGenerator jsonGenerator = protocolFactory.createGenerator(); jsonGenerator.writeStartObject(); if (addTagsRequest.getARN() != null) { jsonGenerator.writeFieldName("ARN").writeValue(addTagsRequest.getARN()); } java.util.List<Tag> tagListList = addTagsRequest.getTagList(); if (tagListList != null) { jsonGenerator.writeFieldName("TagList"); jsonGenerator.writeStartArray(); for (Tag tagListListValue : tagListList) { if (tagListListValue != null) { TagJsonMarshaller.getInstance().marshall(tagListListValue, jsonGenerator); } } jsonGenerator.writeEndArray(); } jsonGenerator.writeEndObject(); byte[] content = jsonGenerator.getBytes(); request.setContent(new ByteArrayInputStream(content)); request.addHeader("Content-Length", Integer.toString(content.length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", protocolFactory.getContentType()); } } catch (Throwable t) { throw new SdkClientException("Unable to marshall request to JSON: " + t.getMessage(), t); } return request; }