You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/09/07 19:31:19 UTC

[1/2] airavata git commit: AIRAVATA-2500 Added additional info field for SSH Account Provisioners

Repository: airavata
Updated Branches:
  refs/heads/AIRAVATA-2500 f139d5be0 -> 99e27566e


AIRAVATA-2500 Added additional info field for SSH Account Provisioners

This field is meant to contain additional information or instructions to
the user. First use case is to give user information on how to obtain a
cluster account when the SSHAccountProvisioner is not able to
automatically create the account.


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c102df7f
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c102df7f
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c102df7f

Branch: refs/heads/AIRAVATA-2500
Commit: c102df7f7201ca1e4af1466319f6799e7bd5d79d
Parents: f139d5b
Author: Marcus Christie <ma...@apache.org>
Authored: Thu Sep 7 14:47:06 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu Sep 7 14:47:06 2017 -0400

----------------------------------------------------------------------
 .../app/catalog/impl/GwyResourceProfileImpl.java  |  2 ++
 .../catalog/model/ComputeResourcePreference.java  | 10 ++++++++++
 .../resources/ComputeHostPreferenceResource.java  | 18 +++++++++++++++---
 .../core/app/catalog/util/AppCatalogJPAUtils.java |  1 +
 .../catalog/util/AppCatalogThriftConversion.java  |  1 +
 .../src/main/resources/appcatalog-derby.sql       |  1 +
 .../src/main/resources/appcatalog-mysql.sql       |  1 +
 .../DeltaScripts/appCatalog_schema_delta.sql      |  1 +
 .../gateway_resource_profile_model.thrift         |  3 ++-
 9 files changed, 34 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/GwyResourceProfileImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/GwyResourceProfileImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/GwyResourceProfileImpl.java
index 78a6f0f..aba25c7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/GwyResourceProfileImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/GwyResourceProfileImpl.java
@@ -94,6 +94,7 @@ public class GwyResourceProfileImpl implements GwyResourceProfile {
                         Map<String,String> sshAccountProvisionerConfigurationsCopy = new HashMap<>(preference.getSshAccountProvisionerConfig());
                         resource.setSshAccountProvisionerConfigurations(sshAccountProvisionerConfigurationsCopy);
                     }
+                    resource.setSshAccountProvisionerAdditionalInfo(preference.getSshAccountProvisionerAdditionalInfo());
                     resource.save();
                 }
             }
@@ -164,6 +165,7 @@ public class GwyResourceProfileImpl implements GwyResourceProfile {
                         Map<String,String> sshAccountProvisionerConfigurationsCopy = new HashMap<>(preference.getSshAccountProvisionerConfig());
                         resource.setSshAccountProvisionerConfigurations(sshAccountProvisionerConfigurationsCopy);
                     }
