AWSAutoScalingAutoScalingGroupResourceAction.java (eucalyptus-4.4.1) | : | AWSAutoScalingAutoScalingGroupResourceAction.java (eucalyptus-4.4.2) | ||
---|---|---|---|---|
skipping to change at line 258 | skipping to change at line 258 | |||
if (action.properties.getInstanceId() != null) { | if (action.properties.getInstanceId() != null) { | |||
throw new ValidationErrorException("InstanceId not supported"); | throw new ValidationErrorException("InstanceId not supported"); | |||
} | } | |||
if (action.properties.getLaunchConfigurationName() == null) { | if (action.properties.getLaunchConfigurationName() == null) { | |||
throw new ValidationErrorException("LaunchConfiguration required (as I nstanceId not supported)"); | throw new ValidationErrorException("LaunchConfiguration required (as I nstanceId not supported)"); | |||
} | } | |||
if (action.properties.getAvailabilityZones() != null && !action.properti es.getAvailabilityZones().isEmpty()) { | if (action.properties.getAvailabilityZones() != null && !action.properti es.getAvailabilityZones().isEmpty()) { | |||
createAutoScalingGroupType.setAvailabilityZones(new AvailabilityZones( action.properties.getAvailabilityZones())); | createAutoScalingGroupType.setAvailabilityZones(new AvailabilityZones( action.properties.getAvailabilityZones())); | |||
} | } | |||
createAutoScalingGroupType.setDefaultCooldown(action.properties.getCoold own()); | createAutoScalingGroupType.setDefaultCooldown(action.properties.getCoold own()); | |||
createAutoScalingGroupType.setDesiredCapacity(action.properties.getDesir edCapacity()); | createAutoScalingGroupType.setDesiredCapacity(0); | |||
createAutoScalingGroupType.setHealthCheckGracePeriod(action.properties.g etHealthCheckGracePeriod()); | createAutoScalingGroupType.setHealthCheckGracePeriod(action.properties.g etHealthCheckGracePeriod()); | |||
createAutoScalingGroupType.setHealthCheckType(action.properties.getHealt hCheckType()); | createAutoScalingGroupType.setHealthCheckType(action.properties.getHealt hCheckType()); | |||
createAutoScalingGroupType.setLaunchConfigurationName(action.properties. getLaunchConfigurationName()); | createAutoScalingGroupType.setLaunchConfigurationName(action.properties. getLaunchConfigurationName()); | |||
if (action.properties.getLoadBalancerNames() != null) { | if (action.properties.getLoadBalancerNames() != null) { | |||
createAutoScalingGroupType.setLoadBalancerNames(new LoadBalancerNames( action.properties.getLoadBalancerNames())); | createAutoScalingGroupType.setLoadBalancerNames(new LoadBalancerNames( action.properties.getLoadBalancerNames())); | |||
} | } | |||
createAutoScalingGroupType.setMaxSize(action.properties.getMaxSize()); | createAutoScalingGroupType.setMaxSize(0); | |||
createAutoScalingGroupType.setMinSize(action.properties.getMinSize()); | createAutoScalingGroupType.setMinSize(0); | |||
if (action.properties.getTerminationPolicies() != null) { | if (action.properties.getTerminationPolicies() != null) { | |||
createAutoScalingGroupType.setTerminationPolicies(new TerminationPolic ies(action.properties.getTerminationPolicies())); | createAutoScalingGroupType.setTerminationPolicies(new TerminationPolic ies(action.properties.getTerminationPolicies())); | |||
} | } | |||
if (action.properties.getVpcZoneIdentifier() != null) { | if (action.properties.getVpcZoneIdentifier() != null) { | |||
createAutoScalingGroupType.setVpcZoneIdentifier(Strings.emptyToNull(Jo iner.on(",").join(action.properties.getVpcZoneIdentifier()))); | createAutoScalingGroupType.setVpcZoneIdentifier(Strings.emptyToNull(Jo iner.on(",").join(action.properties.getVpcZoneIdentifier()))); | |||
} | } | |||
AsyncRequests.<CreateAutoScalingGroupType, CreateAutoScalingGroupRespons eType>sendSync(configuration, createAutoScalingGroupType); | AsyncRequests.<CreateAutoScalingGroupType, CreateAutoScalingGroupRespons eType>sendSync(configuration, createAutoScalingGroupType); | |||
action.info.setPhysicalResourceId(autoScalingGroupName); | action.info.setPhysicalResourceId(autoScalingGroupName); | |||
action.info.setCreatedEnoughToDelete(true); | action.info.setCreatedEnoughToDelete(true); | |||
action.info.setReferenceValueJson(JsonHelper.getStringFromJsonNode(new T extNode(action.info.getPhysicalResourceId()))); | action.info.setReferenceValueJson(JsonHelper.getStringFromJsonNode(new T extNode(action.info.getPhysicalResourceId()))); | |||
skipping to change at line 326 | skipping to change at line 326 | |||
AutoScalingNotificationTypes autoScalingNotificationTypes = new Auto ScalingNotificationTypes(); | AutoScalingNotificationTypes autoScalingNotificationTypes = new Auto ScalingNotificationTypes(); | |||
ArrayList<String> member = Lists.newArrayList(notificationConfigurat ion.getNotificationTypes()); | ArrayList<String> member = Lists.newArrayList(notificationConfigurat ion.getNotificationTypes()); | |||
autoScalingNotificationTypes.setMember(member); | autoScalingNotificationTypes.setMember(member); | |||
putNotificationConfigurationType.setNotificationTypes(autoScalingNot ificationTypes); | putNotificationConfigurationType.setNotificationTypes(autoScalingNot ificationTypes); | |||
sendSyncWithRetryOnScalingEvent(configuration, putNotificationConfig urationType); | sendSyncWithRetryOnScalingEvent(configuration, putNotificationConfig urationType); | |||
} | } | |||
} | } | |||
return action; | return action; | |||
} | } | |||
}, | }, | |||
UPDATE_CAPACITY { | ||||
@Override | ||||
public ResourceAction perform(final ResourceAction resourceAction) throws | ||||
Exception { | ||||
final AWSAutoScalingAutoScalingGroupResourceAction action = | ||||
(AWSAutoScalingAutoScalingGroupResourceAction) resourceAction; | ||||
final ServiceConfiguration configuration = Topology.lookup(AutoScaling.c | ||||
lass); | ||||
final UpdateAutoScalingGroupType updateAutoScalingGroupType = | ||||
MessageHelper.createMessage(UpdateAutoScalingGroupType.class, action | ||||
.info.getEffectiveUserId()); | ||||
updateAutoScalingGroupType.setAutoScalingGroupName(action.info.getPhysic | ||||
alResourceId()); | ||||
updateAutoScalingGroupType.setDesiredCapacity(action.properties.getDesir | ||||
edCapacity()); | ||||
updateAutoScalingGroupType.setMaxSize(action.properties.getMaxSize()); | ||||
updateAutoScalingGroupType.setMinSize(action.properties.getMinSize()); | ||||
sendSyncWithRetryOnScalingEvent(configuration, updateAutoScalingGroupTyp | ||||
e); | ||||
return action; | ||||
} | ||||
}, | ||||
CHECK_SIGNALS { | CHECK_SIGNALS { | |||
@Override | @Override | |||
public ResourceAction perform(ResourceAction resourceAction) throws Except ion { | public ResourceAction perform(ResourceAction resourceAction) throws Except ion { | |||
AWSAutoScalingAutoScalingGroupResourceAction action = (AWSAutoScalingAut oScalingGroupResourceAction) resourceAction; | AWSAutoScalingAutoScalingGroupResourceAction action = (AWSAutoScalingAut oScalingGroupResourceAction) resourceAction; | |||
ServiceConfiguration configuration = Topology.lookup(AutoScaling.class); | ServiceConfiguration configuration = Topology.lookup(AutoScaling.class); | |||
CreationPolicy creationPolicy = CreationPolicy.parse(action.info.getCrea tionPolicyJson()); | CreationPolicy creationPolicy = CreationPolicy.parse(action.info.getCrea tionPolicyJson()); | |||
if (creationPolicy != null && creationPolicy.getResourceSignal() != null ) { | if (creationPolicy != null && creationPolicy.getResourceSignal() != null ) { | |||
// For some reason AWS completely ignores signals that are not instanc e ids in the asg. | // For some reason AWS completely ignores signals that are not instanc e ids in the asg. | |||
Set<String> instanceIds = Sets.newHashSet(); | Set<String> instanceIds = Sets.newHashSet(); | |||
DescribeAutoScalingGroupsType describeAutoScalingGroupsType = MessageH elper.createMessage(DescribeAutoScalingGroupsType.class, action.info.getEffectiv eUserId()); | DescribeAutoScalingGroupsType describeAutoScalingGroupsType = MessageH elper.createMessage(DescribeAutoScalingGroupsType.class, action.info.getEffectiv eUserId()); | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 25 lines changed or added |