/* * Copyright 2010-2016 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.autoscaling.model.transform; import com.amazonaws.Request; import com.amazonaws.services.autoscaling.model.*; import com.amazonaws.util.StringUtils; /** * StAX marshaller for POJO AutoScalingGroup */ class AutoScalingGroupStaxMarshaller { public void marshall(AutoScalingGroup _autoScalingGroup, Request<?> request, String _prefix) { String prefix; if (_autoScalingGroup.getAutoScalingGroupName() != null) { prefix = _prefix + "AutoScalingGroupName"; String autoScalingGroupName = _autoScalingGroup.getAutoScalingGroupName(); request.addParameter(prefix, StringUtils.fromString(autoScalingGroupName)); } if (_autoScalingGroup.getAutoScalingGroupARN() != null) { prefix = _prefix + "AutoScalingGroupARN"; String autoScalingGroupARN = _autoScalingGroup.getAutoScalingGroupARN(); request.addParameter(prefix, StringUtils.fromString(autoScalingGroupARN)); } if (_autoScalingGroup.getLaunchConfigurationName() != null) { prefix = _prefix + "LaunchConfigurationName"; String launchConfigurationName = _autoScalingGroup.getLaunchConfigurationName(); request.addParameter(prefix, StringUtils.fromString(launchConfigurationName)); } if (_autoScalingGroup.getMinSize() != null) { prefix = _prefix + "MinSize"; Integer minSize = _autoScalingGroup.getMinSize(); request.addParameter(prefix, StringUtils.fromInteger(minSize)); } if (_autoScalingGroup.getMaxSize() != null) { prefix = _prefix + "MaxSize"; Integer maxSize = _autoScalingGroup.getMaxSize(); request.addParameter(prefix, StringUtils.fromInteger(maxSize)); } if (_autoScalingGroup.getDesiredCapacity() != null) { prefix = _prefix + "DesiredCapacity"; Integer desiredCapacity = _autoScalingGroup.getDesiredCapacity(); request.addParameter(prefix, StringUtils.fromInteger(desiredCapacity)); } if (_autoScalingGroup.getDefaultCooldown() != null) { prefix = _prefix + "DefaultCooldown"; Integer defaultCooldown = _autoScalingGroup.getDefaultCooldown(); request.addParameter(prefix, StringUtils.fromInteger(defaultCooldown)); } if (_autoScalingGroup.getAvailabilityZones() != null) { prefix = _prefix + "AvailabilityZones"; java.util.List<String> availabilityZones = _autoScalingGroup.getAvailabilityZones(); int availabilityZonesIndex = 1; String availabilityZonesPrefix = prefix; for (String availabilityZonesItem : availabilityZones) { prefix = availabilityZonesPrefix + ".member." + availabilityZonesIndex; if (availabilityZonesItem != null) { request.addParameter(prefix, StringUtils.fromString(availabilityZonesItem)); } availabilityZonesIndex++; } prefix = availabilityZonesPrefix; } if (_autoScalingGroup.getLoadBalancerNames() != null) { prefix = _prefix + "LoadBalancerNames"; java.util.List<String> loadBalancerNames = _autoScalingGroup.getLoadBalancerNames(); int loadBalancerNamesIndex = 1; String loadBalancerNamesPrefix = prefix; for (String loadBalancerNamesItem : loadBalancerNames) { prefix = loadBalancerNamesPrefix + ".member." + loadBalancerNamesIndex; if (loadBalancerNamesItem != null) { request.addParameter(prefix, StringUtils.fromString(loadBalancerNamesItem)); } loadBalancerNamesIndex++; } prefix = loadBalancerNamesPrefix; } if (_autoScalingGroup.getHealthCheckType() != null) { prefix = _prefix + "HealthCheckType"; String healthCheckType = _autoScalingGroup.getHealthCheckType(); request.addParameter(prefix, StringUtils.fromString(healthCheckType)); } if (_autoScalingGroup.getHealthCheckGracePeriod() != null) { prefix = _prefix + "HealthCheckGracePeriod"; Integer healthCheckGracePeriod = _autoScalingGroup.getHealthCheckGracePeriod(); request.addParameter(prefix, StringUtils.fromInteger(healthCheckGracePeriod)); } if (_autoScalingGroup.getInstances() != null) { prefix = _prefix + "Instances"; java.util.List<Instance> instances = _autoScalingGroup.getInstances(); int instancesIndex = 1; String instancesPrefix = prefix; for (Instance instancesItem : instances) { prefix = instancesPrefix + ".member." + instancesIndex; if (instancesItem != null) { InstanceStaxMarshaller.getInstance().marshall(instancesItem, request, prefix + "."); } instancesIndex++; } prefix = instancesPrefix; } if (_autoScalingGroup.getCreatedTime() != null) { prefix = _prefix + "CreatedTime"; java.util.Date createdTime = _autoScalingGroup.getCreatedTime(); request.addParameter(prefix, StringUtils.fromDate(createdTime)); } if (_autoScalingGroup.getSuspendedProcesses() != null) { prefix = _prefix + "SuspendedProcesses"; java.util.List<SuspendedProcess> suspendedProcesses = _autoScalingGroup .getSuspendedProcesses(); int suspendedProcessesIndex = 1; String suspendedProcessesPrefix = prefix; for (SuspendedProcess suspendedProcessesItem : suspendedProcesses) { prefix = suspendedProcessesPrefix + ".member." + suspendedProcessesIndex; if (suspendedProcessesItem != null) { SuspendedProcessStaxMarshaller.getInstance().marshall(suspendedProcessesItem, request, prefix + "."); } suspendedProcessesIndex++; } prefix = suspendedProcessesPrefix; } if (_autoScalingGroup.getPlacementGroup() != null) { prefix = _prefix + "PlacementGroup"; String placementGroup = _autoScalingGroup.getPlacementGroup(); request.addParameter(prefix, StringUtils.fromString(placementGroup)); } if (_autoScalingGroup.getVPCZoneIdentifier() != null) { prefix = _prefix + "VPCZoneIdentifier"; String vPCZoneIdentifier = _autoScalingGroup.getVPCZoneIdentifier(); request.addParameter(prefix, StringUtils.fromString(vPCZoneIdentifier)); } if (_autoScalingGroup.getEnabledMetrics() != null) { prefix = _prefix + "EnabledMetrics"; java.util.List<EnabledMetric> enabledMetrics = _autoScalingGroup.getEnabledMetrics(); int enabledMetricsIndex = 1; String enabledMetricsPrefix = prefix; for (EnabledMetric enabledMetricsItem : enabledMetrics) { prefix = enabledMetricsPrefix + ".member." + enabledMetricsIndex; if (enabledMetricsItem != null) { EnabledMetricStaxMarshaller.getInstance().marshall(enabledMetricsItem, request, prefix + "."); } enabledMetricsIndex++; } prefix = enabledMetricsPrefix; } if (_autoScalingGroup.getStatus() != null) { prefix = _prefix + "Status"; String status = _autoScalingGroup.getStatus(); request.addParameter(prefix, StringUtils.fromString(status)); } if (_autoScalingGroup.getTags() != null) { prefix = _prefix + "Tags"; java.util.List<TagDescription> tags = _autoScalingGroup.getTags(); int tagsIndex = 1; String tagsPrefix = prefix; for (TagDescription tagsItem : tags) { prefix = tagsPrefix + ".member." + tagsIndex; if (tagsItem != null) { TagDescriptionStaxMarshaller.getInstance().marshall(tagsItem, request, prefix + "."); } tagsIndex++; } prefix = tagsPrefix; } if (_autoScalingGroup.getTerminationPolicies() != null) { prefix = _prefix + "TerminationPolicies"; java.util.List<String> terminationPolicies = _autoScalingGroup.getTerminationPolicies(); int terminationPoliciesIndex = 1; String terminationPoliciesPrefix = prefix; for (String terminationPoliciesItem : terminationPolicies) { prefix = terminationPoliciesPrefix + ".member." + terminationPoliciesIndex; if (terminationPoliciesItem != null) { request.addParameter(prefix, StringUtils.fromString(terminationPoliciesItem)); } terminationPoliciesIndex++; } prefix = terminationPoliciesPrefix; } if (_autoScalingGroup.getNewInstancesProtectedFromScaleIn() != null) { prefix = _prefix + "NewInstancesProtectedFromScaleIn"; Boolean newInstancesProtectedFromScaleIn = _autoScalingGroup .getNewInstancesProtectedFromScaleIn(); request.addParameter(prefix, StringUtils.fromBoolean(newInstancesProtectedFromScaleIn)); } } private static AutoScalingGroupStaxMarshaller instance; public static AutoScalingGroupStaxMarshaller getInstance() { if (instance == null) instance = new AutoScalingGroupStaxMarshaller(); return instance; } }