+                    resource.setSshAccountProvisionerAdditionalInfo(preference.getSshAccountProvisionerAdditionalInfo());
                     resource.save();
                 }
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResourcePreference.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResourcePreference.java
index 20f55d4..67402f4 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResourcePreference.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ComputeResourcePreference.java
@@ -62,6 +62,8 @@ public class ComputeResourcePreference {
     private Timestamp reservationEndTime;
     @Column(name = "SSH_ACCOUNT_PROVISIONER")
     private String sshAccountProvisioner;
+    @Column(name = "SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO")
+    private String sshAccountProvisionerAdditionalInfo;
 
 
     @ManyToOne(cascade= CascadeType.MERGE)
@@ -227,4 +229,12 @@ public class ComputeResourcePreference {
     public void setSshAccountProvisionerConfigurations(Collection<SSHAccountProvisionerConfiguration> sshAccountProvisionerConfigurations) {
         this.sshAccountProvisionerConfigurations = sshAccountProvisionerConfigurations;
     }
+
+    public String getSshAccountProvisionerAdditionalInfo() {
+        return sshAccountProvisionerAdditionalInfo;
+    }
+
+    public void setSshAccountProvisionerAdditionalInfo(String sshAccountProvisionerAdditionalInfo) {
+        this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
index 1320025..7203009 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
@@ -55,6 +55,7 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
     private Timestamp reservationEndTime;
     private String sshAccountProvisioner;
     private Map<String,String> sshAccountProvisionerConfigurations;
+    private String sshAccountProvisionerAdditionalInfo;
 
     private GatewayProfileResource gatewayProfile;
     private ComputeResourceResource computeHostResource;
@@ -215,6 +216,14 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
         this.sshAccountProvisionerConfigurations = sshAccountProvisionerConfigurations;
     }
 
+    public String getSshAccountProvisionerAdditionalInfo() {
+        return sshAccountProvisionerAdditionalInfo;
+    }
+
+    public void setSshAccountProvisionerAdditionalInfo(String sshAccountProvisionerAdditionalInfo) {
+        this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
+    }
+
     @Override
     public void remove(Object identifier) throws AppCatalogException {
         HashMap<String, String> ids;
@@ -456,6 +465,7 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
                 } else {
                     existingPreference.setSshAccountProvisionerConfigurations(null);
                 }
+                existingPreference.setSshAccountProvisionerAdditionalInfo(sshAccountProvisionerAdditionalInfo);
                 em.merge(existingPreference);
             } else {
                 ComputeResourcePreference resourcePreference = new ComputeResourcePreference();
@@ -476,15 +486,17 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
                 resourcePreference.setReservation(reservation);
                 resourcePreference.setReservationStartTime(reservationStartTime);
                 resourcePreference.setReservationEndTime(reservationEndTime);
-                existingPreference.setSshAccountProvisioner(sshAccountProvisioner);
+                resourcePreference.setSshAccountProvisioner(sshAccountProvisioner);
                 if (sshAccountProvisionerConfigurations != null && !sshAccountProvisionerConfigurations.isEmpty()){
                     List<SSHAccountProvisionerConfiguration> configurations = new ArrayList<>();
                     for (String sshAccountProvisionerConfigName : sshAccountProvisionerConfigurations.keySet()) {
                         String value = sshAccountProvisionerConfigurations.get(sshAccountProvisionerConfigName);
-                        configurations.add(new SSHAccountProvisionerConfiguration(sshAccountProvisionerConfigName, value, existingPreference));
+                        configurations.add(new SSHAccountProvisionerConfiguration(sshAccountProvisionerConfigName, value, resourcePreference));
                     }
-                    existingPreference.setSshAccountProvisionerConfigurations(configurations);
+                    resourcePreference.setSshAccountProvisionerConfigurations(configurations);
                 }
+                resourcePreference.setSshAccountProvisionerAdditionalInfo(sshAccountProvisionerAdditionalInfo);
+
                 em.persist(resourcePreference);
             }
             em.getTransaction().commit();

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index f794078..c41e8a2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -965,6 +965,7 @@ public class AppCatalogJPAUtils {
                 }
                 resource.setSshAccountProvisionerConfigurations(sshAccountProvisionerConfigurations);
             }
+            resource.setSshAccountProvisionerAdditionalInfo(o.getSshAccountProvisionerAdditionalInfo());
         }
         return resource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index 1a85454..09258a2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -880,6 +880,7 @@ public class AppCatalogThriftConversion {
             Map<String, String> sshAccountProvisionerConfigCopy = new HashMap<>(resource.getSshAccountProvisionerConfigurations());
             preference.setSshAccountProvisionerConfig(sshAccountProvisionerConfigCopy);
         }
+        preference.setSshAccountProvisionerAdditionalInfo(resource.getSshAccountProvisionerAdditionalInfo());
         return preference;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
index df4ebb1..c57549e 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -357,6 +357,7 @@ CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
         RESERVATION_START_TIME timestamp,
         RESERVATION_END_TIME timestamp,
         SSH_ACCOUNT_PROVISIONER VARCHAR(255),
+        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
         PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
         FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index 54886b1..6c07499 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -356,6 +356,7 @@ CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
         RESERVATION_START_TIME timestamp,
         RESERVATION_END_TIME timestamp,
         SSH_ACCOUNT_PROVISIONER VARCHAR(255),
+        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
         PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
         FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/modules/registry/release-migration-scripts/0.18-0.19/DeltaScripts/appCatalog_schema_delta.sql
----------------------------------------------------------------------
diff --git a/modules/registry/release-migration-scripts/0.18-0.19/DeltaScripts/appCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/0.18-0.19/DeltaScripts/appCatalog_schema_delta.sql
index bf31b6b..36fc66b 100644
--- a/modules/registry/release-migration-scripts/0.18-0.19/DeltaScripts/appCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/0.18-0.19/DeltaScripts/appCatalog_schema_delta.sql
@@ -19,6 +19,7 @@
 --
 
 alter table COMPUTE_RESOURCE_PREFERENCE add SSH_ACCOUNT_PROVISIONER VARCHAR(255);
