diff --git a/modules/cloud_service_providers/aws_cloud/aws_cloud.module b/modules/cloud_service_providers/aws_cloud/aws_cloud.module
index fa9d04c..f405d08 100644
--- a/modules/cloud_service_providers/aws_cloud/aws_cloud.module
+++ b/modules/cloud_service_providers/aws_cloud/aws_cloud.module
@@ -441,8 +441,17 @@ function aws_cloud_query_aws_cloud_instance_views_access_alter(AlterableInterfac
  * Add termination options to the server template launch form.
  */
 function aws_cloud_form_cloud_server_template_aws_cloud_launch_form_alter(&$form, FormStateInterface $form_state, $form_id) {
+  $form['automation'] = [
+    '#type' => 'details',
+    '#title' => t('Automation'),
+    '#open' => TRUE,
+  ];
+
+  $form['automation']['description'] = $form['description'];
+  unset($form['description']);
+
   $config = \Drupal::config('aws_cloud.settings');
-  $form['terminate'] = [
+  $form['automation']['terminate'] = [
     '#type' => 'checkbox',
     '#title' => t('Automatically terminate instance'),
     '#description' => t('Terminate instance automatically.  Specify termination date in the date picker below.'),
@@ -450,7 +459,7 @@ function aws_cloud_form_cloud_server_template_aws_cloud_launch_form_alter(&$form
   ];
 
   // @TODO: make 30 days configurable
-  $form['termination_date'] = [
+  $form['automation']['termination_date'] = [
     '#type' => 'datetime',
     '#title' => t('Termination Date'),
     '#description' => t('The default termination date is 30 days into the future'),
@@ -460,7 +469,7 @@ function aws_cloud_form_cloud_server_template_aws_cloud_launch_form_alter(&$form
   /* @var \Drupal\cloud_server_template\Entity\CloudServerTemplate $cloud_server_template */
   $cloud_server_template = \Drupal::routeMatch()->getParameter('cloud_server_template');
 
-  $form['schedule'] = [
+  $form['automation']['schedule'] = [
     '#title' => t('Schedule'),
     '#type' => 'select',
     '#default_value' => $cloud_server_template->get('field_schedule')->value,
@@ -470,11 +479,32 @@ function aws_cloud_form_cloud_server_template_aws_cloud_launch_form_alter(&$form
   if ($cloud_server_template->get('field_instance_shutdown_behavior')->value == 'terminate') {
     // Add a warning message setting a schedule will terminate the instance,
     // since the shutdown behavior is terminate
-    $form['terminate_message'] = [
+    $form['automation']['terminate_message'] = [
       '#markup' => t('Setting a schedule will potentially terminate the instance since the <strong>%text</strong> is set to Terminate',
         ['%text' => 'Instance Shutdown Behavior']),
     ];
   }
+
+  $view_builder = \Drupal::entityTypeManager()->getViewBuilder('cloud_server_template');
+  $build = $view_builder->view($cloud_server_template, 'view');
+  unset($build['#weight']);
+  $build['#pre_render'][] = 'aws_cloud_server_template_reorder';
+  $form['detail'] = $build;
+}
+
+/**
+ * Reorder fields of aws cloud server template.
+ *
+ * @param array $build
+ *   Build array.
+ *
+ * @return array
+ *   Build array reordered.
+ */
+function aws_cloud_server_template_reorder(array $build) {
+  $build['name']['#label_display'] = 'inline';
+  aws_cloud_form_reorder($build, aws_cloud_server_template_field_orders());
+  return $build;
 }
 
 /**
@@ -512,7 +542,43 @@ function aws_cloud_preprocess_field_multiple_value_form(&$variables) {
  * Common alter function for cloud_server_template_aws_cloud_edit_form and cloud_server_template_aws_cloud_add_form.
  */
 function aws_cloud_form_cloud_server_template_aws_cloud_form_common_alter(&$form, FormStateInterface $form_state, $form_id) {
-  aws_cloud_form_reorder($form, [
+  aws_cloud_form_reorder($form, aws_cloud_server_template_field_orders());
+
+  $form['network']['field_vpc']['widget']['#ajax'] = [
+    'callback' => 'aws_cloud_ajax_callback_get_fields',
+  ];
+
+  $vpc_id = '_none';
+  if (!empty($form['network']['field_vpc']['widget']['#default_value'])) {
+    $vpc_id = $form['network']['field_vpc']['widget']['#default_value'][0];
+  }
+
+  // If validation happened, we should get vpc_id from user input.
+  $user_input = $form_state->getUserInput();
+  if (isset($user_input['field_vpc'])) {
+    $vpc_id = $user_input['field_vpc'];
+  }
+
+  $subnet_options = aws_cloud_get_subnet_options_by_vpc_id($vpc_id, $form_state->getFormObject()->getEntity());
+  $form['#attached']['library'][] = 'aws_cloud/aws_cloud_form';
+  $form['#attached']['drupalSettings']['aws_cloud']['field_subnet_default_values']
+    = array_keys($subnet_options);
+
+  $security_group_options = aws_cloud_get_security_group_options_by_vpc_id($vpc_id);
+  $security_group_default_values = [];
+  foreach ($security_group_options as $id => $security_group_option) {
+    $security_group_default_values[] = strval($id);
+  }
+
+  $form['#attached']['drupalSettings']['aws_cloud']['field_security_group_default_values']
+    = $security_group_default_values;
+}
+
+/**
+ * Return orders of aws cloud server template fields.
+ */
+function aws_cloud_server_template_field_orders() {
+  return [
     [
       'name' => 'instance',
       'title' => t('Instance'),
@@ -570,36 +636,7 @@ function aws_cloud_form_cloud_server_template_aws_cloud_form_common_alter(&$form
         'revision_log_message',
       ],
     ],
-  ]);
-
-  $form['network']['field_vpc']['widget']['#ajax'] = [
-    'callback' => 'aws_cloud_ajax_callback_get_fields',
   ];
-
-  $vpc_id = '_none';
-  if (!empty($form['network']['field_vpc']['widget']['#default_value'])) {
-    $vpc_id = $form['network']['field_vpc']['widget']['#default_value'][0];
-  }
-
-  // If validation happened, we should get vpc_id from user input.
-  $user_input = $form_state->getUserInput();
-  if (isset($user_input['field_vpc'])) {
-    $vpc_id = $user_input['field_vpc'];
-  }
-
-  $subnet_options = aws_cloud_get_subnet_options_by_vpc_id($vpc_id, $form_state->getFormObject()->getEntity());
-  $form['#attached']['library'][] = 'aws_cloud/aws_cloud_form';
-  $form['#attached']['drupalSettings']['aws_cloud']['field_subnet_default_values']
-    = array_keys($subnet_options);
-
-  $security_group_options = aws_cloud_get_security_group_options_by_vpc_id($vpc_id);
-  $security_group_default_values = [];
-  foreach ($security_group_options as $id => $security_group_option) {
-    $security_group_default_values[] = strval($id);
-  }
-
-  $form['#attached']['drupalSettings']['aws_cloud']['field_security_group_default_values']
-    = $security_group_default_values;
 }
 
 /**
@@ -1177,4 +1214,4 @@ function _aws_cloud_get_instance_type_cache_key($cloud_config) {
  */
 function _aws_cloud_get_instance_type_state_key($cloud_config) {
   return 'aws_cloud_next_instance_import_' . $cloud_config->get('field_region')->value;
-}
\ No newline at end of file
+}
