Author: jjohnstn
Date: 2010-08-06 19:00:14 -0400 (Fri, 06 Aug 2010)
New Revision: 23983
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties
Log:
2010-08-06 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java: New file.
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java (performFinish):
Add logic
to create instance and use confirmation dialog if preferences don't say otherwise.
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
(getMemoryProperty): New
method.
(getHardwareProfile): Ditto.
(getCpuProperty): Ditto.
(getInstanceName): Ditto.
(getStorageProperty): Ditto.
(getRealmId): Ditto.
(getPossibleProfiles): Allow profiles without architecture such as opaque profiles to be
picked.
(createControl): Add realm and change formatting.
(NAME_ALREADY_IN_USE): Mark unused for time-being.
* src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java
(ProfileComposite): Fix format glitch.
* src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java
(getFormattedString): New method.
* src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties: Add new
messages.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-08-06 19:25:49
UTC (rev 23982)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-08-06 23:00:14
UTC (rev 23983)
@@ -1,3 +1,22 @@
+2010-08-06 Jeff Johnston <jjohnstn(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java: New file.
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java (performFinish):
Add logic
+ to create instance and use confirmation dialog if preferences don't say otherwise.
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
(getMemoryProperty): New
+ method.
+ (getHardwareProfile): Ditto.
+ (getCpuProperty): Ditto.
+ (getInstanceName): Ditto.
+ (getStorageProperty): Ditto.
+ (getRealmId): Ditto.
+ (getPossibleProfiles): Allow profiles without architecture such as opaque profiles to be
picked.
+ (createControl): Add realm and change formatting.
+ (NAME_ALREADY_IN_USE): Mark unused for time-being.
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java
(ProfileComposite): Fix format glitch.
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java
(getFormattedString): New method.
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties: Add new
messages.
+
2010-08-05 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
(createControl): Use a group
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/IDeltaCloudPreferenceConstants.java 2010-08-06
23:00:14 UTC (rev 23983)
@@ -0,0 +1,7 @@
+package org.jboss.tools.deltacloud.ui;
+
+public interface IDeltaCloudPreferenceConstants {
+
+ public final static String DONT_CONFIRM_CREATE_INSTANCE =
"dont_confirm_create_instance"; //$NON-NLS-1$
+
+}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java 2010-08-06
19:25:49 UTC (rev 23982)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java 2010-08-06
23:00:14 UTC (rev 23983)
@@ -1,12 +1,31 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.jface.dialogs.MessageDialogWithToggle;
import org.eclipse.jface.wizard.Wizard;
import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudException;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
+import org.jboss.tools.deltacloud.ui.Activator;
+import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
+import org.osgi.service.prefs.Preferences;
public class NewInstance extends Wizard {
- private final static String MAINPAGE_NAME = "NewInstance.name"; //$NON-NLS-1$
+ private final static String CREATE_INSTANCE_FAILURE_TITLE =
"CreateInstanceError.title"; //$NON-NLS-1$
+ private final static String CREATE_INSTANCE_FAILURE_MSG =
"CreateInstanceError.msg"; //$NON-NLS-1$
+ private final static String DEFAULT_REASON = "CreateInstanceErrorReason.msg";
//$NON-NLS-1$
+ private final static String CONFIRM_CREATE_TITLE = "ConfirmCreate.title";
//$NON-NLS-1$
+ private final static String CONFIRM_CREATE_MSG = "ConfirmCreate.msg";
//$NON-NLS-1$
+ private final static String DONT_SHOW_THIS_AGAIN_MSG =
"DontShowThisAgain.msg"; //$NON-NLS-1$
+
private NewInstancePage mainPage;
private DeltaCloud cloud;
@@ -31,8 +50,42 @@
@Override
public boolean performFinish() {
- // TODO Auto-generated method stub
- return false;
+ String imageId = image.getId();
+ String profileId = mainPage.getHardwareProfile();
+ String realmId = mainPage.getRealmId();
+ String name = null;
+ try {
+ name = URLEncoder.encode(mainPage.getInstanceName(), "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } //$NON-NLS-1$
+
+ boolean result = false;
+ String errorMessage = WizardMessages.getString(DEFAULT_REASON);
+ try {
+ Preferences prefs = new InstanceScope().getNode(Activator.PLUGIN_ID);
+ boolean dontShowDialog =
prefs.getBoolean(IDeltaCloudPreferenceConstants.DONT_CONFIRM_CREATE_INSTANCE, false);
+ if (!dontShowDialog) {
+ MessageDialogWithToggle dialog =
+ MessageDialogWithToggle.openOkCancelConfirm(getShell(),
WizardMessages.getString(CONFIRM_CREATE_TITLE),
+ WizardMessages.getString(CONFIRM_CREATE_MSG),
+ WizardMessages.getString(DONT_SHOW_THIS_AGAIN_MSG),
+ false, Activator.getDefault().getPreferenceStore(),
IDeltaCloudPreferenceConstants.DONT_CONFIRM_CREATE_INSTANCE);
+ if (dialog.getReturnCode() == Dialog.CANCEL)
+ return true;
+ }
+ result = cloud.createInstance(name, imageId, realmId, profileId);
+ } catch (DeltaCloudException e) {
+ errorMessage = e.getLocalizedMessage();
+ }
+ if (!result) {
+ ErrorDialog.openError(this.getShell(),
+ WizardMessages.getString(CREATE_INSTANCE_FAILURE_TITLE),
+ WizardMessages.getFormattedString(CREATE_INSTANCE_FAILURE_MSG, new String[] {name,
imageId, realmId, profileId}),
+ new Status(IStatus.ERROR, Activator.PLUGIN_ID, errorMessage));
+ }
+ return result;
}
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-08-06
19:25:49 UTC (rev 23982)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage.java 2010-08-06
23:00:14 UTC (rev 23983)
@@ -11,12 +11,14 @@
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudHardwareProfile;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
+import org.jboss.tools.deltacloud.core.DeltaCloudRealm;
public class NewInstancePage extends WizardPage {
@@ -28,7 +30,10 @@
private static final String IMAGE_LABEL = "Image.label"; //$NON-NLS-1$
private static final String ARCH_LABEL = "Arch.label"; //$NON-NLS-1$
private static final String HARDWARE_LABEL = "Profile.label"; //$NON-NLS-1$
+ private static final String REALM_LABEL = "Realm.label"; //$NON-NLS-1$
private static final String PROPERTIES_LABEL = "Properties.label";
//$NON-NLS-1$
+ private static final String NONE_RESPONSE = "None.response"; //$NON-NLS-1$
+ @SuppressWarnings("unused")
private static final String NAME_ALREADY_IN_USE = "ErrorNameInUse.text";
//$NON-NLS-1$
@@ -38,9 +43,11 @@
private Text nameText;
private Combo hardware;
+ private Control realm;
private String[] profileIds;
private ProfileComposite currPage;
private ProfileComposite[] profilePages;
+ private ArrayList<String> realmIds;
private ModifyListener textListener = new ModifyListener() {
@@ -72,6 +79,35 @@
setPageComplete(false);
}
+ public String getHardwareProfile() {
+ return hardware.getText();
+ }
+
+ public String getRealmId() {
+ if (realm instanceof Combo) {
+ int index = ((Combo)realm).getSelectionIndex();
+ return realmIds.get(index);
+ } else {
+ return null;
+ }
+ }
+
+ public String getCpuProperty() {
+ return currPage.getCPU();
+ }
+
+ public String getStorageProperty() {
+ return currPage.getStorage();
+ }
+
+ public String getMemoryProperty() {
+ return currPage.getMemory();
+ }
+
+ public String getInstanceName() {
+ return nameText.getText();
+ }
+
private void validate() {
boolean complete = true;
boolean errorFree = true;
@@ -92,7 +128,7 @@
profiles = new ArrayList<DeltaCloudHardwareProfile>();
DeltaCloudHardwareProfile[] allProfiles = cloud.getProfiles();
for (DeltaCloudHardwareProfile p : allProfiles) {
- if (image.getArchitecture().equals(p.getArchitecture())) {
+ if (p.getArchitecture() == null ||
image.getArchitecture().equals(p.getArchitecture())) {
profiles.add(p);
}
}
@@ -136,9 +172,33 @@
Label nameLabel = new Label(container, SWT.NULL);
nameLabel.setText(WizardMessages.getString(NAME_LABEL));
+ Label realmLabel = new Label(container, SWT.NULL);
+ realmLabel.setText(WizardMessages.getString(REALM_LABEL));
+
nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
nameText.addModifyListener(textListener);
+ DeltaCloudRealm[] realms = cloud.getRealms();
+ realmIds = new ArrayList<String>();
+ ArrayList<String> realmNames = new ArrayList<String>();
+ for (int i = 0; i < realms.length; ++i) {
+ DeltaCloudRealm r = realms[i];
+ if (r.getState() == null || r.getState().equals(DeltaCloudRealm.AVAILABLE)) {
+ realmNames.add(r.getName());
+ realmIds.add(r.getId());
+ }
+ }
+ if (realmIds.size() > 0) {
+ Combo combo = new Combo(container, SWT.BORDER | SWT.READ_ONLY);
+ combo.setItems(realmNames.toArray(new String[realmNames.size()]));
+ combo.setText(realmNames.get(0));
+ realm = combo;
+ } else {
+ Label label = new Label(container, SWT.NULL);
+ label.setText(WizardMessages.getString(NONE_RESPONSE));
+ realm = label;
+ }
+
Label hardwareLabel = new Label(container, SWT.NULL);
hardwareLabel.setText(WizardMessages.getString(HARDWARE_LABEL));
@@ -168,10 +228,21 @@
f = new FormData();
f.top = new FormAttachment(dummyLabel, 8);
f.left = new FormAttachment(0, 0);
+ nameLabel.setLayoutData(f);
+
+ f = new FormData();
+ f.top = new FormAttachment(dummyLabel, 8);
+ f.left = new FormAttachment(hardwareLabel, 5);
+ f.right = new FormAttachment(100, 0);
+ nameText.setLayoutData(f);
+
+ f = new FormData();
+ f.top = new FormAttachment(nameText, 8);
+ f.left = new FormAttachment(0, 0);
imageLabel.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(dummyLabel, 8);
+ f.top = new FormAttachment(nameText, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
imageId.setLayoutData(f);
@@ -187,23 +258,23 @@
arch.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(archLabel, 8);
+ f.top = new FormAttachment(archLabel, 11);
f.left = new FormAttachment(0, 0);
- nameLabel.setLayoutData(f);
+ realmLabel.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(arch, 5);
+ f.top = new FormAttachment(arch, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
- nameText.setLayoutData(f);
+ realm.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(nameText, 8);
+ f.top = new FormAttachment(realm, 11);
f.left = new FormAttachment(0, 0);
hardwareLabel.setLayoutData(f);
f = new FormData();
- f.top = new FormAttachment(nameText, 5);
+ f.top = new FormAttachment(realm, 8);
f.left = new FormAttachment(hardwareLabel, 5);
f.right = new FormAttachment(100, 0);
hardware.setLayoutData(f);
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java 2010-08-06
19:25:49 UTC (rev 23982)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/ProfileComposite.java 2010-08-06
23:00:14 UTC (rev 23983)
@@ -21,6 +21,7 @@
private static final String CPU_LABEL = "Cpu.label"; //$NON-NLS-1$
private static final String MEMORY_LABEL = "Memory.label"; //$NON-NLS-1$
private static final String STORAGE_LABEL = "Storage.label"; //$NON-NLS-1$
+ private static final String DEFAULTED = "Defaulted"; //$NON-NLS-1$
private Composite container;
private DeltaCloudHardwareProfile profile;
@@ -94,11 +95,11 @@
storageLabel.setText(WizardMessages.getString(STORAGE_LABEL));
DeltaCloudHardwareProperty cpuProperty = profile.getNamedProperty("cpu");
//$NON-NLS-1$
+ FormData fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(0, 0);
+ cpuLabel.setLayoutData(fd);
if (cpuProperty != null) {
- FormData fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(0, 0);
- cpuLabel.setLayoutData(fd);
if (cpuProperty.getKind() == DeltaCloudHardwareProperty.Kind.FIXED) {
Label cpu = new Label(container, SWT.NULL);
cpu.setText(cpuProperty.getValue());
@@ -134,20 +135,28 @@
cpuControl = cpuCombo;
}
String cpuUnit = cpuProperty.getUnit();
- if (cpuUnit != null && !cpuUnit.equals("label")) { //$NON-NLS-1$
+ if (cpuUnit != null && !cpuUnit.equals("label") &&
!cpuUnit.equals("count")) { //$NON-NLS-1$ //$NON-NLS-1$
Label unitLabel = new Label(container, SWT.NULL);
unitLabel.setText(cpuProperty.getUnit());
FormData f = new FormData();
f.left = new FormAttachment(cpuControl, 5);
unitLabel.setLayoutData(f);
}
+ } else {
+ Label cpu = new Label(container, SWT.NULL);
+ cpu.setText(WizardMessages.getString(DEFAULTED));
+ FormData f = new FormData();
+ f.left = new FormAttachment(storageLabel, 50);
+ f.right = new FormAttachment(100, 0);
+ cpu.setLayoutData(f);
+ cpuControl = cpu;
}
DeltaCloudHardwareProperty memoryProperty =
profile.getNamedProperty("memory"); //$NON-NLS-1$
+ fd = new FormData();
+ fd.left = new FormAttachment(cpuLabel, 0, SWT.LEFT);
+ fd.top = new FormAttachment(cpuLabel, 8);
+ memoryLabel.setLayoutData(fd);
if (memoryProperty != null) {
- FormData fd = new FormData();
- fd.left = new FormAttachment(cpuLabel, 0, SWT.LEFT);
- fd.top = new FormAttachment(cpuLabel, 8);
- memoryLabel.setLayoutData(fd);
if (memoryProperty.getKind() == DeltaCloudHardwareProperty.Kind.FIXED) {
Label memory = new Label(container, SWT.NULL);
memory.setText(memoryProperty.getValue());
@@ -229,13 +238,22 @@
f.top = new FormAttachment(cpuControl, 8);
unitLabel.setLayoutData(f);
}
+ } else {
+ Label memory = new Label(container, SWT.NULL);
+ memory.setText(WizardMessages.getString(DEFAULTED));
+ FormData f = new FormData();
+ f.top = new FormAttachment(cpuControl, 8);
+ f.left = new FormAttachment(storageLabel, 50);
+ f.right = new FormAttachment(100, 0);
+ memory.setLayoutData(f);
+ memoryControl = memory;
}
DeltaCloudHardwareProperty storageProperty =
profile.getNamedProperty("storage"); //$NON-NLS-1$
+ fd = new FormData();
+ fd.left = new FormAttachment(cpuLabel, 0, SWT.LEFT);
+ fd.top = new FormAttachment(memoryControl, 8);
+ storageLabel.setLayoutData(fd);
if (storageProperty != null) {
- FormData fd = new FormData();
- fd.left = new FormAttachment(cpuLabel, 0, SWT.LEFT);
- fd.top = new FormAttachment(memoryControl, 8);
- storageLabel.setLayoutData(fd);
if (storageProperty.getKind() == DeltaCloudHardwareProperty.Kind.FIXED) {
Label storage = new Label(container, SWT.NULL);
storage.setText(storageProperty.getValue());
@@ -319,6 +337,16 @@
unitLabel.setLayoutData(f);
}
+ } else {
+ Label storage = new Label(container, SWT.NULL);
+ storage.setText(WizardMessages.getString(DEFAULTED));
+ FormData f = new FormData();
+ f.left = new FormAttachment(storageLabel, 50);
+ f.top = new FormAttachment(memoryControl, 8);
+ f.right = new FormAttachment(100, 0);
+ storage.setLayoutData(f);
+ storage.setVisible(true);
+ storageControl = storage;
}
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java 2010-08-06
19:25:49 UTC (rev 23982)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.java 2010-08-06
23:00:14 UTC (rev 23983)
@@ -1,5 +1,6 @@
package org.jboss.tools.internal.deltacloud.ui.wizards;
+import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
@@ -15,6 +16,14 @@
} catch (NullPointerException e) {
return '#' + key + '#';
}
- }
+ }
+
+ public static String getFormattedString(String key, String arg) {
+ return MessageFormat.format(getString(key), new Object[] { arg });
+ }
+ public static String getFormattedString(String key, String[] args) {
+ return MessageFormat.format(getString(key), (Object[])args);
+ }
+
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties 2010-08-06
19:25:49 UTC (rev 23982)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties 2010-08-06
23:00:14 UTC (rev 23983)
@@ -17,8 +17,20 @@
Properties.label=Profile Properties
Cpu.label=CPUs:
Memory.label=Memory:
+Realm.label=Realm:
Storage.label=Storage:
+None.response=None
+Defaulted=Defaulted
+
+CreateInstanceError.title=Create Instance Failure
+CreateInstanceError.msg=The attempt to create instance: name={0}, image={1}, realm={2},
profile={3}
+CreateInstanceErrorReason.msg=Server did not create instance
+
+ConfirmCreate.title=Confirm Create Instance
+ConfirmCreate.msg=Creating an instance will end up starting it. This may result in
financial charges. Do you wish to continue?
+DontShowThisAgain.msg=Don't show this dialog again
+
EC2UserNameLink.text=For EC2 use the <a
href="https://console.aws.amazon.com/ec2/home">Access ID</a>
EC2PasswordLink.text=For EC2 use the <a
href="https://console.aws.amazon.com/ec2/home">Access Secret Key</a>