+alter table COMPUTE_RESOURCE_PREFERENCE add SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000);
 
 CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
 (

http://git-wip-us.apache.org/repos/asf/airavata/blob/c102df7f/thrift-interface-descriptions/data-models/resource-catalog-models/gateway_resource_profile_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/gateway_resource_profile_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/gateway_resource_profile_model.thrift
index 87ca433..7280850 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/gateway_resource_profile_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/gateway_resource_profile_model.thrift
@@ -77,7 +77,8 @@ struct ComputeResourcePreference {
     13: optional i64 reservationStartTime,
     14: optional i64 reservationEndTime,
     15: optional string sshAccountProvisioner,
-    16: optional map<string, string> sshAccountProvisionerConfig
+    16: optional map<string, string> sshAccountProvisionerConfig,
+    17: optional string sshAccountProvisionerAdditionalInfo
 }
 
 struct StoragePreference {


[2/2] airavata git commit: AIRAVATA-2500 Thrift stub code generation

Posted by ma...@apache.org.
AIRAVATA-2500 Thrift stub code generation


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/99e27566
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/99e27566
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/99e27566

Branch: refs/heads/AIRAVATA-2500
Commit: 99e27566ec8ac9395d85aa8daae48c3d4cdbe92f
Parents: c102df7
Author: Marcus Christie <ma...@apache.org>
Authored: Thu Sep 7 15:16:43 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu Sep 7 15:16:43 2017 -0400

----------------------------------------------------------------------
 .../Model/AppCatalog/GatewayProfile/Types.php   |  23 ++++
 .../ComputeResourcePreference.java              | 114 ++++++++++++++++++-
 2 files changed, 133 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/99e27566/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
index da3071a..63e39bc 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
@@ -118,6 +118,10 @@ class ComputeResourcePreference {
    * @var array
    */
   public $sshAccountProvisionerConfig = null;
+  /**
+   * @var string
+   */
+  public $sshAccountProvisionerAdditionalInfo = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -194,6 +198,10 @@ class ComputeResourcePreference {
             'type' => TType::STRING,
             ),
           ),
+        17 => array(
+          'var' => 'sshAccountProvisionerAdditionalInfo',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -245,6 +253,9 @@ class ComputeResourcePreference {
       if (isset($vals['sshAccountProvisionerConfig'])) {
         $this->sshAccountProvisionerConfig = $vals['sshAccountProvisionerConfig'];
       }
+      if (isset($vals['sshAccountProvisionerAdditionalInfo'])) {
+        $this->sshAccountProvisionerAdditionalInfo = $vals['sshAccountProvisionerAdditionalInfo'];
+      }
     }
   }
 
@@ -392,6 +403,13 @@ class ComputeResourcePreference {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 17:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->sshAccountProvisionerAdditionalInfo);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -498,6 +516,11 @@ class ComputeResourcePreference {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->sshAccountProvisionerAdditionalInfo !== null) {
+      $xfer += $output->writeFieldBegin('sshAccountProvisionerAdditionalInfo', TType::STRING, 17);
+      $xfer += $output->writeString($this->sshAccountProvisionerAdditionalInfo);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/99e27566/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 3edf60c..d758e9d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -105,6 +105,7 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
   private static final org.apache.thrift.protocol.TField RESERVATION_END_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("reservationEndTime", org.apache.thrift.protocol.TType.I64, (short)14);
   private static final org.apache.thrift.protocol.TField SSH_ACCOUNT_PROVISIONER_FIELD_DESC = new org.apache.thrift.protocol.TField("sshAccountProvisioner", org.apache.thrift.protocol.TType.STRING, (short)15);
   private static final org.apache.thrift.protocol.TField SSH_ACCOUNT_PROVISIONER_CONFIG_FIELD_DESC = new org.apache.thrift.protocol.TField("sshAccountProvisionerConfig", org.apache.thrift.protocol.TType.MAP, (short)16);
+  private static final org.apache.thrift.protocol.TField SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("sshAccountProvisionerAdditionalInfo", org.apache.thrift.protocol.TType.STRING, (short)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -128,6 +129,7 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
   private long reservationEndTime; // optional
   private String sshAccountProvisioner; // optional
   private Map<String,String> sshAccountProvisionerConfig; // optional
+  private String sshAccountProvisionerAdditionalInfo; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -154,7 +156,8 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
     RESERVATION_START_TIME((short)13, "reservationStartTime"),
     RESERVATION_END_TIME((short)14, "reservationEndTime"),
     SSH_ACCOUNT_PROVISIONER((short)15, "sshAccountProvisioner"),
-    SSH_ACCOUNT_PROVISIONER_CONFIG((short)16, "sshAccountProvisionerConfig");
+    SSH_ACCOUNT_PROVISIONER_CONFIG((short)16, "sshAccountProvisionerConfig"),
+    SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO((short)17, "sshAccountProvisionerAdditionalInfo");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -201,6 +204,8 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
           return SSH_ACCOUNT_PROVISIONER;
         case 16: // SSH_ACCOUNT_PROVISIONER_CONFIG
           return SSH_ACCOUNT_PROVISIONER_CONFIG;
+        case 17: // SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO
+          return SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO;
         default:
           return null;
       }
@@ -245,7 +250,7 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
   private static final int __RESERVATIONSTARTTIME_ISSET_ID = 1;
   private static final int __RESERVATIONENDTIME_ISSET_ID = 2;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.LOGIN_USER_NAME,_Fields.PREFERRED_JOB_SUBMISSION_PROTOCOL,_Fields.PREFERRED_DATA_MOVEMENT_PROTOCOL,_Fields.PREFERRED_BATCH_QUEUE,_Fields.SCRATCH_LOCATION,_Fields.ALLOCATION_PROJECT_NUMBER,_Fields.RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN,_Fields.USAGE_REPORTING_GATEWAY_ID,_Fields.QUALITY_OF_SERVICE,_Fields.RESERVATION,_Fields.RESERVATION_START_TIME,_Fields.RESERVATION_END_TIME,_Fields.SSH_ACCOUNT_PROVISIONER,_Fields.SSH_ACCOUNT_PROVISIONER_CONFIG};
+  private static final _Fields optionals[] = {_Fields.LOGIN_USER_NAME,_Fields.PREFERRED_JOB_SUBMISSION_PROTOCOL,_Fields.PREFERRED_DATA_MOVEMENT_PROTOCOL,_Fields.PREFERRED_BATCH_QUEUE,_Fields.SCRATCH_LOCATION,_Fields.ALLOCATION_PROJECT_NUMBER,_Fields.RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN,_Fields.USAGE_REPORTING_GATEWAY_ID,_Fields.QUALITY_OF_SERVICE,_Fields.RESERVATION,_Fields.RESERVATION_START_TIME,_Fields.RESERVATION_END_TIME,_Fields.SSH_ACCOUNT_PROVISIONER,_Fields.SSH_ACCOUNT_PROVISIONER_CONFIG,_Fields.SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -283,6 +288,8 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
         new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO, new org.apache.thrift.meta_data.FieldMetaData("sshAccountProvisionerAdditionalInfo", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputeResourcePreference.class, metaDataMap);
   }
@@ -350,6 +357,9 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       Map<String,String> __this__sshAccountProvisionerConfig = new HashMap<String,String>(other.sshAccountProvisionerConfig);
       this.sshAccountProvisionerConfig = __this__sshAccountProvisionerConfig;
     }
+    if (other.isSetSshAccountProvisionerAdditionalInfo()) {
+      this.sshAccountProvisionerAdditionalInfo = other.sshAccountProvisionerAdditionalInfo;
+    }
   }
 
   public ComputeResourcePreference deepCopy() {
@@ -377,6 +387,7 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
     this.reservationEndTime = 0;
     this.sshAccountProvisioner = null;
     this.sshAccountProvisionerConfig = null;
+    this.sshAccountProvisionerAdditionalInfo = null;
   }
 
   public String getComputeResourceId() {
@@ -771,6 +782,29 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
     }
   }
 
