/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticache.model.transform; import javax.annotation.Generated; import com.amazonaws.SdkClientException; import com.amazonaws.Request; import com.amazonaws.DefaultRequest; import com.amazonaws.http.HttpMethodName; import com.amazonaws.services.elasticache.model.*; import com.amazonaws.transform.Marshaller; import com.amazonaws.util.StringUtils; /** * CreateCacheClusterRequest Marshaller */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateCacheClusterRequestMarshaller implements Marshaller<Request<CreateCacheClusterRequest>, CreateCacheClusterRequest> { public Request<CreateCacheClusterRequest> marshall(CreateCacheClusterRequest createCacheClusterRequest) { if (createCacheClusterRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<CreateCacheClusterRequest> request = new DefaultRequest<CreateCacheClusterRequest>(createCacheClusterRequest, "AmazonElastiCache"); request.addParameter("Action", "CreateCacheCluster"); request.addParameter("Version", "2015-02-02"); request.setHttpMethod(HttpMethodName.POST); if (createCacheClusterRequest.getCacheClusterId() != null) { request.addParameter("CacheClusterId", StringUtils.fromString(createCacheClusterRequest.getCacheClusterId())); } if (createCacheClusterRequest.getReplicationGroupId() != null) { request.addParameter("ReplicationGroupId", StringUtils.fromString(createCacheClusterRequest.getReplicationGroupId())); } if (createCacheClusterRequest.getAZMode() != null) { request.addParameter("AZMode", StringUtils.fromString(createCacheClusterRequest.getAZMode())); } if (createCacheClusterRequest.getPreferredAvailabilityZone() != null) { request.addParameter("PreferredAvailabilityZone", StringUtils.fromString(createCacheClusterRequest.getPreferredAvailabilityZone())); } com.amazonaws.internal.SdkInternalList<String> preferredAvailabilityZonesList = (com.amazonaws.internal.SdkInternalList<String>) createCacheClusterRequest .getPreferredAvailabilityZones(); if (!preferredAvailabilityZonesList.isEmpty() || !preferredAvailabilityZonesList.isAutoConstruct()) { int preferredAvailabilityZonesListIndex = 1; for (String preferredAvailabilityZonesListValue : preferredAvailabilityZonesList) { if (preferredAvailabilityZonesListValue != null) { request.addParameter("PreferredAvailabilityZones.PreferredAvailabilityZone." + preferredAvailabilityZonesListIndex, StringUtils.fromString(preferredAvailabilityZonesListValue)); } preferredAvailabilityZonesListIndex++; } } if (createCacheClusterRequest.getNumCacheNodes() != null) { request.addParameter("NumCacheNodes", StringUtils.fromInteger(createCacheClusterRequest.getNumCacheNodes())); } if (createCacheClusterRequest.getCacheNodeType() != null) { request.addParameter("CacheNodeType", StringUtils.fromString(createCacheClusterRequest.getCacheNodeType())); } if (createCacheClusterRequest.getEngine() != null) { request.addParameter("Engine", StringUtils.fromString(createCacheClusterRequest.getEngine())); } if (createCacheClusterRequest.getEngineVersion() != null) { request.addParameter("EngineVersion", StringUtils.fromString(createCacheClusterRequest.getEngineVersion())); } if (createCacheClusterRequest.getCacheParameterGroupName() != null) { request.addParameter("CacheParameterGroupName", StringUtils.fromString(createCacheClusterRequest.getCacheParameterGroupName())); } if (createCacheClusterRequest.getCacheSubnetGroupName() != null) { request.addParameter("CacheSubnetGroupName", StringUtils.fromString(createCacheClusterRequest.getCacheSubnetGroupName())); } com.amazonaws.internal.SdkInternalList<String> cacheSecurityGroupNamesList = (com.amazonaws.internal.SdkInternalList<String>) createCacheClusterRequest .getCacheSecurityGroupNames(); if (!cacheSecurityGroupNamesList.isEmpty() || !cacheSecurityGroupNamesList.isAutoConstruct()) { int cacheSecurityGroupNamesListIndex = 1; for (String cacheSecurityGroupNamesListValue : cacheSecurityGroupNamesList) { if (cacheSecurityGroupNamesListValue != null) { request.addParameter("CacheSecurityGroupNames.CacheSecurityGroupName." + cacheSecurityGroupNamesListIndex, StringUtils.fromString(cacheSecurityGroupNamesListValue)); } cacheSecurityGroupNamesListIndex++; } } com.amazonaws.internal.SdkInternalList<String> securityGroupIdsList = (com.amazonaws.internal.SdkInternalList<String>) createCacheClusterRequest .getSecurityGroupIds(); if (!securityGroupIdsList.isEmpty() || !securityGroupIdsList.isAutoConstruct()) { int securityGroupIdsListIndex = 1; for (String securityGroupIdsListValue : securityGroupIdsList) { if (securityGroupIdsListValue != null) { request.addParameter("SecurityGroupIds.SecurityGroupId." + securityGroupIdsListIndex, StringUtils.fromString(securityGroupIdsListValue)); } securityGroupIdsListIndex++; } } com.amazonaws.internal.SdkInternalList<Tag> tagsList = (com.amazonaws.internal.SdkInternalList<Tag>) createCacheClusterRequest.getTags(); if (!tagsList.isEmpty() || !tagsList.isAutoConstruct()) { int tagsListIndex = 1; for (Tag tagsListValue : tagsList) { if (tagsListValue.getKey() != null) { request.addParameter("Tags.Tag." + tagsListIndex + ".Key", StringUtils.fromString(tagsListValue.getKey())); } if (tagsListValue.getValue() != null) { request.addParameter("Tags.Tag." + tagsListIndex + ".Value", StringUtils.fromString(tagsListValue.getValue())); } tagsListIndex++; } } com.amazonaws.internal.SdkInternalList<String> snapshotArnsList = (com.amazonaws.internal.SdkInternalList<String>) createCacheClusterRequest .getSnapshotArns(); if (!snapshotArnsList.isEmpty() || !snapshotArnsList.isAutoConstruct()) { int snapshotArnsListIndex = 1; for (String snapshotArnsListValue : snapshotArnsList) { if (snapshotArnsListValue != null) { request.addParameter("SnapshotArns.SnapshotArn." + snapshotArnsListIndex, StringUtils.fromString(snapshotArnsListValue)); } snapshotArnsListIndex++; } } if (createCacheClusterRequest.getSnapshotName() != null) { request.addParameter("SnapshotName", StringUtils.fromString(createCacheClusterRequest.getSnapshotName())); } if (createCacheClusterRequest.getPreferredMaintenanceWindow() != null) { request.addParameter("PreferredMaintenanceWindow", StringUtils.fromString(createCacheClusterRequest.getPreferredMaintenanceWindow())); } if (createCacheClusterRequest.getPort() != null) { request.addParameter("Port", StringUtils.fromInteger(createCacheClusterRequest.getPort())); } if (createCacheClusterRequest.getNotificationTopicArn() != null) { request.addParameter("NotificationTopicArn", StringUtils.fromString(createCacheClusterRequest.getNotificationTopicArn())); } if (createCacheClusterRequest.getAutoMinorVersionUpgrade() != null) { request.addParameter("AutoMinorVersionUpgrade", StringUtils.fromBoolean(createCacheClusterRequest.getAutoMinorVersionUpgrade())); } if (createCacheClusterRequest.getSnapshotRetentionLimit() != null) { request.addParameter("SnapshotRetentionLimit", StringUtils.fromInteger(createCacheClusterRequest.getSnapshotRetentionLimit())); } if (createCacheClusterRequest.getSnapshotWindow() != null) { request.addParameter("SnapshotWindow", StringUtils.fromString(createCacheClusterRequest.getSnapshotWindow())); } if (createCacheClusterRequest.getAuthToken() != null) { request.addParameter("AuthToken", StringUtils.fromString(createCacheClusterRequest.getAuthToken())); } return request; } }