AutoScalingGroup.fromXml constructor
AutoScalingGroup.fromXml(
- XmlElement elem
Implementation
factory AutoScalingGroup.fromXml(_s.XmlElement elem) {
return AutoScalingGroup(
autoScalingGroupName:
_s.extractXmlStringValue(elem, 'AutoScalingGroupName')!,
availabilityZones: _s.extractXmlStringListValues(
_s.extractXmlChild(elem, 'AvailabilityZones')!, 'member'),
createdTime: _s.extractXmlDateTimeValue(elem, 'CreatedTime')!,
defaultCooldown: _s.extractXmlIntValue(elem, 'DefaultCooldown')!,
desiredCapacity: _s.extractXmlIntValue(elem, 'DesiredCapacity')!,
healthCheckType: _s.extractXmlStringValue(elem, 'HealthCheckType')!,
maxSize: _s.extractXmlIntValue(elem, 'MaxSize')!,
minSize: _s.extractXmlIntValue(elem, 'MinSize')!,
autoScalingGroupARN:
_s.extractXmlStringValue(elem, 'AutoScalingGroupARN'),
capacityRebalance: _s.extractXmlBoolValue(elem, 'CapacityRebalance'),
enabledMetrics: _s.extractXmlChild(elem, 'EnabledMetrics')?.let((elem) =>
elem
.findElements('member')
.map((c) => EnabledMetric.fromXml(c))
.toList()),
healthCheckGracePeriod:
_s.extractXmlIntValue(elem, 'HealthCheckGracePeriod'),
instances: _s.extractXmlChild(elem, 'Instances')?.let((elem) =>
elem.findElements('member').map((c) => Instance.fromXml(c)).toList()),
launchConfigurationName:
_s.extractXmlStringValue(elem, 'LaunchConfigurationName'),
launchTemplate: _s
.extractXmlChild(elem, 'LaunchTemplate')
?.let((e) => LaunchTemplateSpecification.fromXml(e)),
loadBalancerNames: _s
.extractXmlChild(elem, 'LoadBalancerNames')
?.let((elem) => _s.extractXmlStringListValues(elem, 'member')),
maxInstanceLifetime: _s.extractXmlIntValue(elem, 'MaxInstanceLifetime'),
mixedInstancesPolicy: _s
.extractXmlChild(elem, 'MixedInstancesPolicy')
?.let((e) => MixedInstancesPolicy.fromXml(e)),
newInstancesProtectedFromScaleIn:
_s.extractXmlBoolValue(elem, 'NewInstancesProtectedFromScaleIn'),
placementGroup: _s.extractXmlStringValue(elem, 'PlacementGroup'),
serviceLinkedRoleARN:
_s.extractXmlStringValue(elem, 'ServiceLinkedRoleARN'),
status: _s.extractXmlStringValue(elem, 'Status'),
suspendedProcesses: _s.extractXmlChild(elem, 'SuspendedProcesses')?.let(
(elem) => elem
.findElements('member')
.map((c) => SuspendedProcess.fromXml(c))
.toList()),
tags: _s.extractXmlChild(elem, 'Tags')?.let((elem) => elem
.findElements('member')
.map((c) => TagDescription.fromXml(c))
.toList()),
targetGroupARNs: _s
.extractXmlChild(elem, 'TargetGroupARNs')
?.let((elem) => _s.extractXmlStringListValues(elem, 'member')),
terminationPolicies: _s
.extractXmlChild(elem, 'TerminationPolicies')
?.let((elem) => _s.extractXmlStringListValues(elem, 'member')),
vPCZoneIdentifier: _s.extractXmlStringValue(elem, 'VPCZoneIdentifier'),
);
}