+  public String getSshAccountProvisionerAdditionalInfo() {
+    return this.sshAccountProvisionerAdditionalInfo;
+  }
+
+  public void setSshAccountProvisionerAdditionalInfo(String sshAccountProvisionerAdditionalInfo) {
+    this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
+  }
+
+  public void unsetSshAccountProvisionerAdditionalInfo() {
+    this.sshAccountProvisionerAdditionalInfo = null;
+  }
+
+  /** Returns true if field sshAccountProvisionerAdditionalInfo is set (has been assigned a value) and false otherwise */
+  public boolean isSetSshAccountProvisionerAdditionalInfo() {
+    return this.sshAccountProvisionerAdditionalInfo != null;
+  }
+
+  public void setSshAccountProvisionerAdditionalInfoIsSet(boolean value) {
+    if (!value) {
+      this.sshAccountProvisionerAdditionalInfo = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -901,6 +935,14 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       }
       break;
 
+    case SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO:
+      if (value == null) {
+        unsetSshAccountProvisionerAdditionalInfo();
+      } else {
+        setSshAccountProvisionerAdditionalInfo((String)value);
+      }
+      break;
+
     }
   }
 
@@ -954,6 +996,9 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
     case SSH_ACCOUNT_PROVISIONER_CONFIG:
       return getSshAccountProvisionerConfig();
 
