def add_datasource(hash, &callback)
      required = %i[resourceId feedId xaDatasource datasourceName jndiName
                    driverName driverClass connectionUrl]
      check_pre_conditions hash, required, &callback

      invoke_specific_operation(hash, 'AddDatasource', &callback)
    end
def add_datasource(hash, &callback)
      required = %i[resourceId feedId xaDatasource datasourceName jndiName
                    driverName driverClass connectionUrl]
      check_pre_conditions hash, required, &callback

      invoke_specific_operation(hash, 'AddDatasource', &callback)
    end
Adds a new datasource

 @param [Hash] hash Arguments for the datasource
 @option hash [String]  :resourceId ID of the WildFly server into which we add datasource
 @option hash [String]  :feedId ID of the feed containing the WildFly server
 @option hash [String]  :xaDatasource XA DS or normal
 @option hash [String]  :datasourceName name of the datasource
 @option hash [String]  :jndiName JNDI name
 @option hash [String]  :driverName this is internal name of the driver in Hawkular
 @option hash [String]  :driverClass class of driver
 @option hash [String]  :connectionUrl jdbc connection string
 @option hash [String]  :datasourceProperties optional properties
 @option hash [String]  :username username to DB
 @option hash [String]  :password password to DB

 @param callback [Block] callback that is run after the operation is done