/*
* Copyright 2010-2012 Amazon Technologies, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://aws.amazon.com/apache2.0
*
* 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.eclipse.elasticbeanstalk.server.ui.configEditor.basic;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.Section;
import com.amazonaws.eclipse.elasticbeanstalk.Environment;
import com.amazonaws.eclipse.elasticbeanstalk.server.ui.configEditor.EnvironmentConfigDataModel;
/**
* Human readable editor section to configure autoscaling parameters.
*/
public class AutoScalingConfigEditorSection extends HumanReadableConfigEditorSection {
private static final Map<String, String> humanReadableNames = new HashMap<String, String>();
static {
humanReadableNames.put("MinSize", "Minimum Instance Count");
humanReadableNames.put("MaxSize", "Maximum Instance Count");
humanReadableNames.put("Availability Zones", "Availability Zones");
humanReadableNames.put("Cooldown", "Scaling Cooldown Time (seconds)");
}
private static final String[] fieldOrder = new String[] { "MinSize", "MaxSize", "Availability Zones", "Cooldown", };
public AutoScalingConfigEditorSection(
BasicEnvironmentConfigEditorPart basicEnvironmentConfigurationEditorPart, EnvironmentConfigDataModel model, Environment environment, DataBindingContext bindingContext) {
super(basicEnvironmentConfigurationEditorPart, model, environment, bindingContext);
}
@Override
protected Map<String, String> getHumanReadableNames() {
return humanReadableNames;
}
@Override
protected String[] getFieldOrder() {
return fieldOrder;
}
@Override
protected String getSectionName() {
return "Auto Scaling";
}
@Override
protected String getSectionDescription() {
return "Auto-scaling automatically launches or terminates EC2 "
+ "instances based on defined metrics and thresholds called triggers. "
+ "Auto-scaling will also launch a new EC2 instance in the event of a "
+ "failure. These settings allow you to control auto-scaling behavior.";
}
@Override
protected Section getSection(Composite parent) {
Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.NO_TITLE);
return section;
}
}