+    case SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO:
+      return getSshAccountProvisionerAdditionalInfo();
+
     }
     throw new IllegalStateException();
   }
@@ -997,6 +1042,8 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       return isSetSshAccountProvisioner();
     case SSH_ACCOUNT_PROVISIONER_CONFIG:
       return isSetSshAccountProvisionerConfig();
+    case SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO:
+      return isSetSshAccountProvisionerAdditionalInfo();
     }
     throw new IllegalStateException();
   }
@@ -1158,6 +1205,15 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
         return false;
     }
 
+    boolean this_present_sshAccountProvisionerAdditionalInfo = true && this.isSetSshAccountProvisionerAdditionalInfo();
+    boolean that_present_sshAccountProvisionerAdditionalInfo = true && that.isSetSshAccountProvisionerAdditionalInfo();
+    if (this_present_sshAccountProvisionerAdditionalInfo || that_present_sshAccountProvisionerAdditionalInfo) {
+      if (!(this_present_sshAccountProvisionerAdditionalInfo && that_present_sshAccountProvisionerAdditionalInfo))
+        return false;
+      if (!this.sshAccountProvisionerAdditionalInfo.equals(that.sshAccountProvisionerAdditionalInfo))
+        return false;
+    }
+
     return true;
   }
 
@@ -1245,6 +1301,11 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
     if (present_sshAccountProvisionerConfig)
       list.add(sshAccountProvisionerConfig);
 
+    boolean present_sshAccountProvisionerAdditionalInfo = true && (isSetSshAccountProvisionerAdditionalInfo());
+    list.add(present_sshAccountProvisionerAdditionalInfo);
+    if (present_sshAccountProvisionerAdditionalInfo)
+      list.add(sshAccountProvisionerAdditionalInfo);
+
     return list.hashCode();
   }
 
@@ -1416,6 +1477,16 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetSshAccountProvisionerAdditionalInfo()).compareTo(other.isSetSshAccountProvisionerAdditionalInfo());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSshAccountProvisionerAdditionalInfo()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sshAccountProvisionerAdditionalInfo, other.sshAccountProvisionerAdditionalInfo);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1579,6 +1650,16 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       }
       first = false;
     }
+    if (isSetSshAccountProvisionerAdditionalInfo()) {
+      if (!first) sb.append(", ");
+      sb.append("sshAccountProvisionerAdditionalInfo:");
+      if (this.sshAccountProvisionerAdditionalInfo == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.sshAccountProvisionerAdditionalInfo);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1772,6 +1853,14 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 17: // SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.sshAccountProvisionerAdditionalInfo = iprot.readString();
+              struct.setSshAccountProvisionerAdditionalInfoIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1895,6 +1984,13 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
           oprot.writeFieldEnd();
         }
       }
+      if (struct.sshAccountProvisionerAdditionalInfo != null) {
+        if (struct.isSetSshAccountProvisionerAdditionalInfo()) {
+          oprot.writeFieldBegin(SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO_FIELD_DESC);
+          oprot.writeString(struct.sshAccountProvisionerAdditionalInfo);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1957,7 +2053,10 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       if (struct.isSetSshAccountProvisionerConfig()) {
         optionals.set(13);
       }
-      oprot.writeBitSet(optionals, 14);
+      if (struct.isSetSshAccountProvisionerAdditionalInfo()) {
+        optionals.set(14);
+      }
+      oprot.writeBitSet(optionals, 15);
       if (struct.isSetLoginUserName()) {
         oprot.writeString(struct.loginUserName);
       }
@@ -2007,6 +2106,9 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
           }
         }
       }
+      if (struct.isSetSshAccountProvisionerAdditionalInfo()) {
+        oprot.writeString(struct.sshAccountProvisionerAdditionalInfo);
+      }
     }
 
     @Override
@@ -2016,7 +2118,7 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
       struct.setComputeResourceIdIsSet(true);
       struct.overridebyAiravata = iprot.readBool();
       struct.setOverridebyAiravataIsSet(true);
-      BitSet incoming = iprot.readBitSet(14);
+      BitSet incoming = iprot.readBitSet(15);
       if (incoming.get(0)) {
         struct.loginUserName = iprot.readString();
         struct.setLoginUserNameIsSet(true);
@@ -2084,6 +2186,10 @@ public class ComputeResourcePreference implements org.apache.thrift.TBase<Comput
         }
         struct.setSshAccountProvisionerConfigIsSet(true);
       }
+      if (incoming.get(14)) {
+        struct.sshAccountProvisionerAdditionalInfo = iprot.readString();
+        struct.setSshAccountProvisionerAdditionalInfoIsSet(true);
+      }
     }
   }