All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ksc.network.vpc.transform.SecurityGroups.DescribeSecurityGroupsRequestMarshaller Maven / Gradle / Ivy

There is a newer version: 2.1.8
Show newest version
package com.ksc.network.vpc.transform.SecurityGroups;

import com.ksc.DefaultRequest;
import com.ksc.KscClientException;
import com.ksc.Request;
import com.ksc.http.HttpMethodName;
import com.ksc.model.Filter;
import com.ksc.network.vpc.model.SecurityGroups.DescribeSecurityGroupsRequest;
import com.ksc.transform.Marshaller;
import com.ksc.util.StringUtils;

/**
 * DescribeSecurityGroupsRequest Marshaller
 */

public class DescribeSecurityGroupsRequestMarshaller
		implements Marshaller, DescribeSecurityGroupsRequest> {

	public Request marshall(DescribeSecurityGroupsRequest describeSecurityGroupsRequest) {

		if (describeSecurityGroupsRequest == null) {
			throw new KscClientException("Invalid argument passed to marshall(...)");
		}

		Request request = new DefaultRequest(describeSecurityGroupsRequest,
				"vpc");
		request.addParameter("Action", "DescribeSecurityGroups");
		String version = describeSecurityGroupsRequest.getVersion();
		if (StringUtils.isNullOrEmpty(version)) {
			version = "2016-03-04";
		}
		request.addParameter("Version", version);
		request.setHttpMethod(HttpMethodName.GET);

		com.ksc.internal.SdkInternalList list = (com.ksc.internal.SdkInternalList) describeSecurityGroupsRequest
				.getSecurityGroupIds();
		if (!list.isEmpty() || !list.isAutoConstruct()) {
			int index = 1;

			for (String value : list) {
				if (value != null) {
					request.addParameter("SecurityGroupId." + index, StringUtils.fromString(value));
				}
				index++;
			}
		}

		com.ksc.internal.SdkInternalList filtersList = (com.ksc.internal.SdkInternalList) describeSecurityGroupsRequest
				.getFilters();
		if (!filtersList.isEmpty() || !filtersList.isAutoConstruct()) {
			int filtersListIndex = 1;

			for (Filter filtersListValue : filtersList) {

				if (filtersListValue.getName() != null) {
					request.addParameter("Filter." + filtersListIndex + ".Name",
							StringUtils.fromString(filtersListValue.getName()));
				}

				com.ksc.internal.SdkInternalList valuesList = (com.ksc.internal.SdkInternalList) filtersListValue
						.getValues();
				if (!valuesList.isEmpty() || !valuesList.isAutoConstruct()) {
					int valuesListIndex = 1;

					for (String valuesListValue : valuesList) {
						if (valuesListValue != null) {
							request.addParameter("Filter." + filtersListIndex + ".Value." + valuesListIndex,
									StringUtils.fromString(valuesListValue));
						}
						valuesListIndex++;
					}
				}
				filtersListIndex++;
			}
		}

		return request;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy