airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Marru <sma...@apache.org>
Subject Re: git commit: Added monitor mode enum to computeResourceModel.thrift and changed ComputerResourcePreference's preferred JobSubmission and DataMovement protocols types to their enums
Date Thu, 30 Oct 2014 17:31:06 GMT
Hi Shameera,

I added a comment on the github commit [1]. I guess out comment notifications are not working. Can you please addess it? Its towards end of the page in computeResourceModel.thrift for adding a monitoring mode.

[1] - https://github.com/apache/airavata/commit/a15be7ca5056249c6a623c8177f51393349b9942

On Oct 30, 2014, at 12:21 PM, shameera@apache.org wrote:

> Repository: airavata
> Updated Branches:
>  refs/heads/gfac_appcatalog_int 0cacb10e0 -> a15be7ca5
> 
> 
> Added monitor mode enum to computeResourceModel.thrift and changed ComputerResourcePreference's preferred JobSubmission and DataMovement protocols types to their enums
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
> Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/a15be7ca
> Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/a15be7ca
> Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/a15be7ca
> 
> Branch: refs/heads/gfac_appcatalog_int
> Commit: a15be7ca5056249c6a623c8177f51393349b9942
> Parents: 0cacb10
> Author: shamrath <shameerainfo@gmail.com>
> Authored: Thu Oct 30 12:20:54 2014 -0400
> Committer: shamrath <shameerainfo@gmail.com>
> Committed: Thu Oct 30 12:20:54 2014 -0400
> 
> ----------------------------------------------------------------------
> .../lib/airavata/computeResourceModel_types.cpp | 278 ++++++++++---------
> .../lib/airavata/computeResourceModel_types.h   |  36 ++-
> .../gatewayResourceProfileModel_types.cpp       |  48 ++--
> .../gatewayResourceProfileModel_types.h         |  19 +-
> .../Model/AppCatalog/ComputeResource/Types.php  |  29 ++
> .../Model/AppCatalog/GatewayProfile/Types.php   |  20 +-
> .../appcatalog/computeresource/MonitorMode.java |  73 +++++
> .../computeresource/ResourceJobManager.java     | 121 +++++++-
> .../ComputeResourcePreference.java              |  68 +++--
> .../computeResourceModel.thrift                 |  18 +-
> .../gatewayResourceProfileModel.thrift          |   5 +-
> 11 files changed, 511 insertions(+), 204 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
> index 2555cb8..27f62dd 100644
> --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
> +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
> @@ -61,6 +61,16 @@ const char* _kJobManagerCommandNames[] = {
> };
> const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
> 
> +int _kMonitorModeValues[] = {
> +  MonitorMode::PUSH,
> +  MonitorMode::PULL
> +};
> +const char* _kMonitorModeNames[] = {
> +  "PUSH",
> +  "PULL"
> +};
> +const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kMonitorModeValues, _kMonitorModeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
> +
> int _kFileSystemsValues[] = {
>   FileSystems::HOME,
>   FileSystems::WORK,
> @@ -137,8 +147,8 @@ const char* _kProviderNameNames[] = {
> };
> const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kProviderNameValues, _kProviderNameNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
> 
> -const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
> -const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
> +const char* ResourceJobManager::ascii_fingerprint = "83F3E1FB1C076C79A1E733A1E531B938";
> +const uint8_t ResourceJobManager::binary_fingerprint[16] = {0x83,0xF3,0xE1,0xFB,0x1C,0x07,0x6C,0x79,0xA1,0xE7,0x33,0xA1,0xE5,0x31,0xB9,0x38};
> 
> uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot) {
> 
> @@ -221,6 +231,16 @@ uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot)
>           xfer += iprot->skip(ftype);
>         }
>         break;
> +      case 6:
> +        if (ftype == ::apache::thrift::protocol::T_I32) {
> +          int32_t ecast9;
> +          xfer += iprot->readI32(ecast9);
> +          this->monitorMode = (MonitorMode::type)ecast9;
> +          this->__isset.monitorMode = true;
> +        } else {
> +          xfer += iprot->skip(ftype);
> +        }
> +        break;
>       default:
>         xfer += iprot->skip(ftype);
>         break;
> @@ -263,16 +283,21 @@ uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot)
>     xfer += oprot->writeFieldBegin("jobManagerCommands", ::apache::thrift::protocol::T_MAP, 5);
>     {
>       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->jobManagerCommands.size()));
> -      std::map<JobManagerCommand::type, std::string> ::const_iterator _iter9;
> -      for (_iter9 = this->jobManagerCommands.begin(); _iter9 != this->jobManagerCommands.end(); ++_iter9)
> +      std::map<JobManagerCommand::type, std::string> ::const_iterator _iter10;
> +      for (_iter10 = this->jobManagerCommands.begin(); _iter10 != this->jobManagerCommands.end(); ++_iter10)
>       {
> -        xfer += oprot->writeI32((int32_t)_iter9->first);
> -        xfer += oprot->writeString(_iter9->second);
> +        xfer += oprot->writeI32((int32_t)_iter10->first);
> +        xfer += oprot->writeString(_iter10->second);
>       }
>       xfer += oprot->writeMapEnd();
>     }
>     xfer += oprot->writeFieldEnd();
>   }
> +  if (this->__isset.monitorMode) {
> +    xfer += oprot->writeFieldBegin("monitorMode", ::apache::thrift::protocol::T_I32, 6);
> +    xfer += oprot->writeI32((int32_t)this->monitorMode);
> +    xfer += oprot->writeFieldEnd();
> +  }
>   xfer += oprot->writeFieldStop();
>   xfer += oprot->writeStructEnd();
>   return xfer;
> @@ -285,6 +310,7 @@ void swap(ResourceJobManager &a, ResourceJobManager &b) {
>   swap(a.pushMonitoringEndpoint, b.pushMonitoringEndpoint);
>   swap(a.jobManagerBinPath, b.jobManagerBinPath);
>   swap(a.jobManagerCommands, b.jobManagerCommands);
> +  swap(a.monitorMode, b.monitorMode);
>   swap(a.__isset, b.__isset);
> }
> 
> @@ -458,9 +484,9 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast10;
> -          xfer += iprot->readI32(ecast10);
> -          this->securityProtocol = (SecurityProtocol::type)ecast10;
> +          int32_t ecast11;
> +          xfer += iprot->readI32(ecast11);
> +          this->securityProtocol = (SecurityProtocol::type)ecast11;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -570,9 +596,9 @@ uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast11;
> -          xfer += iprot->readI32(ecast11);
> -          this->securityProtocol = (SecurityProtocol::type)ecast11;
> +          int32_t ecast12;
> +          xfer += iprot->readI32(ecast12);
> +          this->securityProtocol = (SecurityProtocol::type)ecast12;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -582,14 +608,14 @@ uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->gridFTPEndPoints.clear();
> -            uint32_t _size12;
> -            ::apache::thrift::protocol::TType _etype15;
> -            xfer += iprot->readListBegin(_etype15, _size12);
> -            this->gridFTPEndPoints.resize(_size12);
> -            uint32_t _i16;
> -            for (_i16 = 0; _i16 < _size12; ++_i16)
> +            uint32_t _size13;
> +            ::apache::thrift::protocol::TType _etype16;
> +            xfer += iprot->readListBegin(_etype16, _size13);
> +            this->gridFTPEndPoints.resize(_size13);
> +            uint32_t _i17;
> +            for (_i17 = 0; _i17 < _size13; ++_i17)
>             {
> -              xfer += iprot->readString(this->gridFTPEndPoints[_i16]);
> +              xfer += iprot->readString(this->gridFTPEndPoints[_i17]);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -631,10 +657,10 @@ uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot
>   xfer += oprot->writeFieldBegin("gridFTPEndPoints", ::apache::thrift::protocol::T_LIST, 3);
>   {
>     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoints.size()));
> -    std::vector<std::string> ::const_iterator _iter17;
> -    for (_iter17 = this->gridFTPEndPoints.begin(); _iter17 != this->gridFTPEndPoints.end(); ++_iter17)
> +    std::vector<std::string> ::const_iterator _iter18;
> +    for (_iter18 = this->gridFTPEndPoints.begin(); _iter18 != this->gridFTPEndPoints.end(); ++_iter18)
>     {
> -      xfer += oprot->writeString((*_iter17));
> +      xfer += oprot->writeString((*_iter18));
>     }
>     xfer += oprot->writeListEnd();
>   }
> @@ -688,9 +714,9 @@ uint32_t UnicoreDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast18;
> -          xfer += iprot->readI32(ecast18);
> -          this->securityProtocol = (SecurityProtocol::type)ecast18;
> +          int32_t ecast19;
> +          xfer += iprot->readI32(ecast19);
> +          this->securityProtocol = (SecurityProtocol::type)ecast19;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -750,8 +776,8 @@ void swap(UnicoreDataMovement &a, UnicoreDataMovement &b) {
>   swap(a.unicoreEndPointURL, b.unicoreEndPointURL);
> }
> 
> -const char* LOCALSubmission::ascii_fingerprint = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
> -const uint8_t LOCALSubmission::binary_fingerprint[16] = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
> +const char* LOCALSubmission::ascii_fingerprint = "D51508D1A661370F4785A01334DB8637";
> +const uint8_t LOCALSubmission::binary_fingerprint[16] = {0xD5,0x15,0x08,0xD1,0xA6,0x61,0x37,0x0F,0x47,0x85,0xA0,0x13,0x34,0xDB,0x86,0x37};
> 
> uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
> 
> @@ -894,8 +920,8 @@ void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
>   swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
> }
> 
> -const char* SSHJobSubmission::ascii_fingerprint = "8BC403A3B093DDB0CB8F04ED699DBA3D";
> -const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
> +const char* SSHJobSubmission::ascii_fingerprint = "BCAF073DD81C8F6A9ED716A45569D2B3";
> +const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xBC,0xAF,0x07,0x3D,0xD8,0x1C,0x8F,0x6A,0x9E,0xD7,0x16,0xA4,0x55,0x69,0xD2,0xB3};
> 
> uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
> 
> @@ -930,9 +956,9 @@ uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast19;
> -          xfer += iprot->readI32(ecast19);
> -          this->securityProtocol = (SecurityProtocol::type)ecast19;
> +          int32_t ecast20;
> +          xfer += iprot->readI32(ecast20);
> +          this->securityProtocol = (SecurityProtocol::type)ecast20;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1056,9 +1082,9 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast20;
> -          xfer += iprot->readI32(ecast20);
> -          this->securityProtocol = (SecurityProtocol::type)ecast20;
> +          int32_t ecast21;
> +          xfer += iprot->readI32(ecast21);
> +          this->securityProtocol = (SecurityProtocol::type)ecast21;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1068,14 +1094,14 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->globusGateKeeperEndPoint.clear();
> -            uint32_t _size21;
> -            ::apache::thrift::protocol::TType _etype24;
> -            xfer += iprot->readListBegin(_etype24, _size21);
> -            this->globusGateKeeperEndPoint.resize(_size21);
> -            uint32_t _i25;
> -            for (_i25 = 0; _i25 < _size21; ++_i25)
> +            uint32_t _size22;
> +            ::apache::thrift::protocol::TType _etype25;
> +            xfer += iprot->readListBegin(_etype25, _size22);
> +            this->globusGateKeeperEndPoint.resize(_size22);
> +            uint32_t _i26;
> +            for (_i26 = 0; _i26 < _size22; ++_i26)
>             {
> -              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i25]);
> +              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i26]);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1116,10 +1142,10 @@ uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
>     xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 3);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
> -      std::vector<std::string> ::const_iterator _iter26;
> -      for (_iter26 = this->globusGateKeeperEndPoint.begin(); _iter26 != this->globusGateKeeperEndPoint.end(); ++_iter26)
> +      std::vector<std::string> ::const_iterator _iter27;
> +      for (_iter27 = this->globusGateKeeperEndPoint.begin(); _iter27 != this->globusGateKeeperEndPoint.end(); ++_iter27)
>       {
> -        xfer += oprot->writeString((*_iter26));
> +        xfer += oprot->writeString((*_iter27));
>       }
>       xfer += oprot->writeListEnd();
>     }
> @@ -1174,9 +1200,9 @@ uint32_t UnicoreJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast27;
> -          xfer += iprot->readI32(ecast27);
> -          this->securityProtocol = (SecurityProtocol::type)ecast27;
> +          int32_t ecast28;
> +          xfer += iprot->readI32(ecast28);
> +          this->securityProtocol = (SecurityProtocol::type)ecast28;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1275,9 +1301,9 @@ uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast28;
> -          xfer += iprot->readI32(ecast28);
> -          this->securityProtocol = (SecurityProtocol::type)ecast28;
> +          int32_t ecast29;
> +          xfer += iprot->readI32(ecast29);
> +          this->securityProtocol = (SecurityProtocol::type)ecast29;
>           isset_securityProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1301,9 +1327,9 @@ uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
>         break;
>       case 5:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast29;
> -          xfer += iprot->readI32(ecast29);
> -          this->providerName = (ProviderName::type)ecast29;
> +          int32_t ecast30;
> +          xfer += iprot->readI32(ecast30);
> +          this->providerName = (ProviderName::type)ecast30;
>           isset_providerName = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1420,9 +1446,9 @@ uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* ipr
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast30;
> -          xfer += iprot->readI32(ecast30);
> -          this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast30;
> +          int32_t ecast31;
> +          xfer += iprot->readI32(ecast31);
> +          this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast31;
>           isset_jobSubmissionProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1518,9 +1544,9 @@ uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* ipro
>         break;
>       case 2:
>         if (ftype == ::apache::thrift::protocol::T_I32) {
> -          int32_t ecast31;
> -          xfer += iprot->readI32(ecast31);
> -          this->dataMovementProtocol = (DataMovementProtocol::type)ecast31;
> +          int32_t ecast32;
> +          xfer += iprot->readI32(ecast32);
> +          this->dataMovementProtocol = (DataMovementProtocol::type)ecast32;
>           isset_dataMovementProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -1625,14 +1651,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->hostAliases.clear();
> -            uint32_t _size32;
> -            ::apache::thrift::protocol::TType _etype35;
> -            xfer += iprot->readListBegin(_etype35, _size32);
> -            this->hostAliases.resize(_size32);
> -            uint32_t _i36;
> -            for (_i36 = 0; _i36 < _size32; ++_i36)
> +            uint32_t _size33;
> +            ::apache::thrift::protocol::TType _etype36;
> +            xfer += iprot->readListBegin(_etype36, _size33);
> +            this->hostAliases.resize(_size33);
> +            uint32_t _i37;
> +            for (_i37 = 0; _i37 < _size33; ++_i37)
>             {
> -              xfer += iprot->readString(this->hostAliases[_i36]);
> +              xfer += iprot->readString(this->hostAliases[_i37]);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1645,14 +1671,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->ipAddresses.clear();
> -            uint32_t _size37;
> -            ::apache::thrift::protocol::TType _etype40;
> -            xfer += iprot->readListBegin(_etype40, _size37);
> -            this->ipAddresses.resize(_size37);
> -            uint32_t _i41;
> -            for (_i41 = 0; _i41 < _size37; ++_i41)
> +            uint32_t _size38;
> +            ::apache::thrift::protocol::TType _etype41;
> +            xfer += iprot->readListBegin(_etype41, _size38);
> +            this->ipAddresses.resize(_size38);
> +            uint32_t _i42;
> +            for (_i42 = 0; _i42 < _size38; ++_i42)
>             {
> -              xfer += iprot->readString(this->ipAddresses[_i41]);
> +              xfer += iprot->readString(this->ipAddresses[_i42]);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1673,14 +1699,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->batchQueues.clear();
> -            uint32_t _size42;
> -            ::apache::thrift::protocol::TType _etype45;
> -            xfer += iprot->readListBegin(_etype45, _size42);
> -            this->batchQueues.resize(_size42);
> -            uint32_t _i46;
> -            for (_i46 = 0; _i46 < _size42; ++_i46)
> +            uint32_t _size43;
> +            ::apache::thrift::protocol::TType _etype46;
> +            xfer += iprot->readListBegin(_etype46, _size43);
> +            this->batchQueues.resize(_size43);
> +            uint32_t _i47;
> +            for (_i47 = 0; _i47 < _size43; ++_i47)
>             {
> -              xfer += this->batchQueues[_i46].read(iprot);
> +              xfer += this->batchQueues[_i47].read(iprot);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1693,19 +1719,19 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_MAP) {
>           {
>             this->fileSystems.clear();
> -            uint32_t _size47;
> -            ::apache::thrift::protocol::TType _ktype48;
> -            ::apache::thrift::protocol::TType _vtype49;
> -            xfer += iprot->readMapBegin(_ktype48, _vtype49, _size47);
> -            uint32_t _i51;
> -            for (_i51 = 0; _i51 < _size47; ++_i51)
> +            uint32_t _size48;
> +            ::apache::thrift::protocol::TType _ktype49;
> +            ::apache::thrift::protocol::TType _vtype50;
> +            xfer += iprot->readMapBegin(_ktype49, _vtype50, _size48);
> +            uint32_t _i52;
> +            for (_i52 = 0; _i52 < _size48; ++_i52)
>             {
> -              FileSystems::type _key52;
> -              int32_t ecast54;
> -              xfer += iprot->readI32(ecast54);
> -              _key52 = (FileSystems::type)ecast54;
> -              std::string& _val53 = this->fileSystems[_key52];
> -              xfer += iprot->readString(_val53);
> +              FileSystems::type _key53;
> +              int32_t ecast55;
> +              xfer += iprot->readI32(ecast55);
> +              _key53 = (FileSystems::type)ecast55;
> +              std::string& _val54 = this->fileSystems[_key53];
> +              xfer += iprot->readString(_val54);
>             }
>             xfer += iprot->readMapEnd();
>           }
> @@ -1718,14 +1744,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->jobSubmissionInterfaces.clear();
> -            uint32_t _size55;
> -            ::apache::thrift::protocol::TType _etype58;
> -            xfer += iprot->readListBegin(_etype58, _size55);
> -            this->jobSubmissionInterfaces.resize(_size55);
> -            uint32_t _i59;
> -            for (_i59 = 0; _i59 < _size55; ++_i59)
> +            uint32_t _size56;
> +            ::apache::thrift::protocol::TType _etype59;
> +            xfer += iprot->readListBegin(_etype59, _size56);
> +            this->jobSubmissionInterfaces.resize(_size56);
> +            uint32_t _i60;
> +            for (_i60 = 0; _i60 < _size56; ++_i60)
>             {
> -              xfer += this->jobSubmissionInterfaces[_i59].read(iprot);
> +              xfer += this->jobSubmissionInterfaces[_i60].read(iprot);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1738,14 +1764,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->dataMovementInterfaces.clear();
> -            uint32_t _size60;
> -            ::apache::thrift::protocol::TType _etype63;
> -            xfer += iprot->readListBegin(_etype63, _size60);
> -            this->dataMovementInterfaces.resize(_size60);
> -            uint32_t _i64;
> -            for (_i64 = 0; _i64 < _size60; ++_i64)
> +            uint32_t _size61;
> +            ::apache::thrift::protocol::TType _etype64;
> +            xfer += iprot->readListBegin(_etype64, _size61);
> +            this->dataMovementInterfaces.resize(_size61);
> +            uint32_t _i65;
> +            for (_i65 = 0; _i65 < _size61; ++_i65)
>             {
> -              xfer += this->dataMovementInterfaces[_i64].read(iprot);
> +              xfer += this->dataMovementInterfaces[_i65].read(iprot);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -1786,10 +1812,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_LIST, 3);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
> -      std::vector<std::string> ::const_iterator _iter65;
> -      for (_iter65 = this->hostAliases.begin(); _iter65 != this->hostAliases.end(); ++_iter65)
> +      std::vector<std::string> ::const_iterator _iter66;
> +      for (_iter66 = this->hostAliases.begin(); _iter66 != this->hostAliases.end(); ++_iter66)
>       {
> -        xfer += oprot->writeString((*_iter65));
> +        xfer += oprot->writeString((*_iter66));
>       }
>       xfer += oprot->writeListEnd();
>     }
> @@ -1799,10 +1825,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_LIST, 4);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
> -      std::vector<std::string> ::const_iterator _iter66;
> -      for (_iter66 = this->ipAddresses.begin(); _iter66 != this->ipAddresses.end(); ++_iter66)
> +      std::vector<std::string> ::const_iterator _iter67;
> +      for (_iter67 = this->ipAddresses.begin(); _iter67 != this->ipAddresses.end(); ++_iter67)
>       {
> -        xfer += oprot->writeString((*_iter66));
> +        xfer += oprot->writeString((*_iter67));
>       }
>       xfer += oprot->writeListEnd();
>     }
> @@ -1817,10 +1843,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()));
> -      std::vector<BatchQueue> ::const_iterator _iter67;
> -      for (_iter67 = this->batchQueues.begin(); _iter67 != this->batchQueues.end(); ++_iter67)
> +      std::vector<BatchQueue> ::const_iterator _iter68;
> +      for (_iter68 = this->batchQueues.begin(); _iter68 != this->batchQueues.end(); ++_iter68)
>       {
> -        xfer += (*_iter67).write(oprot);
> +        xfer += (*_iter68).write(oprot);
>       }
>       xfer += oprot->writeListEnd();
>     }
> @@ -1830,11 +1856,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("fileSystems", ::apache::thrift::protocol::T_MAP, 7);
>     {
>       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->fileSystems.size()));
> -      std::map<FileSystems::type, std::string> ::const_iterator _iter68;
> -      for (_iter68 = this->fileSystems.begin(); _iter68 != this->fileSystems.end(); ++_iter68)
> +      std::map<FileSystems::type, std::string> ::const_iterator _iter69;
> +      for (_iter69 = this->fileSystems.begin(); _iter69 != this->fileSystems.end(); ++_iter69)
>       {
> -        xfer += oprot->writeI32((int32_t)_iter68->first);
> -        xfer += oprot->writeString(_iter68->second);
> +        xfer += oprot->writeI32((int32_t)_iter69->first);
> +        xfer += oprot->writeString(_iter69->second);
>       }
>       xfer += oprot->writeMapEnd();
>     }
> @@ -1844,10 +1870,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("jobSubmissionInterfaces", ::apache::thrift::protocol::T_LIST, 8);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobSubmissionInterfaces.size()));
> -      std::vector<JobSubmissionInterface> ::const_iterator _iter69;
> -      for (_iter69 = this->jobSubmissionInterfaces.begin(); _iter69 != this->jobSubmissionInterfaces.end(); ++_iter69)
> +      std::vector<JobSubmissionInterface> ::const_iterator _iter70;
> +      for (_iter70 = this->jobSubmissionInterfaces.begin(); _iter70 != this->jobSubmissionInterfaces.end(); ++_iter70)
>       {
> -        xfer += (*_iter69).write(oprot);
> +        xfer += (*_iter70).write(oprot);
>       }
>       xfer += oprot->writeListEnd();
>     }
> @@ -1857,10 +1883,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
>     xfer += oprot->writeFieldBegin("dataMovementInterfaces", ::apache::thrift::protocol::T_LIST, 9);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataMovementInterfaces.size()));
> -      std::vector<DataMovementInterface> ::const_iterator _iter70;
> -      for (_iter70 = this->dataMovementInterfaces.begin(); _iter70 != this->dataMovementInterfaces.end(); ++_iter70)
> +      std::vector<DataMovementInterface> ::const_iterator _iter71;
> +      for (_iter71 = this->dataMovementInterfaces.begin(); _iter71 != this->dataMovementInterfaces.end(); ++_iter71)
>       {
> -        xfer += (*_iter70).write(oprot);
> +        xfer += (*_iter71).write(oprot);
>       }
>       xfer += oprot->writeListEnd();
>     }
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
> index c69be3f..e94520d 100644
> --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
> +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
> @@ -59,6 +59,15 @@ struct JobManagerCommand {
> 
> extern const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES;
> 
> +struct MonitorMode {
> +  enum type {
> +    PUSH = 0,
> +    PULL = 1
> +  };
> +};
> +
> +extern const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES;
> +
> struct FileSystems {
>   enum type {
>     HOME = 0,
> @@ -118,19 +127,20 @@ struct ProviderName {
> extern const std::map<int, const char*> _ProviderName_VALUES_TO_NAMES;
> 
> typedef struct _ResourceJobManager__isset {
> -  _ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false) {}
> +  _ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false), monitorMode(false) {}
>   bool pushMonitoringEndpoint;
>   bool jobManagerBinPath;
>   bool jobManagerCommands;
> +  bool monitorMode;
> } _ResourceJobManager__isset;
> 
> class ResourceJobManager {
>  public:
> 
> -  static const char* ascii_fingerprint; // = "F61CAF80247D0E44C8D52504F3A43BED";
> -  static const uint8_t binary_fingerprint[16]; // = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
> +  static const char* ascii_fingerprint; // = "83F3E1FB1C076C79A1E733A1E531B938";
> +  static const uint8_t binary_fingerprint[16]; // = {0x83,0xF3,0xE1,0xFB,0x1C,0x07,0x6C,0x79,0xA1,0xE7,0x33,0xA1,0xE5,0x31,0xB9,0x38};
> 
> -  ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath() {
> +  ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath(), monitorMode((MonitorMode::type)0) {
>   }
> 
>   virtual ~ResourceJobManager() throw() {}
> @@ -140,6 +150,7 @@ class ResourceJobManager {
>   std::string pushMonitoringEndpoint;
>   std::string jobManagerBinPath;
>   std::map<JobManagerCommand::type, std::string>  jobManagerCommands;
> +  MonitorMode::type monitorMode;
> 
>   _ResourceJobManager__isset __isset;
> 
> @@ -166,6 +177,11 @@ class ResourceJobManager {
>     __isset.jobManagerCommands = true;
>   }
> 
> +  void __set_monitorMode(const MonitorMode::type val) {
> +    monitorMode = val;
> +    __isset.monitorMode = true;
> +  }
> +
>   bool operator == (const ResourceJobManager & rhs) const
>   {
>     if (!(resourceJobManagerId == rhs.resourceJobManagerId))
> @@ -184,6 +200,10 @@ class ResourceJobManager {
>       return false;
>     else if (__isset.jobManagerCommands && !(jobManagerCommands == rhs.jobManagerCommands))
>       return false;
> +    if (__isset.monitorMode != rhs.__isset.monitorMode)
> +      return false;
> +    else if (__isset.monitorMode && !(monitorMode == rhs.monitorMode))
> +      return false;
>     return true;
>   }
>   bool operator != (const ResourceJobManager &rhs) const {
> @@ -473,8 +493,8 @@ void swap(UnicoreDataMovement &a, UnicoreDataMovement &b);
> class LOCALSubmission {
>  public:
> 
> -  static const char* ascii_fingerprint; // = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
> -  static const uint8_t binary_fingerprint[16]; // = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
> +  static const char* ascii_fingerprint; // = "D51508D1A661370F4785A01334DB8637";
> +  static const uint8_t binary_fingerprint[16]; // = {0xD5,0x15,0x08,0xD1,0xA6,0x61,0x37,0x0F,0x47,0x85,0xA0,0x13,0x34,0xDB,0x86,0x37};
> 
>   LOCALSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS") {
>   }
> @@ -559,8 +579,8 @@ typedef struct _SSHJobSubmission__isset {
> class SSHJobSubmission {
>  public:
> 
> -  static const char* ascii_fingerprint; // = "8BC403A3B093DDB0CB8F04ED699DBA3D";
> -  static const uint8_t binary_fingerprint[16]; // = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
> +  static const char* ascii_fingerprint; // = "BCAF073DD81C8F6A9ED716A45569D2B3";
> +  static const uint8_t binary_fingerprint[16]; // = {0xBC,0xAF,0x07,0x3D,0xD8,0x1C,0x8F,0x6A,0x9E,0xD7,0x16,0xA4,0x55,0x69,0xD2,0xB3};
> 
>   SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22) {
>   }
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
> index 715a346..a996421 100644
> --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
> +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
> @@ -27,8 +27,8 @@
> 
> namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
> 
> -const char* ComputeResourcePreference::ascii_fingerprint = "9C98338B7E052CD4DEECB22F243D6DAE";
> -const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
> +const char* ComputeResourcePreference::ascii_fingerprint = "365108C84A2E160D53CD17C2A7F06F5C";
> +const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x36,0x51,0x08,0xC8,0x4A,0x2E,0x16,0x0D,0x53,0xCD,0x17,0xC2,0xA7,0xF0,0x6F,0x5C};
> 
> uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
> 
> @@ -69,16 +69,20 @@ uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol*
>         }
>         break;
>       case 3:
> -        if (ftype == ::apache::thrift::protocol::T_STRING) {
> -          xfer += iprot->readString(this->preferredJobSubmissionProtocol);
> +        if (ftype == ::apache::thrift::protocol::T_I32) {
> +          int32_t ecast0;
> +          xfer += iprot->readI32(ecast0);
> +          this->preferredJobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast0;
>           this->__isset.preferredJobSubmissionProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
>         }
>         break;
>       case 4:
> -        if (ftype == ::apache::thrift::protocol::T_STRING) {
> -          xfer += iprot->readString(this->preferredDataMovementProtocol);
> +        if (ftype == ::apache::thrift::protocol::T_I32) {
> +          int32_t ecast1;
> +          xfer += iprot->readI32(ecast1);
> +          this->preferredDataMovementProtocol = ( ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type)ecast1;
>           this->__isset.preferredDataMovementProtocol = true;
>         } else {
>           xfer += iprot->skip(ftype);
> @@ -137,13 +141,13 @@ uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol*
>   xfer += oprot->writeFieldEnd();
> 
>   if (this->__isset.preferredJobSubmissionProtocol) {
> -    xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 3);
> -    xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
> +    xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_I32, 3);
> +    xfer += oprot->writeI32((int32_t)this->preferredJobSubmissionProtocol);
>     xfer += oprot->writeFieldEnd();
>   }
>   if (this->__isset.preferredDataMovementProtocol) {
> -    xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_STRING, 4);
> -    xfer += oprot->writeString(this->preferredDataMovementProtocol);
> +    xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_I32, 4);
> +    xfer += oprot->writeI32((int32_t)this->preferredDataMovementProtocol);
>     xfer += oprot->writeFieldEnd();
>   }
>   if (this->__isset.preferredBatchQueue) {
> @@ -178,8 +182,8 @@ void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
>   swap(a.__isset, b.__isset);
> }
> 
> -const char* GatewayResourceProfile::ascii_fingerprint = "D6477904C48AAB4DC8F09369D670B400";
> -const uint8_t GatewayResourceProfile::binary_fingerprint[16] = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
> +const char* GatewayResourceProfile::ascii_fingerprint = "42DA2625493A482A59D0742432A025BD";
> +const uint8_t GatewayResourceProfile::binary_fingerprint[16] = {0x42,0xDA,0x26,0x25,0x49,0x3A,0x48,0x2A,0x59,0xD0,0x74,0x24,0x32,0xA0,0x25,0xBD};
> 
> uint32_t GatewayResourceProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
> 
> @@ -231,14 +235,14 @@ uint32_t GatewayResourceProfile::read(::apache::thrift::protocol::TProtocol* ipr
>         if (ftype == ::apache::thrift::protocol::T_LIST) {
>           {
>             this->computeResourcePreferences.clear();
> -            uint32_t _size0;
> -            ::apache::thrift::protocol::TType _etype3;
> -            xfer += iprot->readListBegin(_etype3, _size0);
> -            this->computeResourcePreferences.resize(_size0);
> -            uint32_t _i4;
> -            for (_i4 = 0; _i4 < _size0; ++_i4)
> +            uint32_t _size2;
> +            ::apache::thrift::protocol::TType _etype5;
> +            xfer += iprot->readListBegin(_etype5, _size2);
> +            this->computeResourcePreferences.resize(_size2);
> +            uint32_t _i6;
> +            for (_i6 = 0; _i6 < _size2; ++_i6)
>             {
> -              xfer += this->computeResourcePreferences[_i4].read(iprot);
> +              xfer += this->computeResourcePreferences[_i6].read(iprot);
>             }
>             xfer += iprot->readListEnd();
>           }
> @@ -284,10 +288,10 @@ uint32_t GatewayResourceProfile::write(::apache::thrift::protocol::TProtocol* op
>     xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 4);
>     {
>       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
> -      std::vector<ComputeResourcePreference> ::const_iterator _iter5;
> -      for (_iter5 = this->computeResourcePreferences.begin(); _iter5 != this->computeResourcePreferences.end(); ++_iter5)
> +      std::vector<ComputeResourcePreference> ::const_iterator _iter7;
> +      for (_iter7 = this->computeResourcePreferences.begin(); _iter7 != this->computeResourcePreferences.end(); ++_iter7)
>       {
> -        xfer += (*_iter5).write(oprot);
> +        xfer += (*_iter7).write(oprot);
>       }
>       xfer += oprot->writeListEnd();
>     }
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
> index 8a0a002..db18209 100644
> --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
> +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
> @@ -30,6 +30,7 @@
> #include <thrift/transport/TTransport.h>
> 
> #include <thrift/cxxfunctional.h>
> +#include "computeResourceModel_types.h"
> 
> 
> namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
> @@ -46,18 +47,18 @@ typedef struct _ComputeResourcePreference__isset {
> class ComputeResourcePreference {
>  public:
> 
> -  static const char* ascii_fingerprint; // = "9C98338B7E052CD4DEECB22F243D6DAE";
> -  static const uint8_t binary_fingerprint[16]; // = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
> +  static const char* ascii_fingerprint; // = "365108C84A2E160D53CD17C2A7F06F5C";
> +  static const uint8_t binary_fingerprint[16]; // = {0x36,0x51,0x08,0xC8,0x4A,0x2E,0x16,0x0D,0x53,0xCD,0x17,0xC2,0xA7,0xF0,0x6F,0x5C};
> 
> -  ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(), preferredDataMovementProtocol(), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
> +  ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)0), preferredDataMovementProtocol(( ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type)0), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
>   }
> 
>   virtual ~ComputeResourcePreference() throw() {}
> 
>   std::string computeResourceId;
>   bool overridebyAiravata;
> -  std::string preferredJobSubmissionProtocol;
> -  std::string preferredDataMovementProtocol;
> +   ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type preferredJobSubmissionProtocol;
> +   ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type preferredDataMovementProtocol;
>   std::string preferredBatchQueue;
>   std::string scratchLocation;
>   std::string allocationProjectNumber;
> @@ -72,12 +73,12 @@ class ComputeResourcePreference {
>     overridebyAiravata = val;
>   }
> 
> -  void __set_preferredJobSubmissionProtocol(const std::string& val) {
> +  void __set_preferredJobSubmissionProtocol(const  ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type val) {
>     preferredJobSubmissionProtocol = val;
>     __isset.preferredJobSubmissionProtocol = true;
>   }
> 
> -  void __set_preferredDataMovementProtocol(const std::string& val) {
> +  void __set_preferredDataMovementProtocol(const  ::apache::airavata::model::appcatalog::computeresource::DataMovementProtocol::type val) {
>     preferredDataMovementProtocol = val;
>     __isset.preferredDataMovementProtocol = true;
>   }
> @@ -147,8 +148,8 @@ typedef struct _GatewayResourceProfile__isset {
> class GatewayResourceProfile {
>  public:
> 
> -  static const char* ascii_fingerprint; // = "D6477904C48AAB4DC8F09369D670B400";
> -  static const uint8_t binary_fingerprint[16]; // = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
> +  static const char* ascii_fingerprint; // = "42DA2625493A482A59D0742432A025BD";
> +  static const uint8_t binary_fingerprint[16]; // = {0x42,0xDA,0x26,0x25,0x49,0x3A,0x48,0x2A,0x59,0xD0,0x74,0x24,0x32,0xA0,0x25,0xBD};
> 
>   GatewayResourceProfile() : gatewayID("DO_NOT_SET_AT_CLIENTS"), gatewayName(), gatewayDescription() {
>   }
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
> index 68addd1..3d7b921 100644
> --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
> +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
> @@ -49,6 +49,15 @@ final class JobManagerCommand {
>   );
> }
> 
> +final class MonitorMode {
> +  const PUSH = 0;
> +  const PULL = 1;
> +  static public $__names = array(
> +    0 => 'PUSH',
> +    1 => 'PULL',
> +  );
> +}
> +
> final class FileSystems {
>   const HOME = 0;
>   const WORK = 1;
> @@ -128,6 +137,7 @@ class ResourceJobManager {
>   public $pushMonitoringEndpoint = null;
>   public $jobManagerBinPath = null;
>   public $jobManagerCommands = null;
> +  public $monitorMode = null;
> 
>   public function __construct($vals=null) {
>     if (!isset(self::$_TSPEC)) {
> @@ -160,6 +170,10 @@ class ResourceJobManager {
>             'type' => TType::STRING,
>             ),
>           ),
> +        6 => array(
> +          'var' => 'monitorMode',
> +          'type' => TType::I32,
> +          ),
>         );
>     }
>     if (is_array($vals)) {
> @@ -178,6 +192,9 @@ class ResourceJobManager {
>       if (isset($vals['jobManagerCommands'])) {
>         $this->jobManagerCommands = $vals['jobManagerCommands'];
>       }
> +      if (isset($vals['monitorMode'])) {
> +        $this->monitorMode = $vals['monitorMode'];
> +      }
>     }
>   }
> 
> @@ -248,6 +265,13 @@ class ResourceJobManager {
>             $xfer += $input->skip($ftype);
>           }
>           break;
> +        case 6:
> +          if ($ftype == TType::I32) {
> +            $xfer += $input->readI32($this->monitorMode);
> +          } else {
> +            $xfer += $input->skip($ftype);
> +          }
> +          break;
>         default:
>           $xfer += $input->skip($ftype);
>           break;
> @@ -299,6 +323,11 @@ class ResourceJobManager {
>       }
>       $xfer += $output->writeFieldEnd();
>     }
> +    if ($this->monitorMode !== null) {
> +      $xfer += $output->writeFieldBegin('monitorMode', TType::I32, 6);
> +      $xfer += $output->writeI32($this->monitorMode);
> +      $xfer += $output->writeFieldEnd();
> +    }
>     $xfer += $output->writeFieldStop();
>     $xfer += $output->writeStructEnd();
>     return $xfer;
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/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 faf2b05..3e8db10 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
> @@ -41,11 +41,11 @@ class ComputeResourcePreference {
>           ),
>         3 => array(
>           'var' => 'preferredJobSubmissionProtocol',
> -          'type' => TType::STRING,
> +          'type' => TType::I32,
>           ),
>         4 => array(
>           'var' => 'preferredDataMovementProtocol',
> -          'type' => TType::STRING,
> +          'type' => TType::I32,
>           ),
>         5 => array(
>           'var' => 'preferredBatchQueue',
> @@ -120,15 +120,15 @@ class ComputeResourcePreference {
>           }
>           break;
>         case 3:
> -          if ($ftype == TType::STRING) {
> -            $xfer += $input->readString($this->preferredJobSubmissionProtocol);
> +          if ($ftype == TType::I32) {
> +            $xfer += $input->readI32($this->preferredJobSubmissionProtocol);
>           } else {
>             $xfer += $input->skip($ftype);
>           }
>           break;
>         case 4:
> -          if ($ftype == TType::STRING) {
> -            $xfer += $input->readString($this->preferredDataMovementProtocol);
> +          if ($ftype == TType::I32) {
> +            $xfer += $input->readI32($this->preferredDataMovementProtocol);
>           } else {
>             $xfer += $input->skip($ftype);
>           }
> @@ -178,13 +178,13 @@ class ComputeResourcePreference {
>       $xfer += $output->writeFieldEnd();
>     }
>     if ($this->preferredJobSubmissionProtocol !== null) {
> -      $xfer += $output->writeFieldBegin('preferredJobSubmissionProtocol', TType::STRING, 3);
> -      $xfer += $output->writeString($this->preferredJobSubmissionProtocol);
> +      $xfer += $output->writeFieldBegin('preferredJobSubmissionProtocol', TType::I32, 3);
> +      $xfer += $output->writeI32($this->preferredJobSubmissionProtocol);
>       $xfer += $output->writeFieldEnd();
>     }
>     if ($this->preferredDataMovementProtocol !== null) {
> -      $xfer += $output->writeFieldBegin('preferredDataMovementProtocol', TType::STRING, 4);
> -      $xfer += $output->writeString($this->preferredDataMovementProtocol);
> +      $xfer += $output->writeFieldBegin('preferredDataMovementProtocol', TType::I32, 4);
> +      $xfer += $output->writeI32($this->preferredDataMovementProtocol);
>       $xfer += $output->writeFieldEnd();
>     }
>     if ($this->preferredBatchQueue !== null) {
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
> new file mode 100644
> index 0000000..30528b7
> --- /dev/null
> +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
> @@ -0,0 +1,73 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You 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://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License 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.
> + */
> +
> +/**
> + * Autogenerated by Thrift Compiler (0.9.1)
> + *
> + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> + *  @generated
> + */
> +package org.apache.airavata.model.appcatalog.computeresource;
> +
> +
> +import java.util.Map;
> +import java.util.HashMap;
> +import org.apache.thrift.TEnum;
> +
> +/**
> + * Monitoring modes
> + * 
> + * PUSH:
> + * Server will push job status changes.
> + * 
> + * PULL:
> + * Need to pull and get the Job status changes.
> + * 
> + * 
> + */
> +@SuppressWarnings("all") public enum MonitorMode implements org.apache.thrift.TEnum {
> +  PUSH(0),
> +  PULL(1);
> +
> +  private final int value;
> +
> +  private MonitorMode(int value) {
> +    this.value = value;
> +  }
> +
> +  /**
> +   * Get the integer value of this enum value, as defined in the Thrift IDL.
> +   */
> +  public int getValue() {
> +    return value;
> +  }
> +
> +  /**
> +   * Find a the enum type by its integer value, as defined in the Thrift IDL.
> +   * @return null if the value is not found.
> +   */
> +  public static MonitorMode findByValue(int value) { 
> +    switch (value) {
> +      case 0:
> +        return PUSH;
> +      case 1:
> +        return PULL;
> +      default:
> +        return null;
> +    }
> +  }
> +}
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
> ----------------------------------------------------------------------
> diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
> index 680a40a..d0487b1 100644
> --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
> +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
> @@ -74,6 +74,7 @@ import org.slf4j.LoggerFactory;
>   private static final org.apache.thrift.protocol.TField PUSH_MONITORING_ENDPOINT_FIELD_DESC = new org.apache.thrift.protocol.TField("pushMonitoringEndpoint", org.apache.thrift.protocol.TType.STRING, (short)3);
>   private static final org.apache.thrift.protocol.TField JOB_MANAGER_BIN_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("jobManagerBinPath", org.apache.thrift.protocol.TType.STRING, (short)4);
>   private static final org.apache.thrift.protocol.TField JOB_MANAGER_COMMANDS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobManagerCommands", org.apache.thrift.protocol.TType.MAP, (short)5);
> +  private static final org.apache.thrift.protocol.TField MONITOR_MODE_FIELD_DESC = new org.apache.thrift.protocol.TField("monitorMode", org.apache.thrift.protocol.TType.I32, (short)6);
> 
>   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
>   static {
> @@ -86,6 +87,7 @@ import org.slf4j.LoggerFactory;
>   private String pushMonitoringEndpoint; // optional
>   private String jobManagerBinPath; // optional
>   private Map<JobManagerCommand,String> jobManagerCommands; // optional
> +  private MonitorMode monitorMode; // optional
> 
>   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
>   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
> @@ -97,7 +99,12 @@ import org.slf4j.LoggerFactory;
>     RESOURCE_JOB_MANAGER_TYPE((short)2, "resourceJobManagerType"),
>     PUSH_MONITORING_ENDPOINT((short)3, "pushMonitoringEndpoint"),
>     JOB_MANAGER_BIN_PATH((short)4, "jobManagerBinPath"),
> -    JOB_MANAGER_COMMANDS((short)5, "jobManagerCommands");
> +    JOB_MANAGER_COMMANDS((short)5, "jobManagerCommands"),
> +    /**
> +     * 
> +     * @see MonitorMode
> +     */
> +    MONITOR_MODE((short)6, "monitorMode");
> 
>     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
> 
> @@ -122,6 +129,8 @@ import org.slf4j.LoggerFactory;
>           return JOB_MANAGER_BIN_PATH;
>         case 5: // JOB_MANAGER_COMMANDS
>           return JOB_MANAGER_COMMANDS;
> +        case 6: // MONITOR_MODE
> +          return MONITOR_MODE;
>         default:
>           return null;
>       }
> @@ -162,7 +171,7 @@ import org.slf4j.LoggerFactory;
>   }
> 
>   // isset id assignments
> -  private _Fields optionals[] = {_Fields.PUSH_MONITORING_ENDPOINT,_Fields.JOB_MANAGER_BIN_PATH,_Fields.JOB_MANAGER_COMMANDS};
> +  private _Fields optionals[] = {_Fields.PUSH_MONITORING_ENDPOINT,_Fields.JOB_MANAGER_BIN_PATH,_Fields.JOB_MANAGER_COMMANDS,_Fields.MONITOR_MODE};
>   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);
> @@ -178,6 +187,8 @@ import org.slf4j.LoggerFactory;
>         new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
>             new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, JobManagerCommand.class), 
>             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
> +    tmpMap.put(_Fields.MONITOR_MODE, new org.apache.thrift.meta_data.FieldMetaData("monitorMode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
> +        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, MonitorMode.class)));
>     metaDataMap = Collections.unmodifiableMap(tmpMap);
>     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ResourceJobManager.class, metaDataMap);
>   }
> @@ -227,6 +238,9 @@ import org.slf4j.LoggerFactory;
>       }
>       this.jobManagerCommands = __this__jobManagerCommands;
>     }
> +    if (other.isSetMonitorMode()) {
> +      this.monitorMode = other.monitorMode;
> +    }
>   }
> 
>   public ResourceJobManager deepCopy() {
> @@ -241,6 +255,7 @@ import org.slf4j.LoggerFactory;
>     this.pushMonitoringEndpoint = null;
>     this.jobManagerBinPath = null;
>     this.jobManagerCommands = null;
> +    this.monitorMode = null;
>   }
> 
>   public String getResourceJobManagerId() {
> @@ -377,6 +392,37 @@ import org.slf4j.LoggerFactory;
>     }
>   }
> 
> +  /**
> +   * 
> +   * @see MonitorMode
> +   */
> +  public MonitorMode getMonitorMode() {
> +    return this.monitorMode;
> +  }
> +
> +  /**
> +   * 
> +   * @see MonitorMode
> +   */
> +  public void setMonitorMode(MonitorMode monitorMode) {
> +    this.monitorMode = monitorMode;
> +  }
> +
> +  public void unsetMonitorMode() {
> +    this.monitorMode = null;
> +  }
> +
> +  /** Returns true if field monitorMode is set (has been assigned a value) and false otherwise */
> +  public boolean isSetMonitorMode() {
> +    return this.monitorMode != null;
> +  }
> +
> +  public void setMonitorModeIsSet(boolean value) {
> +    if (!value) {
> +      this.monitorMode = null;
> +    }
> +  }
> +
>   public void setFieldValue(_Fields field, Object value) {
>     switch (field) {
>     case RESOURCE_JOB_MANAGER_ID:
> @@ -419,6 +465,14 @@ import org.slf4j.LoggerFactory;
>       }
>       break;
> 
> +    case MONITOR_MODE:
> +      if (value == null) {
> +        unsetMonitorMode();
> +      } else {
> +        setMonitorMode((MonitorMode)value);
> +      }
> +      break;
> +
>     }
>   }
> 
> @@ -439,6 +493,9 @@ import org.slf4j.LoggerFactory;
>     case JOB_MANAGER_COMMANDS:
>       return getJobManagerCommands();
> 
> +    case MONITOR_MODE:
> +      return getMonitorMode();
> +
>     }
>     throw new IllegalStateException();
>   }
> @@ -460,6 +517,8 @@ import org.slf4j.LoggerFactory;
>       return isSetJobManagerBinPath();
>     case JOB_MANAGER_COMMANDS:
>       return isSetJobManagerCommands();
> +    case MONITOR_MODE:
> +      return isSetMonitorMode();
>     }
>     throw new IllegalStateException();
>   }
> @@ -522,6 +581,15 @@ import org.slf4j.LoggerFactory;
>         return false;
>     }
> 
> +    boolean this_present_monitorMode = true && this.isSetMonitorMode();
> +    boolean that_present_monitorMode = true && that.isSetMonitorMode();
> +    if (this_present_monitorMode || that_present_monitorMode) {
> +      if (!(this_present_monitorMode && that_present_monitorMode))
> +        return false;
> +      if (!this.monitorMode.equals(that.monitorMode))
> +        return false;
> +    }
> +
>     return true;
>   }
> 
> @@ -588,6 +656,16 @@ import org.slf4j.LoggerFactory;
>         return lastComparison;
>       }
>     }
> +    lastComparison = Boolean.valueOf(isSetMonitorMode()).compareTo(other.isSetMonitorMode());
> +    if (lastComparison != 0) {
> +      return lastComparison;
> +    }
> +    if (isSetMonitorMode()) {
> +      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.monitorMode, other.monitorMode);
> +      if (lastComparison != 0) {
> +        return lastComparison;
> +      }
> +    }
>     return 0;
>   }
> 
> @@ -653,6 +731,16 @@ import org.slf4j.LoggerFactory;
>       }
>       first = false;
>     }
> +    if (isSetMonitorMode()) {
> +      if (!first) sb.append(", ");
> +      sb.append("monitorMode:");
> +      if (this.monitorMode == null) {
> +        sb.append("null");
> +      } else {
> +        sb.append(this.monitorMode);
> +      }
> +      first = false;
> +    }
>     sb.append(")");
>     return sb.toString();
>   }
> @@ -756,6 +844,14 @@ import org.slf4j.LoggerFactory;
>               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
>             }
>             break;
> +          case 6: // MONITOR_MODE
> +            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
> +              struct.monitorMode = MonitorMode.findByValue(iprot.readI32());
> +              struct.setMonitorModeIsSet(true);
> +            } else { 
> +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
> +            }
> +            break;
>           default:
>             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
>         }
> @@ -808,6 +904,13 @@ import org.slf4j.LoggerFactory;
>           oprot.writeFieldEnd();
>         }
>       }
> +      if (struct.monitorMode != null) {
> +        if (struct.isSetMonitorMode()) {
> +          oprot.writeFieldBegin(MONITOR_MODE_FIELD_DESC);
> +          oprot.writeI32(struct.monitorMode.getValue());
> +          oprot.writeFieldEnd();
> +        }
> +      }
>       oprot.writeFieldStop();
>       oprot.writeStructEnd();
>     }
> @@ -837,7 +940,10 @@ import org.slf4j.LoggerFactory;
>       if (struct.isSetJobManagerCommands()) {
>         optionals.set(2);
>       }
> -      oprot.writeBitSet(optionals, 3);
> +      if (struct.isSetMonitorMode()) {
> +        optionals.set(3);
> +      }
> +      oprot.writeBitSet(optionals, 4);
>       if (struct.isSetPushMonitoringEndpoint()) {
>         oprot.writeString(struct.pushMonitoringEndpoint);
>       }
> @@ -854,6 +960,9 @@ import org.slf4j.LoggerFactory;
>           }
>         }
>       }
> +      if (struct.isSetMonitorMode()) {
> +        oprot.writeI32(struct.monitorMode.getValue());
> +      }
>     }
> 
>     @Override
> @@ -863,7 +972,7 @@ import org.slf4j.LoggerFactory;
>       struct.setResourceJobManagerIdIsSet(true);
>       struct.resourceJobManagerType = ResourceJobManagerType.findByValue(iprot.readI32());
>       struct.setResourceJobManagerTypeIsSet(true);
> -      BitSet incoming = iprot.readBitSet(3);
> +      BitSet incoming = iprot.readBitSet(4);
>       if (incoming.get(0)) {
>         struct.pushMonitoringEndpoint = iprot.readString();
>         struct.setPushMonitoringEndpointIsSet(true);
> @@ -887,6 +996,10 @@ import org.slf4j.LoggerFactory;
>         }
>         struct.setJobManagerCommandsIsSet(true);
>       }
> +      if (incoming.get(3)) {
> +        struct.monitorMode = MonitorMode.findByValue(iprot.readI32());
> +        struct.setMonitorModeIsSet(true);
> +      }
>     }
>   }
> 
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/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 d1e7649..26bd817 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
> @@ -81,8 +81,8 @@ import org.slf4j.LoggerFactory;
> 
>   private static final org.apache.thrift.protocol.TField COMPUTE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
>   private static final org.apache.thrift.protocol.TField OVERRIDEBY_AIRAVATA_FIELD_DESC = new org.apache.thrift.protocol.TField("overridebyAiravata", org.apache.thrift.protocol.TType.BOOL, (short)2);
> -  private static final org.apache.thrift.protocol.TField PREFERRED_JOB_SUBMISSION_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("preferredJobSubmissionProtocol", org.apache.thrift.protocol.TType.STRING, (short)3);
> -  private static final org.apache.thrift.protocol.TField PREFERRED_DATA_MOVEMENT_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("preferredDataMovementProtocol", org.apache.thrift.protocol.TType.STRING, (short)4);
> +  private static final org.apache.thrift.protocol.TField PREFERRED_JOB_SUBMISSION_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("preferredJobSubmissionProtocol", org.apache.thrift.protocol.TType.I32, (short)3);
> +  private static final org.apache.thrift.protocol.TField PREFERRED_DATA_MOVEMENT_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("preferredDataMovementProtocol", org.apache.thrift.protocol.TType.I32, (short)4);
>   private static final org.apache.thrift.protocol.TField PREFERRED_BATCH_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("preferredBatchQueue", org.apache.thrift.protocol.TType.STRING, (short)5);
>   private static final org.apache.thrift.protocol.TField SCRATCH_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("scratchLocation", org.apache.thrift.protocol.TType.STRING, (short)6);
>   private static final org.apache.thrift.protocol.TField ALLOCATION_PROJECT_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("allocationProjectNumber", org.apache.thrift.protocol.TType.STRING, (short)7);
> @@ -95,8 +95,8 @@ import org.slf4j.LoggerFactory;
> 
>   private String computeResourceId; // required
>   private boolean overridebyAiravata; // required
> -  private String preferredJobSubmissionProtocol; // optional
> -  private String preferredDataMovementProtocol; // optional
> +  private org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol; // optional
> +  private org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol preferredDataMovementProtocol; // optional
>   private String preferredBatchQueue; // optional
>   private String scratchLocation; // optional
>   private String allocationProjectNumber; // optional
> @@ -105,7 +105,15 @@ import org.slf4j.LoggerFactory;
>   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
>     COMPUTE_RESOURCE_ID((short)1, "computeResourceId"),
>     OVERRIDEBY_AIRAVATA((short)2, "overridebyAiravata"),
> +    /**
> +     * 
> +     * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
> +     */
>     PREFERRED_JOB_SUBMISSION_PROTOCOL((short)3, "preferredJobSubmissionProtocol"),
> +    /**
> +     * 
> +     * @see org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol
> +     */
>     PREFERRED_DATA_MOVEMENT_PROTOCOL((short)4, "preferredDataMovementProtocol"),
>     PREFERRED_BATCH_QUEUE((short)5, "preferredBatchQueue"),
>     SCRATCH_LOCATION((short)6, "scratchLocation"),
> @@ -189,9 +197,9 @@ import org.slf4j.LoggerFactory;
>     tmpMap.put(_Fields.OVERRIDEBY_AIRAVATA, new org.apache.thrift.meta_data.FieldMetaData("overridebyAiravata", org.apache.thrift.TFieldRequirementType.REQUIRED, 
>         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
>     tmpMap.put(_Fields.PREFERRED_JOB_SUBMISSION_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("preferredJobSubmissionProtocol", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
> -        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
> +        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol.class)));
>     tmpMap.put(_Fields.PREFERRED_DATA_MOVEMENT_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("preferredDataMovementProtocol", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
> -        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
> +        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol.class)));
>     tmpMap.put(_Fields.PREFERRED_BATCH_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("preferredBatchQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
>         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
>     tmpMap.put(_Fields.SCRATCH_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("scratchLocation", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
> @@ -304,11 +312,19 @@ import org.slf4j.LoggerFactory;
>     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OVERRIDEBYAIRAVATA_ISSET_ID, value);
>   }
> 
> -  public String getPreferredJobSubmissionProtocol() {
> +  /**
> +   * 
> +   * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
> +   */
> +  public org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol getPreferredJobSubmissionProtocol() {
>     return this.preferredJobSubmissionProtocol;
>   }
> 
> -  public void setPreferredJobSubmissionProtocol(String preferredJobSubmissionProtocol) {
> +  /**
> +   * 
> +   * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
> +   */
> +  public void setPreferredJobSubmissionProtocol(org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol) {
>     this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
>   }
> 
> @@ -327,11 +343,19 @@ import org.slf4j.LoggerFactory;
>     }
>   }
> 
> -  public String getPreferredDataMovementProtocol() {
> +  /**
> +   * 
> +   * @see org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol
> +   */
> +  public org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol getPreferredDataMovementProtocol() {
>     return this.preferredDataMovementProtocol;
>   }
> 
> -  public void setPreferredDataMovementProtocol(String preferredDataMovementProtocol) {
> +  /**
> +   * 
> +   * @see org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol
> +   */
> +  public void setPreferredDataMovementProtocol(org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol preferredDataMovementProtocol) {
>     this.preferredDataMovementProtocol = preferredDataMovementProtocol;
>   }
> 
> @@ -441,7 +465,7 @@ import org.slf4j.LoggerFactory;
>       if (value == null) {
>         unsetPreferredJobSubmissionProtocol();
>       } else {
> -        setPreferredJobSubmissionProtocol((String)value);
> +        setPreferredJobSubmissionProtocol((org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol)value);
>       }
>       break;
> 
> @@ -449,7 +473,7 @@ import org.slf4j.LoggerFactory;
>       if (value == null) {
>         unsetPreferredDataMovementProtocol();
>       } else {
> -        setPreferredDataMovementProtocol((String)value);
> +        setPreferredDataMovementProtocol((org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol)value);
>       }
>       break;
> 
> @@ -845,16 +869,16 @@ import org.slf4j.LoggerFactory;
>             }
>             break;
>           case 3: // PREFERRED_JOB_SUBMISSION_PROTOCOL
> -            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
> -              struct.preferredJobSubmissionProtocol = iprot.readString();
> +            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
> +              struct.preferredJobSubmissionProtocol = org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol.findByValue(iprot.readI32());
>               struct.setPreferredJobSubmissionProtocolIsSet(true);
>             } else { 
>               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
>             }
>             break;
>           case 4: // PREFERRED_DATA_MOVEMENT_PROTOCOL
> -            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
> -              struct.preferredDataMovementProtocol = iprot.readString();
> +            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
> +              struct.preferredDataMovementProtocol = org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol.findByValue(iprot.readI32());
>               struct.setPreferredDataMovementProtocolIsSet(true);
>             } else { 
>               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
> @@ -908,14 +932,14 @@ import org.slf4j.LoggerFactory;
>       if (struct.preferredJobSubmissionProtocol != null) {
>         if (struct.isSetPreferredJobSubmissionProtocol()) {
>           oprot.writeFieldBegin(PREFERRED_JOB_SUBMISSION_PROTOCOL_FIELD_DESC);
> -          oprot.writeString(struct.preferredJobSubmissionProtocol);
> +          oprot.writeI32(struct.preferredJobSubmissionProtocol.getValue());
>           oprot.writeFieldEnd();
>         }
>       }
>       if (struct.preferredDataMovementProtocol != null) {
>         if (struct.isSetPreferredDataMovementProtocol()) {
>           oprot.writeFieldBegin(PREFERRED_DATA_MOVEMENT_PROTOCOL_FIELD_DESC);
> -          oprot.writeString(struct.preferredDataMovementProtocol);
> +          oprot.writeI32(struct.preferredDataMovementProtocol.getValue());
>           oprot.writeFieldEnd();
>         }
>       }
> @@ -977,10 +1001,10 @@ import org.slf4j.LoggerFactory;
>       }
>       oprot.writeBitSet(optionals, 5);
>       if (struct.isSetPreferredJobSubmissionProtocol()) {
> -        oprot.writeString(struct.preferredJobSubmissionProtocol);
> +        oprot.writeI32(struct.preferredJobSubmissionProtocol.getValue());
>       }
>       if (struct.isSetPreferredDataMovementProtocol()) {
> -        oprot.writeString(struct.preferredDataMovementProtocol);
> +        oprot.writeI32(struct.preferredDataMovementProtocol.getValue());
>       }
>       if (struct.isSetPreferredBatchQueue()) {
>         oprot.writeString(struct.preferredBatchQueue);
> @@ -1002,11 +1026,11 @@ import org.slf4j.LoggerFactory;
>       struct.setOverridebyAiravataIsSet(true);
>       BitSet incoming = iprot.readBitSet(5);
>       if (incoming.get(0)) {
> -        struct.preferredJobSubmissionProtocol = iprot.readString();
> +        struct.preferredJobSubmissionProtocol = org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol.findByValue(iprot.readI32());
>         struct.setPreferredJobSubmissionProtocolIsSet(true);
>       }
>       if (incoming.get(1)) {
> -        struct.preferredDataMovementProtocol = iprot.readString();
> +        struct.preferredDataMovementProtocol = org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol.findByValue(iprot.readI32());
>         struct.setPreferredDataMovementProtocolIsSet(true);
>       }
>       if (incoming.get(2)) {
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
> ----------------------------------------------------------------------
> diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
> index 62ebfe5..80a70df 100644
> --- a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
> +++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
> @@ -83,6 +83,21 @@ enum JobManagerCommand {
> }
> 
> /**
> +* Monitoring modes
> +*
> +* PUSH:
> +* Server will push job status changes.
> +*
> +* PULL:
> +* Need to pull and get the Job status changes.
> +*
> +**/
> +enum MonitorMode {
> +   PUSH,
> +   PULL
> +}
> +
> +/**
>  * Resource Job Manager Information
>  *
>  * resourceJobManagerType:
> @@ -104,7 +119,8 @@ struct ResourceJobManager {
>     2: required ResourceJobManagerType resourceJobManagerType,
>     3: optional string pushMonitoringEndpoint,
>     4: optional string jobManagerBinPath,
> -    5: optional map<JobManagerCommand, string> jobManagerCommands
> +    5: optional map<JobManagerCommand, string> jobManagerCommands,
> +    6: optional MonitorMode monitorMode
> }
> 
> /**
> 
> http://git-wip-us.apache.org/repos/asf/airavata/blob/a15be7ca/airavata-api/thrift-interface-descriptions/gatewayResourceProfileModel.thrift
> ----------------------------------------------------------------------
> diff --git a/airavata-api/thrift-interface-descriptions/gatewayResourceProfileModel.thrift b/airavata-api/thrift-interface-descriptions/gatewayResourceProfileModel.thrift
> index fb856b3..3839890 100644
> --- a/airavata-api/thrift-interface-descriptions/gatewayResourceProfileModel.thrift
> +++ b/airavata-api/thrift-interface-descriptions/gatewayResourceProfileModel.thrift
> @@ -21,6 +21,7 @@
> namespace java org.apache.airavata.model.appcatalog.gatewayprofile
> namespace php Airavata.Model.AppCatalog.GatewayProfile
> namespace cpp apache.airavata.model.appcatalog.gatewayprofile
> +include "computeResourceModel.thrift"
> 
> const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
> 
> @@ -54,8 +55,8 @@ const string DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
> struct ComputeResourcePreference {
>     1: required string computeResourceId,
>     2: required bool overridebyAiravata = 1,
> -    3: optional string preferredJobSubmissionProtocol,
> -    4: optional string preferredDataMovementProtocol,
> +    3: optional computeResourceModel.JobSubmissionProtocol preferredJobSubmissionProtocol,
> +    4: optional computeResourceModel.DataMovementProtocol preferredDataMovementProtocol,
>     5: optional string preferredBatchQueue,
>     6: optional string scratchLocation,
>     7: optional string allocationProjectNumber
> 


Mime
View raw message