Commit c0c06b7d authored by Spiros Koulouzis's avatar Spiros Koulouzis

implementing swarm info api

parent 90c9dc20
...@@ -45,8 +45,8 @@ tar -xzf keystore.tar.gz && \ ...@@ -45,8 +45,8 @@ tar -xzf keystore.tar.gz && \
wget https://raw.githubusercontent.com/QCAPI-DRIP/DRIP-integradation/master/conf/server.xml && \ wget https://raw.githubusercontent.com/QCAPI-DRIP/DRIP-integradation/master/conf/server.xml && \
mv /root/server.xml /root/apache-tomcat-7.0.75/conf/server.xml && \ mv /root/server.xml /root/apache-tomcat-7.0.75/conf/server.xml && \
sed -i "s#keystoreFile=\"\${user.home\}/.keystore\" keystorePass=\"changeit\"#keystoreFile=\"\${user.home\}/.keystore\" keystorePass=\"$keystorePass\"#" /root/apache-tomcat-7.0.75/conf/server.xml &&\ sed -i "s#keystoreFile=\"\${user.home\}/.keystore\" keystorePass=\"changeit\"#keystoreFile=\"\${user.home\}/.keystore\" keystorePass=\"$keystorePass\"#" /root/apache-tomcat-7.0.75/conf/server.xml &&\
sleep 10 && \
/root/apache-tomcat-7.0.75/bin/startup.sh && \ /root/apache-tomcat-7.0.75/bin/startup.sh && \
sleep 10 && \
tail -f /root/apache-tomcat-7.0.75/logs/catalina.out tail -f /root/apache-tomcat-7.0.75/logs/catalina.out
......
# http://github.com/yeasy/docker-compose-files
# This compose file will start spark master node and the worker node.
# All nodes will become a cluster automatically.
# You can run: docker-compose scale worker=2
# After startup, try submit a pi calculation application.
# /urs/local/spark/bin/spark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark/lib/spark-examples-1.4.0-hadoop2.6.0.jar 1000
master:
image: sequenceiq/spark:1.4.0
hostname: master
ports:
- "4040:4040"
- "8042:8042"
- "7077:7077"
- "8088:8088"
- "8080:8080"
restart: always
#mem_limit: 1024m
command: bash /usr/local/spark/sbin/start-master.sh && ping localhost > /dev/null
worker:
image: sequenceiq/spark:1.4.0
links:
- master:master
expose:
- "8081"
restart: always
command: bash /usr/local/spark/sbin/start-slave.sh spark://master:7077 && ping localhost >/dev/null
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<h1 class="page-header">Files and Libraries</h1> <h1 class="page-header">Files and Libraries</h1>
<h3 id="artifact_gwt_json_overlay">GWT JSON Overlay</h3> <h3 id="artifact_gwt_json_overlay">GWT JSON Overlay</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p> <p> <p> <p>
The <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> JSON Overlay library provides the JSON Overlays that The <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> JSON Overlay library provides the JSON Overlays that
can be used to access the Web service API for this application. can be used to access the Web service API for this application.
...@@ -91,13 +91,13 @@ ...@@ -91,13 +91,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-gwt-json-overlay.jar"> <tr class="clickable-row" data-href="drip-api-gwt-json-overlay.jar">
<td><span class="downloadfile-name">drip-api-gwt-json-overlay.jar</span></td> <td><span class="downloadfile-name">drip-api-gwt-json-overlay.jar</span></td>
<td><span class="downloadfile-size">13.51K</span></td> <td><span class="downloadfile-size">13.52K</span></td>
<td><span class="downloadfile-description">The sources for the GWT JSON overlay.</span></td> <td><span class="downloadfile-description">The sources for the GWT JSON overlay.</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_java_json_client_library">Java JSON Client Library</h3> <h3 id="artifact_java_json_client_library">Java JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Java client-side library is used to provide the set of Java objects that can be serialized The Java client-side library is used to provide the set of Java objects that can be serialized
to/from JSON using <a href="http://jackson.codehaus.org/">Jackson</a>. This is useful for accessing the to/from JSON using <a href="http://jackson.codehaus.org/">Jackson</a>. This is useful for accessing the
...@@ -121,13 +121,13 @@ ...@@ -121,13 +121,13 @@
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar"> <tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar">
<td><span class="downloadfile-name">drip-api-json-client-json-sources.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client-json-sources.jar</span></td>
<td><span class="downloadfile-size">13.96K</span></td> <td><span class="downloadfile-size">13.97K</span></td>
<td><span class="downloadfile-description">The sources for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The sources for the Java JSON client library.</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_java_xml_client_library">Java XML Client Library</h3> <h3 id="artifact_java_xml_client_library">Java XML Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Java client-side library is used to access the Web service API for this application using Java. The Java client-side library is used to access the Web service API for this application using Java.
</p> </p>
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
</tbody> </tbody>
</table> </table>
<h3 id="artifact_js_client_library">JavaScript Client Library</h3> <h3 id="artifact_js_client_library">JavaScript Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The JavaScript client-side library defines classes that can be (de)serialized to/from JSON. The JavaScript client-side library defines classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</tbody> </tbody>
</table> </table>
<h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3> <h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The PHP JSON client-side library defines the PHP classes that can be (de)serialized to/from JSON. The PHP JSON client-side library defines the PHP classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -213,13 +213,13 @@ ...@@ -213,13 +213,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">5.79K</span></td> <td><span class="downloadfile-size">5.82K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_php_xml_client_library">PHP XML Client Library</h3> <h3 id="artifact_php_xml_client_library">PHP XML Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The PHP client-side library defines the PHP classes that can be (de)serialized to/from XML. The PHP client-side library defines the PHP classes that can be (de)serialized to/from XML.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -245,13 +245,13 @@ ...@@ -245,13 +245,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">9.00K</span></td> <td><span class="downloadfile-size">8.99K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_ruby_json_client_library">Ruby JSON Client Library</h3> <h3 id="artifact_ruby_json_client_library">Ruby JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Ruby JSON client-side library defines the Ruby classes that can be (de)serialized to/from JSON. The Ruby JSON client-side library defines the Ruby classes that can be (de)serialized to/from JSON.
This is useful for accessing the REST endpoints that are published by this application, but only This is useful for accessing the REST endpoints that are published by this application, but only
......
...@@ -75,6 +75,139 @@ module EnunciateHelpers ...@@ -75,6 +75,139 @@ module EnunciateHelpers
end end
module Nl
module Uva
module Sne
module Drip
module Drip
module Commons
module Data
module V1
module External
# (no documentation provided)
class DeployParameter
# the IP
attr_accessor :IP
# the user
attr_accessor :user
# the role
attr_accessor :role
# the json hash for this DeployParameter
def to_jaxb_json_hash
_h = {}
_h['IP'] = IP.to_jaxb_json_hash unless IP.nil?
_h['user'] = user.to_jaxb_json_hash unless user.nil?
_h['role'] = role.to_jaxb_json_hash unless role.nil?
return _h
end
# the json (string form) for this DeployParameter
def to_json
to_jaxb_json_hash.to_json
end
#initializes this DeployParameter with a json hash
def init_jaxb_json_hash(_o)
if !_o['IP'].nil?
_oa = _o['IP']
if(_oa.is_a? Hash)
@IP = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@IP = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@IP = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@IP.push String.from_json(_item)
else
@IP.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@IP = _oa
end
end
if !_o['user'].nil?
_oa = _o['user']
if(_oa.is_a? Hash)
@user = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@user = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@user = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@user.push String.from_json(_item)
else
@user.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@user = _oa
end
end
if !_o['role'].nil?
_oa = _o['role']
if(_oa.is_a? Hash)
@role = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@role = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@role = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@role.push String.from_json(_item)
else
@role.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@role = _oa
end
end
end
# constructs a DeployParameter from a (parsed) JSON hash
def self.from_json(o)
if o.nil?
return nil
else
inst = new
inst.init_jaxb_json_hash o
return inst
end
end
end
end
end
end
end
end
end
end
end
end
module Nl module Nl
module Uva module Uva
...@@ -541,139 +674,6 @@ module Data ...@@ -541,139 +674,6 @@ module Data
module V1 module V1
module External
# (no documentation provided)
class DeployParameter
# the IP
attr_accessor :IP
# the user
attr_accessor :user
# the role
attr_accessor :role
# the json hash for this DeployParameter
def to_jaxb_json_hash
_h = {}
_h['IP'] = IP.to_jaxb_json_hash unless IP.nil?
_h['user'] = user.to_jaxb_json_hash unless user.nil?
_h['role'] = role.to_jaxb_json_hash unless role.nil?
return _h
end
# the json (string form) for this DeployParameter
def to_json
to_jaxb_json_hash.to_json
end
#initializes this DeployParameter with a json hash
def init_jaxb_json_hash(_o)
if !_o['IP'].nil?
_oa = _o['IP']
if(_oa.is_a? Hash)
@IP = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@IP = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@IP = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@IP.push String.from_json(_item)
else
@IP.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@IP = _oa
end
end
if !_o['user'].nil?
_oa = _o['user']
if(_oa.is_a? Hash)
@user = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@user = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@user = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@user.push String.from_json(_item)
else
@user.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@user = _oa
end
end
if !_o['role'].nil?
_oa = _o['role']
if(_oa.is_a? Hash)
@role = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@role = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@role = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@role.push String.from_json(_item)
else
@role.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@role = _oa
end
end
end
# constructs a DeployParameter from a (parsed) JSON hash
def self.from_json(o)
if o.nil?
return nil
else
inst = new
inst.init_jaxb_json_hash o
return inst
end
end
end
end
end
end
end
end
end
end
end
end
module Nl
module Uva
module Sne
module Drip
module Drip
module Commons
module Data
module V1
module External module External
# (no documentation provided) # (no documentation provided)
...@@ -1211,156 +1211,88 @@ module V1 ...@@ -1211,156 +1211,88 @@ module V1
module External module External
module Ansible
# (no documentation provided) # (no documentation provided)
class AnsibleOutput < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class ScaleRequest < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# the host # the scaleTargetID
attr_accessor :host attr_accessor :scaleTargetID
# the result # the scaleTargetName
attr_accessor :result attr_accessor :scaleTargetName
# the domain # the numOfInstances
attr_accessor :cloudDeploymentDomain attr_accessor :numOfInstances
#
attr_accessor :vmType
# the provision ID
attr_accessor :provisionID
# the cloudProvider
attr_accessor :cloudProvider
# the json hash for this AnsibleOutput # the json hash for this ScaleRequest
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['host'] = host.to_jaxb_json_hash unless host.nil? _h['scaleTargetID'] = scaleTargetID.to_jaxb_json_hash unless scaleTargetID.nil?
_h['result'] = result.to_jaxb_json_hash unless result.nil? _h['scaleTargetName'] = scaleTargetName.to_jaxb_json_hash unless scaleTargetName.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil? _h['numOfInstances'] = numOfInstances.to_jaxb_json_hash unless numOfInstances.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['provisionID'] = provisionID.to_jaxb_json_hash unless provisionID.nil?
_h['cloudProvider'] = cloudProvider.to_jaxb_json_hash unless cloudProvider.nil?
return _h return _h
end end
#initializes this AnsibleOutput with a json hash #initializes this ScaleRequest with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['host'].nil? if !_o['scaleTargetID'].nil?
_oa = _o['host'] _oa = _o['scaleTargetID']
if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@host = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item)
else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@host = _oa
end
end
if !_o['result'].nil?
_oa = _o['result']
if(_oa.is_a? Hash)
@result = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@result = Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@result = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@result.push Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_item)
else
@result.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@result = _oa
end
end
if !_o['cloudDeploymentDomain'].nil?
_oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudDeploymentDomain = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudDeploymentDomain.push String.from_json(_item)
else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil?
_oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @scaleTargetID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class'] @scaleTargetID = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@vmType = Array.new @scaleTargetID = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@vmType.push String.from_json(_item) @scaleTargetID.push String.from_json(_item)
else else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @scaleTargetID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@vmType = _oa @scaleTargetID = _oa
end end
end end
if !_o['provisionID'].nil? if !_o['scaleTargetName'].nil?
_oa = _o['provisionID'] _oa = _o['scaleTargetName']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@provisionID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @scaleTargetName = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@provisionID = String.from_json(_oa) unless _oa['@class'] @scaleTargetName = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@provisionID = Array.new @scaleTargetName = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@provisionID.push String.from_json(_item) @scaleTargetName.push String.from_json(_item)
else else
@provisionID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @scaleTargetName.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@provisionID = _oa @scaleTargetName = _oa
end end
end end
if !_o['cloudProvider'].nil? if !_o['numOfInstances'].nil?
_oa = _o['cloudProvider'] _oa = _o['numOfInstances']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@cloudProvider = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @numOfInstances = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudProvider = String.from_json(_oa) unless _oa['@class'] @numOfInstances = Fixnum.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@cloudProvider = Array.new @numOfInstances = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudProvider.push String.from_json(_item) @numOfInstances.push Fixnum.from_json(_item)
else else
@cloudProvider.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @numOfInstances.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@cloudProvider = _oa @numOfInstances = _oa
end end
end end
end end
# constructs a AnsibleOutput from a (parsed) JSON hash # constructs a ScaleRequest from a (parsed) JSON hash
def self.from_json(o) def self.from_json(o)
if o.nil? if o.nil?
return nil return nil
...@@ -1390,8 +1322,6 @@ end ...@@ -1390,8 +1322,6 @@ end
end end
end
module Nl module Nl
module Uva module Uva
...@@ -1566,34 +1496,72 @@ module Ansible ...@@ -1566,34 +1496,72 @@ module Ansible
# (no documentation provided) # (no documentation provided)
class BenchmarkResult < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class BenchmarkResult < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# (no documentation provided)
attr_accessor :end
# (no documentation provided)
attr_accessor :host
# (no documentation provided) # (no documentation provided)
attr_accessor :start attr_accessor :start
# (no documentation provided) # (no documentation provided)
attr_accessor :delta attr_accessor :delta
# (no documentation provided) # (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :vmType attr_accessor :vmType
# (no documentation provided) # (no documentation provided)
attr_accessor :end attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :host
# the json hash for this BenchmarkResult # the json hash for this BenchmarkResult
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['end'] = end.to_jaxb_json_hash unless end.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['start'] = start.to_jaxb_json_hash unless start.nil? _h['start'] = start.to_jaxb_json_hash unless start.nil?
_h['delta'] = delta.to_jaxb_json_hash unless delta.nil? _h['delta'] = delta.to_jaxb_json_hash unless delta.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil? _h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['end'] = end.to_jaxb_json_hash unless end.nil? _h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
return _h return _h
end end
#initializes this BenchmarkResult with a json hash #initializes this BenchmarkResult with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['end'].nil?
_oa = _o['end']
if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@end = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item)
else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@end = _oa
end
end
if !_o['host'].nil?
_oa = _o['host']
if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@host = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item)
else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@host = _oa
end
end
if !_o['start'].nil? if !_o['start'].nil?
_oa = _o['start'] _oa = _o['start']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
...@@ -1632,25 +1600,6 @@ module Ansible ...@@ -1632,25 +1600,6 @@ module Ansible
@delta = _oa @delta = _oa
end end
end end
if !_o['cloudDeploymentDomain'].nil?
_oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudDeploymentDomain = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudDeploymentDomain.push String.from_json(_item)
else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil? if !_o['vmType'].nil?
_oa = _o['vmType'] _oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
...@@ -1670,42 +1619,23 @@ module Ansible ...@@ -1670,42 +1619,23 @@ module Ansible
@vmType = _oa @vmType = _oa
end end
end end
if !_o['end'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['end'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@end = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item)
else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@end = _oa
end
end
if !_o['host'].nil?
_oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class'] @cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@host = Array.new @cloudDeploymentDomain = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@host = _oa @cloudDeploymentDomain = _oa
end end
end end
end end
...@@ -2127,88 +2057,156 @@ module V1 ...@@ -2127,88 +2057,156 @@ module V1
module External module External
module Ansible
# (no documentation provided) # (no documentation provided)
class ScaleRequest < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class AnsibleOutput < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# the scaleTargetID # the host
attr_accessor :scaleTargetID attr_accessor :host
# the scaleTargetName # the result
attr_accessor :scaleTargetName attr_accessor :result
# the numOfInstances # the domain
attr_accessor :numOfInstances attr_accessor :cloudDeploymentDomain
#
attr_accessor :vmType
# the provision ID
attr_accessor :provisionID
# the cloudProvider
attr_accessor :cloudProvider
# the json hash for this ScaleRequest # the json hash for this AnsibleOutput
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['scaleTargetID'] = scaleTargetID.to_jaxb_json_hash unless scaleTargetID.nil? _h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['scaleTargetName'] = scaleTargetName.to_jaxb_json_hash unless scaleTargetName.nil? _h['result'] = result.to_jaxb_json_hash unless result.nil?
_h['numOfInstances'] = numOfInstances.to_jaxb_json_hash unless numOfInstances.nil? _h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['provisionID'] = provisionID.to_jaxb_json_hash unless provisionID.nil?
_h['cloudProvider'] = cloudProvider.to_jaxb_json_hash unless cloudProvider.nil?
return _h return _h
end end
#initializes this ScaleRequest with a json hash #initializes this AnsibleOutput with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['scaleTargetID'].nil? if !_o['host'].nil?
_oa = _o['scaleTargetID'] _oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@scaleTargetID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@scaleTargetID = String.from_json(_oa) unless _oa['@class'] @host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@scaleTargetID = Array.new @host = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@scaleTargetID.push String.from_json(_item) @host.push String.from_json(_item)
else else
@scaleTargetID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@scaleTargetID = _oa @host = _oa
end end
end end
if !_o['scaleTargetName'].nil? if !_o['result'].nil?
_oa = _o['scaleTargetName'] _oa = _o['result']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@scaleTargetName = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @result = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@scaleTargetName = String.from_json(_oa) unless _oa['@class'] @result = Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@scaleTargetName = Array.new @result = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@scaleTargetName.push String.from_json(_item) @result.push Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_item)
else else
@scaleTargetName.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @result.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@scaleTargetName = _oa @result = _oa
end end
end end
if !_o['numOfInstances'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['numOfInstances'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@numOfInstances = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@numOfInstances = Fixnum.from_json(_oa) unless _oa['@class'] @cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@numOfInstances = Array.new @cloudDeploymentDomain = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@numOfInstances.push Fixnum.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@numOfInstances.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@numOfInstances = _oa @cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil?
_oa = _o['vmType']
if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@vmType = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@vmType.push String.from_json(_item)
else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@vmType = _oa
end
end
if !_o['provisionID'].nil?
_oa = _o['provisionID']
if(_oa.is_a? Hash)
@provisionID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@provisionID = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@provisionID = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@provisionID.push String.from_json(_item)
else
@provisionID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@provisionID = _oa
end
end
if !_o['cloudProvider'].nil?
_oa = _o['cloudProvider']
if(_oa.is_a? Hash)
@cloudProvider = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudProvider = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudProvider = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudProvider.push String.from_json(_item)
else
@cloudProvider.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudProvider = _oa
end end
end end
end end
# constructs a ScaleRequest from a (parsed) JSON hash # constructs a AnsibleOutput from a (parsed) JSON hash
def self.from_json(o) def self.from_json(o)
if o.nil? if o.nil?
return nil return nil
...@@ -2238,6 +2236,8 @@ end ...@@ -2238,6 +2236,8 @@ end
end end
end
module Nl module Nl
module Uva module Uva
......
...@@ -81,16 +81,16 @@ class</p> ...@@ -81,16 +81,16 @@ class</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td> <span class="property-name">start</span> <td> <span class="property-name">host</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">string
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">cloudDeploymentDomain</span> <td> <span class="property-name">vmType</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -99,16 +99,16 @@ class</p> ...@@ -99,16 +99,16 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">vmType</span> <td> <span class="property-name">end</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">number
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">delta</span> <td> <span class="property-name">start</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -117,7 +117,7 @@ class</p> ...@@ -117,7 +117,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">end</span> <td> <span class="property-name">delta</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -126,7 +126,7 @@ class</p> ...@@ -126,7 +126,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">host</span> <td> <span class="property-name">cloudDeploymentDomain</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -165,12 +165,12 @@ object is saved.</span></td> ...@@ -165,12 +165,12 @@ object is saved.</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-js example">{ <pre class="prettyprint language-js example">{
&quot;start&quot; : 12345, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -804,17 +804,17 @@ class]]> ...@@ -804,17 +804,17 @@ class]]>
<xs:complexContent> <xs:complexContent>
<xs:extension base="ownedObject"> <xs:extension base="ownedObject">
<xs:sequence> <xs:sequence>
<xs:element name="start" type="xs:dateTime" minOccurs="0"> <xs:element name="host" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="delta" type="xs:dateTime" minOccurs="0"> <xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="start" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0"> <xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="end" type="xs:dateTime" minOccurs="0"> <xs:element name="end" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="host" type="xs:string" minOccurs="0"> <xs:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
......
...@@ -144,12 +144,12 @@ Content-Type: application/json ...@@ -144,12 +144,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
[ { [ {
&quot;start&quot; : 12345, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
...@@ -514,12 +514,12 @@ Content-Type: application/json ...@@ -514,12 +514,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
{ {
&quot;start&quot; : 12345, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -231,12 +231,12 @@ the DAO saves the object based on the principal how made the call</span></td> ...@@ -231,12 +231,12 @@ the DAO saves the object based on the principal how made the call</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-xml example">&lt;b-----&gt; <pre class="prettyprint language-xml example">&lt;b-----&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;start&gt;...&lt;/start&gt; &lt;start&gt;...&lt;/start&gt;
&lt;delta&gt;...&lt;/delta&gt;
&lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt; &lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt;
&lt;end&gt;...&lt;/end&gt; &lt;end&gt;...&lt;/end&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt; &lt;delta&gt;...&lt;/delta&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;timestamp&gt;1499793079011&lt;/timestamp&gt; &lt;timestamp&gt;1499793079011&lt;/timestamp&gt;
&lt;/b-----&gt; &lt;/b-----&gt;
......
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<h1 class="page-header">Files and Libraries</h1> <h1 class="page-header">Files and Libraries</h1>
<h3 id="artifact_gwt_json_overlay">GWT JSON Overlay</h3> <h3 id="artifact_gwt_json_overlay">GWT JSON Overlay</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p> <p> <p> <p>
The <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> JSON Overlay library provides the JSON Overlays that The <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> JSON Overlay library provides the JSON Overlays that
can be used to access the Web service API for this application. can be used to access the Web service API for this application.
...@@ -91,13 +91,13 @@ ...@@ -91,13 +91,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-gwt-json-overlay.jar"> <tr class="clickable-row" data-href="drip-api-gwt-json-overlay.jar">
<td><span class="downloadfile-name">drip-api-gwt-json-overlay.jar</span></td> <td><span class="downloadfile-name">drip-api-gwt-json-overlay.jar</span></td>
<td><span class="downloadfile-size">13.51K</span></td> <td><span class="downloadfile-size">13.52K</span></td>
<td><span class="downloadfile-description">The sources for the GWT JSON overlay.</span></td> <td><span class="downloadfile-description">The sources for the GWT JSON overlay.</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_java_json_client_library">Java JSON Client Library</h3> <h3 id="artifact_java_json_client_library">Java JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Java client-side library is used to provide the set of Java objects that can be serialized The Java client-side library is used to provide the set of Java objects that can be serialized
to/from JSON using <a href="http://jackson.codehaus.org/">Jackson</a>. This is useful for accessing the to/from JSON using <a href="http://jackson.codehaus.org/">Jackson</a>. This is useful for accessing the
...@@ -121,13 +121,13 @@ ...@@ -121,13 +121,13 @@
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar"> <tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar">
<td><span class="downloadfile-name">drip-api-json-client-json-sources.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client-json-sources.jar</span></td>
<td><span class="downloadfile-size">13.96K</span></td> <td><span class="downloadfile-size">13.97K</span></td>
<td><span class="downloadfile-description">The sources for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The sources for the Java JSON client library.</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_java_xml_client_library">Java XML Client Library</h3> <h3 id="artifact_java_xml_client_library">Java XML Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Java client-side library is used to access the Web service API for this application using Java. The Java client-side library is used to access the Web service API for this application using Java.
</p> </p>
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
</tbody> </tbody>
</table> </table>
<h3 id="artifact_js_client_library">JavaScript Client Library</h3> <h3 id="artifact_js_client_library">JavaScript Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The JavaScript client-side library defines classes that can be (de)serialized to/from JSON. The JavaScript client-side library defines classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</tbody> </tbody>
</table> </table>
<h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3> <h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The PHP JSON client-side library defines the PHP classes that can be (de)serialized to/from JSON. The PHP JSON client-side library defines the PHP classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -213,13 +213,13 @@ ...@@ -213,13 +213,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">5.79K</span></td> <td><span class="downloadfile-size">5.82K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_php_xml_client_library">PHP XML Client Library</h3> <h3 id="artifact_php_xml_client_library">PHP XML Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The PHP client-side library defines the PHP classes that can be (de)serialized to/from XML. The PHP client-side library defines the PHP classes that can be (de)serialized to/from XML.
This is useful for accessing the resources that are published by this application, but only This is useful for accessing the resources that are published by this application, but only
...@@ -245,13 +245,13 @@ ...@@ -245,13 +245,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">9.00K</span></td> <td><span class="downloadfile-size">8.99K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3 id="artifact_ruby_json_client_library">Ruby JSON Client Library</h3> <h3 id="artifact_ruby_json_client_library">Ruby JSON Client Library</h3>
<p class="lead">Created September 26, 2017</p> <p class="lead">Created October 3, 2017</p>
<p><p> <p><p>
The Ruby JSON client-side library defines the Ruby classes that can be (de)serialized to/from JSON. The Ruby JSON client-side library defines the Ruby classes that can be (de)serialized to/from JSON.
This is useful for accessing the REST endpoints that are published by this application, but only This is useful for accessing the REST endpoints that are published by this application, but only
......
...@@ -75,6 +75,139 @@ module EnunciateHelpers ...@@ -75,6 +75,139 @@ module EnunciateHelpers
end end
module Nl
module Uva
module Sne
module Drip
module Drip
module Commons
module Data
module V1
module External
# (no documentation provided)
class DeployParameter
# the IP
attr_accessor :IP
# the user
attr_accessor :user
# the role
attr_accessor :role
# the json hash for this DeployParameter
def to_jaxb_json_hash
_h = {}
_h['IP'] = IP.to_jaxb_json_hash unless IP.nil?
_h['user'] = user.to_jaxb_json_hash unless user.nil?
_h['role'] = role.to_jaxb_json_hash unless role.nil?
return _h
end
# the json (string form) for this DeployParameter
def to_json
to_jaxb_json_hash.to_json
end
#initializes this DeployParameter with a json hash
def init_jaxb_json_hash(_o)
if !_o['IP'].nil?
_oa = _o['IP']
if(_oa.is_a? Hash)
@IP = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@IP = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@IP = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@IP.push String.from_json(_item)
else
@IP.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@IP = _oa
end
end
if !_o['user'].nil?
_oa = _o['user']
if(_oa.is_a? Hash)
@user = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@user = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@user = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@user.push String.from_json(_item)
else
@user.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@user = _oa
end
end
if !_o['role'].nil?
_oa = _o['role']
if(_oa.is_a? Hash)
@role = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@role = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@role = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@role.push String.from_json(_item)
else
@role.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@role = _oa
end
end
end
# constructs a DeployParameter from a (parsed) JSON hash
def self.from_json(o)
if o.nil?
return nil
else
inst = new
inst.init_jaxb_json_hash o
return inst
end
end
end
end
end
end
end
end
end
end
end
end
module Nl module Nl
module Uva module Uva
...@@ -541,139 +674,6 @@ module Data ...@@ -541,139 +674,6 @@ module Data
module V1 module V1
module External
# (no documentation provided)
class DeployParameter
# the IP
attr_accessor :IP
# the user
attr_accessor :user
# the role
attr_accessor :role
# the json hash for this DeployParameter
def to_jaxb_json_hash
_h = {}
_h['IP'] = IP.to_jaxb_json_hash unless IP.nil?
_h['user'] = user.to_jaxb_json_hash unless user.nil?
_h['role'] = role.to_jaxb_json_hash unless role.nil?
return _h
end
# the json (string form) for this DeployParameter
def to_json
to_jaxb_json_hash.to_json
end
#initializes this DeployParameter with a json hash
def init_jaxb_json_hash(_o)
if !_o['IP'].nil?
_oa = _o['IP']
if(_oa.is_a? Hash)
@IP = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@IP = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@IP = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@IP.push String.from_json(_item)
else
@IP.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@IP = _oa
end
end
if !_o['user'].nil?
_oa = _o['user']
if(_oa.is_a? Hash)
@user = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@user = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@user = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@user.push String.from_json(_item)
else
@user.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@user = _oa
end
end
if !_o['role'].nil?
_oa = _o['role']
if(_oa.is_a? Hash)
@role = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@role = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@role = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@role.push String.from_json(_item)
else
@role.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@role = _oa
end
end
end
# constructs a DeployParameter from a (parsed) JSON hash
def self.from_json(o)
if o.nil?
return nil
else
inst = new
inst.init_jaxb_json_hash o
return inst
end
end
end
end
end
end
end
end
end
end
end
end
module Nl
module Uva
module Sne
module Drip
module Drip
module Commons
module Data
module V1
module External module External
# (no documentation provided) # (no documentation provided)
...@@ -1211,156 +1211,88 @@ module V1 ...@@ -1211,156 +1211,88 @@ module V1
module External module External
module Ansible
# (no documentation provided) # (no documentation provided)
class AnsibleOutput < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class ScaleRequest < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# the host # the scaleTargetID
attr_accessor :host attr_accessor :scaleTargetID
# the result # the scaleTargetName
attr_accessor :result attr_accessor :scaleTargetName
# the domain # the numOfInstances
attr_accessor :cloudDeploymentDomain attr_accessor :numOfInstances
#
attr_accessor :vmType
# the provision ID
attr_accessor :provisionID
# the cloudProvider
attr_accessor :cloudProvider
# the json hash for this AnsibleOutput # the json hash for this ScaleRequest
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['host'] = host.to_jaxb_json_hash unless host.nil? _h['scaleTargetID'] = scaleTargetID.to_jaxb_json_hash unless scaleTargetID.nil?
_h['result'] = result.to_jaxb_json_hash unless result.nil? _h['scaleTargetName'] = scaleTargetName.to_jaxb_json_hash unless scaleTargetName.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil? _h['numOfInstances'] = numOfInstances.to_jaxb_json_hash unless numOfInstances.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['provisionID'] = provisionID.to_jaxb_json_hash unless provisionID.nil?
_h['cloudProvider'] = cloudProvider.to_jaxb_json_hash unless cloudProvider.nil?
return _h return _h
end end
#initializes this AnsibleOutput with a json hash #initializes this ScaleRequest with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['host'].nil? if !_o['scaleTargetID'].nil?
_oa = _o['host'] _oa = _o['scaleTargetID']
if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@host = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item)
else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@host = _oa
end
end
if !_o['result'].nil?
_oa = _o['result']
if(_oa.is_a? Hash)
@result = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@result = Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@result = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@result.push Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_item)
else
@result.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@result = _oa
end
end
if !_o['cloudDeploymentDomain'].nil?
_oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudDeploymentDomain = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudDeploymentDomain.push String.from_json(_item)
else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil?
_oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @scaleTargetID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class'] @scaleTargetID = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@vmType = Array.new @scaleTargetID = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@vmType.push String.from_json(_item) @scaleTargetID.push String.from_json(_item)
else else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @scaleTargetID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@vmType = _oa @scaleTargetID = _oa
end end
end end
if !_o['provisionID'].nil? if !_o['scaleTargetName'].nil?
_oa = _o['provisionID'] _oa = _o['scaleTargetName']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@provisionID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @scaleTargetName = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@provisionID = String.from_json(_oa) unless _oa['@class'] @scaleTargetName = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@provisionID = Array.new @scaleTargetName = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@provisionID.push String.from_json(_item) @scaleTargetName.push String.from_json(_item)
else else
@provisionID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @scaleTargetName.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@provisionID = _oa @scaleTargetName = _oa
end end
end end
if !_o['cloudProvider'].nil? if !_o['numOfInstances'].nil?
_oa = _o['cloudProvider'] _oa = _o['numOfInstances']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@cloudProvider = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @numOfInstances = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudProvider = String.from_json(_oa) unless _oa['@class'] @numOfInstances = Fixnum.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@cloudProvider = Array.new @numOfInstances = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudProvider.push String.from_json(_item) @numOfInstances.push Fixnum.from_json(_item)
else else
@cloudProvider.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @numOfInstances.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@cloudProvider = _oa @numOfInstances = _oa
end end
end end
end end
# constructs a AnsibleOutput from a (parsed) JSON hash # constructs a ScaleRequest from a (parsed) JSON hash
def self.from_json(o) def self.from_json(o)
if o.nil? if o.nil?
return nil return nil
...@@ -1390,8 +1322,6 @@ end ...@@ -1390,8 +1322,6 @@ end
end end
end
module Nl module Nl
module Uva module Uva
...@@ -1566,34 +1496,72 @@ module Ansible ...@@ -1566,34 +1496,72 @@ module Ansible
# (no documentation provided) # (no documentation provided)
class BenchmarkResult < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class BenchmarkResult < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# (no documentation provided)
attr_accessor :end
# (no documentation provided)
attr_accessor :host
# (no documentation provided) # (no documentation provided)
attr_accessor :start attr_accessor :start
# (no documentation provided) # (no documentation provided)
attr_accessor :delta attr_accessor :delta
# (no documentation provided) # (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :vmType attr_accessor :vmType
# (no documentation provided) # (no documentation provided)
attr_accessor :end attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :host
# the json hash for this BenchmarkResult # the json hash for this BenchmarkResult
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['end'] = end.to_jaxb_json_hash unless end.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['start'] = start.to_jaxb_json_hash unless start.nil? _h['start'] = start.to_jaxb_json_hash unless start.nil?
_h['delta'] = delta.to_jaxb_json_hash unless delta.nil? _h['delta'] = delta.to_jaxb_json_hash unless delta.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil? _h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['end'] = end.to_jaxb_json_hash unless end.nil? _h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
return _h return _h
end end
#initializes this BenchmarkResult with a json hash #initializes this BenchmarkResult with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['end'].nil?
_oa = _o['end']
if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@end = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item)
else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@end = _oa
end
end
if !_o['host'].nil?
_oa = _o['host']
if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@host = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item)
else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@host = _oa
end
end
if !_o['start'].nil? if !_o['start'].nil?
_oa = _o['start'] _oa = _o['start']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
...@@ -1632,25 +1600,6 @@ module Ansible ...@@ -1632,25 +1600,6 @@ module Ansible
@delta = _oa @delta = _oa
end end
end end
if !_o['cloudDeploymentDomain'].nil?
_oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudDeploymentDomain = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudDeploymentDomain.push String.from_json(_item)
else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil? if !_o['vmType'].nil?
_oa = _o['vmType'] _oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
...@@ -1670,42 +1619,23 @@ module Ansible ...@@ -1670,42 +1619,23 @@ module Ansible
@vmType = _oa @vmType = _oa
end end
end end
if !_o['end'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['end'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@end = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item)
else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@end = _oa
end
end
if !_o['host'].nil?
_oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class'] @cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@host = Array.new @cloudDeploymentDomain = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@host.push String.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@host = _oa @cloudDeploymentDomain = _oa
end end
end end
end end
...@@ -2127,88 +2057,156 @@ module V1 ...@@ -2127,88 +2057,156 @@ module V1
module External module External
module Ansible
# (no documentation provided) # (no documentation provided)
class ScaleRequest < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject class AnsibleOutput < Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::OwnedObject
# the scaleTargetID # the host
attr_accessor :scaleTargetID attr_accessor :host
# the scaleTargetName # the result
attr_accessor :scaleTargetName attr_accessor :result
# the numOfInstances # the domain
attr_accessor :numOfInstances attr_accessor :cloudDeploymentDomain
#
attr_accessor :vmType
# the provision ID
attr_accessor :provisionID
# the cloudProvider
attr_accessor :cloudProvider
# the json hash for this ScaleRequest # the json hash for this AnsibleOutput
def to_jaxb_json_hash def to_jaxb_json_hash
_h = super _h = super
_h['scaleTargetID'] = scaleTargetID.to_jaxb_json_hash unless scaleTargetID.nil? _h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['scaleTargetName'] = scaleTargetName.to_jaxb_json_hash unless scaleTargetName.nil? _h['result'] = result.to_jaxb_json_hash unless result.nil?
_h['numOfInstances'] = numOfInstances.to_jaxb_json_hash unless numOfInstances.nil? _h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['provisionID'] = provisionID.to_jaxb_json_hash unless provisionID.nil?
_h['cloudProvider'] = cloudProvider.to_jaxb_json_hash unless cloudProvider.nil?
return _h return _h
end end
#initializes this ScaleRequest with a json hash #initializes this AnsibleOutput with a json hash
def init_jaxb_json_hash(_o) def init_jaxb_json_hash(_o)
super _o super _o
if !_o['scaleTargetID'].nil? if !_o['host'].nil?
_oa = _o['scaleTargetID'] _oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@scaleTargetID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@scaleTargetID = String.from_json(_oa) unless _oa['@class'] @host = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@scaleTargetID = Array.new @host = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@scaleTargetID.push String.from_json(_item) @host.push String.from_json(_item)
else else
@scaleTargetID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@scaleTargetID = _oa @host = _oa
end end
end end
if !_o['scaleTargetName'].nil? if !_o['result'].nil?
_oa = _o['scaleTargetName'] _oa = _o['result']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@scaleTargetName = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @result = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@scaleTargetName = String.from_json(_oa) unless _oa['@class'] @result = Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@scaleTargetName = Array.new @result = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@scaleTargetName.push String.from_json(_item) @result.push Nl::Uva::Sne::Drip::Drip::Commons::Data::V1::External::Ansible::AnsibleResult.from_json(_item)
else else
@scaleTargetName.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @result.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@scaleTargetName = _oa @result = _oa
end end
end end
if !_o['numOfInstances'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['numOfInstances'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@numOfInstances = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@numOfInstances = Fixnum.from_json(_oa) unless _oa['@class'] @cloudDeploymentDomain = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array) elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar #an array(of hashes hopefully) or scalar
@numOfInstances = Array.new @cloudDeploymentDomain = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@numOfInstances.push Fixnum.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@numOfInstances.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@numOfInstances = _oa @cloudDeploymentDomain = _oa
end
end
if !_o['vmType'].nil?
_oa = _o['vmType']
if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@vmType = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@vmType.push String.from_json(_item)
else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@vmType = _oa
end
end
if !_o['provisionID'].nil?
_oa = _o['provisionID']
if(_oa.is_a? Hash)
@provisionID = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@provisionID = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@provisionID = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@provisionID.push String.from_json(_item)
else
@provisionID.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@provisionID = _oa
end
end
if !_o['cloudProvider'].nil?
_oa = _o['cloudProvider']
if(_oa.is_a? Hash)
@cloudProvider = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudProvider = String.from_json(_oa) unless _oa['@class']
elsif (_oa.is_a? Array)
#an array(of hashes hopefully) or scalar
@cloudProvider = Array.new
_oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true)
@cloudProvider.push String.from_json(_item)
else
@cloudProvider.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end
}
else
@cloudProvider = _oa
end end
end end
end end
# constructs a ScaleRequest from a (parsed) JSON hash # constructs a AnsibleOutput from a (parsed) JSON hash
def self.from_json(o) def self.from_json(o)
if o.nil? if o.nil?
return nil return nil
...@@ -2238,6 +2236,8 @@ end ...@@ -2238,6 +2236,8 @@ end
end end
end
module Nl module Nl
module Uva module Uva
......
...@@ -81,7 +81,7 @@ class</p> ...@@ -81,7 +81,7 @@ class</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td> <span class="property-name">start</span> <td> <span class="property-name">end</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -90,43 +90,43 @@ class</p> ...@@ -90,43 +90,43 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">delta</span> <td> <span class="property-name">host</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">string
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">cloudDeploymentDomain</span> <td> <span class="property-name">start</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">number
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">vmType</span> <td> <span class="property-name">delta</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">number
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">end</span> <td> <span class="property-name">vmType</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">string
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">host</span> <td> <span class="property-name">cloudDeploymentDomain</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -165,12 +165,12 @@ object is saved.</span></td> ...@@ -165,12 +165,12 @@ object is saved.</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-js example">{ <pre class="prettyprint language-js example">{
&quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;end&quot; : 12345, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -69,7 +69,7 @@ class</p> ...@@ -69,7 +69,7 @@ class</p>
<dl class="dl-horizontal"> <dl class="dl-horizontal">
<dt>Subtypes</dt> <dt>Subtypes</dt>
<dd><a href="json_KeyPair.html">KeyPair</a>, <a href="json_ScaleRequest.html">ScaleRequest</a>, <a href="json_AnsibleOutput.html">AnsibleOutput</a>, <a href="json_BenchmarkResult.html">BenchmarkResult</a>, <a href="json_CloudCredentials.html">CloudCredentials</a>, <a href="json_DeployResponse.html">DeployResponse</a>, <a href="json_ProvisionRequest.html">ProvisionRequest</a>, <a href="json_Script.html">Script</a>, <a href="json_KeyValueHolder.html">KeyValueHolder</a>, <a href="json_DeployRequest.html">DeployRequest</a>, <a href="json_ProvisionResponse.html">ProvisionResponse</a></dd> <dd><a href="json_KeyPair.html">KeyPair</a>, <a href="json_AnsibleOutput.html">AnsibleOutput</a>, <a href="json_ScaleRequest.html">ScaleRequest</a>, <a href="json_BenchmarkResult.html">BenchmarkResult</a>, <a href="json_CloudCredentials.html">CloudCredentials</a>, <a href="json_DeployResponse.html">DeployResponse</a>, <a href="json_ProvisionRequest.html">ProvisionRequest</a>, <a href="json_Script.html">Script</a>, <a href="json_KeyValueHolder.html">KeyValueHolder</a>, <a href="json_DeployRequest.html">DeployRequest</a>, <a href="json_ProvisionResponse.html">ProvisionResponse</a></dd>
</dl> </dl>
<table class="table datatype-properties"> <table class="table datatype-properties">
......
...@@ -804,6 +804,8 @@ class]]> ...@@ -804,6 +804,8 @@ class]]>
<xs:complexContent> <xs:complexContent>
<xs:extension base="ownedObject"> <xs:extension base="ownedObject">
<xs:sequence> <xs:sequence>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="delta" type="xs:dateTime" minOccurs="0"> <xs:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="host" type="xs:string" minOccurs="0"> <xs:element name="host" type="xs:string" minOccurs="0">
...@@ -812,8 +814,6 @@ class]]> ...@@ -812,8 +814,6 @@ class]]>
</xs:element> </xs:element>
<xs:element name="start" type="xs:dateTime" minOccurs="0"> <xs:element name="start" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="end" type="xs:dateTime" minOccurs="0"> <xs:element name="end" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
......
...@@ -144,12 +144,12 @@ Content-Type: application/json ...@@ -144,12 +144,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
[ { [ {
&quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;end&quot; : 12345, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
...@@ -514,12 +514,12 @@ Content-Type: application/json ...@@ -514,12 +514,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
{ {
&quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;end&quot; : 12345, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -231,11 +231,11 @@ the DAO saves the object based on the principal how made the call</span></td> ...@@ -231,11 +231,11 @@ the DAO saves the object based on the principal how made the call</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-xml example">&lt;b-----&gt; <pre class="prettyprint language-xml example">&lt;b-----&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;delta&gt;...&lt;/delta&gt; &lt;delta&gt;...&lt;/delta&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt; &lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt; &lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt;
&lt;start&gt;...&lt;/start&gt; &lt;start&gt;...&lt;/start&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;end&gt;...&lt;/end&gt; &lt;end&gt;...&lt;/end&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;timestamp&gt;1499793079011&lt;/timestamp&gt; &lt;timestamp&gt;1499793079011&lt;/timestamp&gt;
......
...@@ -54,6 +54,7 @@ import nl.uva.sne.drip.commons.utils.Converter; ...@@ -54,6 +54,7 @@ import nl.uva.sne.drip.commons.utils.Converter;
import nl.uva.sne.drip.drip.commons.data.v1.external.ConfigurationRepresentation; import nl.uva.sne.drip.drip.commons.data.v1.external.ConfigurationRepresentation;
import nl.uva.sne.drip.drip.commons.data.v1.external.KeyPair; import nl.uva.sne.drip.drip.commons.data.v1.external.KeyPair;
import nl.uva.sne.drip.drip.commons.data.v1.external.ScaleRequest; import nl.uva.sne.drip.drip.commons.data.v1.external.ScaleRequest;
import nl.uva.sne.drip.drip.commons.data.v1.external.SwarmInfo;
import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.AnsibleOutput; import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.AnsibleOutput;
import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.AnsibleResult; import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.AnsibleResult;
import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.BenchmarkResult; import nl.uva.sne.drip.drip.commons.data.v1.external.ansible.BenchmarkResult;
...@@ -96,12 +97,15 @@ public class DeployService { ...@@ -96,12 +97,15 @@ public class DeployService {
private static final String[] PUBLIC_ADRESS_NAMES = new String[]{"public_address", "publicAddress"}; private static final String[] PUBLIC_ADRESS_NAMES = new String[]{"public_address", "publicAddress"};
@PostAuthorize("(returnObject.owner == authentication.name) or (hasRole('ROLE_ADMIN'))") @PostAuthorize("(returnObject.owner == authentication.name) or (hasRole('ROLE_ADMIN'))")
public DeployResponse findOne(String id) { public DeployResponse findOne(String id) throws JSONException, IOException, TimeoutException, InterruptedException {
DeployResponse creds = deployDao.findOne(id); DeployResponse deployDescription = deployDao.findOne(id);
if (creds == null) { if (deployDescription == null) {
throw new NotFoundException(); throw new NotFoundException();
} }
return creds; if (deployDescription.getManagerType().equals("swarm")) {
SwarmInfo swarmInfo = getSwarmInfo(deployDescription);
}
return deployDescription;
} }
@PostFilter("(filterObject.owner == authentication.name) or (hasRole('ROLE_ADMIN'))") @PostFilter("(filterObject.owner == authentication.name) or (hasRole('ROLE_ADMIN'))")
...@@ -156,6 +160,22 @@ public class DeployService { ...@@ -156,6 +160,22 @@ public class DeployService {
return null; return null;
} }
private SwarmInfo getSwarmInfo(DeployResponse deployResp) throws JSONException, IOException, TimeoutException, InterruptedException {
Message deployerInvokationMessage = buildDeployerMessage(
deployResp.getProvisionID(),
"swarm_info",
deployResp.getConfigurationID(),
null,
null);
SwarmInfo info;
try (DRIPCaller deployer = new DeployerCaller(messageBrokerHost);) {
Message response = (deployer.call(deployerInvokationMessage));
List<MessageParameter> params = response.getParameters();
info = buildSwarmInfo(params);
}
return info;
}
private Message buildDeployerMessage(String provisionID, String managerType, String configurationID, String serviceName, Integer numOfCont) throws JSONException { private Message buildDeployerMessage(String provisionID, String managerType, String configurationID, String serviceName, Integer numOfCont) throws JSONException {
ProvisionResponse pro = provisionService.findOne(provisionID); ProvisionResponse pro = provisionService.findOne(provisionID);
if (pro == null) { if (pro == null) {
...@@ -199,7 +219,10 @@ public class DeployService { ...@@ -199,7 +219,10 @@ public class DeployService {
MessageParameter scaleParameter = createScaleParameter(configurationID, serviceName, numOfCont); MessageParameter scaleParameter = createScaleParameter(configurationID, serviceName, numOfCont);
parameters.add(scaleParameter); parameters.add(scaleParameter);
} }
if (managerType.toLowerCase().equals("swarm_info") && configurationID != null) {
MessageParameter swarmInfo = createSwarmInforparameter(configurationID, serviceName);
parameters.add(swarmInfo);
}
Message deployInvokationMessage = new Message(); Message deployInvokationMessage = new Message();
deployInvokationMessage.setParameters(parameters); deployInvokationMessage.setParameters(parameters);
deployInvokationMessage.setCreationDate(System.currentTimeMillis()); deployInvokationMessage.setCreationDate(System.currentTimeMillis());
...@@ -274,6 +297,18 @@ public class DeployService { ...@@ -274,6 +297,18 @@ public class DeployService {
return scaleParameter; return scaleParameter;
} }
private MessageParameter createSwarmInforparameter(String configurationID, String serviceName) {
MessageParameter scaleParameter = new MessageParameter();
scaleParameter.setName("swarm_info");
scaleParameter.setEncoding("UTF-8");
scaleParameter.setValue(configurationID);
Map<String, String> attributes = new HashMap<>();
attributes.put("service", serviceName);
scaleParameter.setAttributes(attributes);
return scaleParameter;
}
public DeployResponse scale(ScaleRequest scaleReq) throws IOException, TimeoutException, InterruptedException, JSONException, Exception { public DeployResponse scale(ScaleRequest scaleReq) throws IOException, TimeoutException, InterruptedException, JSONException, Exception {
//Deployer needs configurationID -> name_of_deployment //Deployer needs configurationID -> name_of_deployment
String deployId = scaleReq.getScaleTargetID(); String deployId = scaleReq.getScaleTargetID();
...@@ -564,4 +599,8 @@ public class DeployService { ...@@ -564,4 +599,8 @@ public class DeployService {
return newJa.toString(); return newJa.toString();
} }
private SwarmInfo buildSwarmInfo(List<MessageParameter> params) {
return null;
}
} }
...@@ -17,6 +17,7 @@ package nl.uva.sne.drip.api.v1.rest; ...@@ -17,6 +17,7 @@ package nl.uva.sne.drip.api.v1.rest;
import com.webcohesion.enunciate.metadata.rs.ResponseCode; import com.webcohesion.enunciate.metadata.rs.ResponseCode;
import com.webcohesion.enunciate.metadata.rs.StatusCodes; import com.webcohesion.enunciate.metadata.rs.StatusCodes;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
...@@ -132,7 +133,12 @@ public class DeployController { ...@@ -132,7 +133,12 @@ public class DeployController {
}) })
public @ResponseBody public @ResponseBody
DeployResponse get(@PathVariable("id") String id) { DeployResponse get(@PathVariable("id") String id) {
DeployResponse resp = deployService.findOne(id); DeployResponse resp = null;
try {
resp = deployService.findOne(id);
} catch (JSONException | IOException | TimeoutException | InterruptedException ex) {
Logger.getLogger(DeployController.class.getName()).log(Level.SEVERE, null, ex);
}
if (resp == null) { if (resp == null) {
throw new NotFoundException(); throw new NotFoundException();
} }
...@@ -173,7 +179,12 @@ public class DeployController { ...@@ -173,7 +179,12 @@ public class DeployController {
}) })
public @ResponseBody public @ResponseBody
String delete(@PathVariable("id") String id) { String delete(@PathVariable("id") String id) {
DeployResponse Key = deployService.findOne(id); DeployResponse Key = null;
try {
Key = deployService.findOne(id);
} catch (JSONException | IOException | TimeoutException | InterruptedException ex) {
Logger.getLogger(DeployController.class.getName()).log(Level.SEVERE, null, ex);
}
if (Key != null) { if (Key != null) {
deployService.delete(id); deployService.delete(id);
return "Deleted : " + id; return "Deleted : " + id;
......
/*
* Copyright 2017 S. Koulouzis, Wang Junchao, Huan Zhou, Yang Hu
*
* Licensed 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.
*/
package nl.uva.sne.drip.drip.commons.data.v1.external;
import org.springframework.data.mongodb.core.mapping.Document;
/**
*
* This is a general manager info representation to abstract information from
* managers like swarm
* @author S. Koulouzis
*
*/
@Document
public class ManagerInfo {
}
/*
* Copyright 2017 S. Koulouzis, Wang Junchao, Huan Zhou, Yang Hu
*
* Licensed 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.
*/
package nl.uva.sne.drip.drip.commons.data.v1.external;
/**
* * This is a manager info representation for swarm
*
* @author S. Koulouzis
*/
public class SwarmInfo extends ManagerInfo {
}
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCUlvxu82ILilu4mlugDXFLEdKxyLp6NnNjxwDWNFkTAXu3JJF8
pWeYS5OF+vCUjrm6roaiyoesj1NXWaIifvPXLLPycYFfzmVt6REir1IEYDHROT76
XyXg+x+BHwUw0EADJrwjIpgb6P8RVhDxpEfgBP2/H2+ONR4HBQuucaw5GQIDAQAB
AoGADXcdSyStJuST6Ue7s+Zj9OyZjljlZTvX+xvGnKLDy7AfuPoMYSJQIAIBTWvv
L1c7x4oXU1tNLjsSz2ClC8E7cYmauR6ECm7+mq4eLIwurKAd3yF2SmzgCe2ok/Rr
y2N1ZQgUdJiPuAbI3A1VqXpqR7CDie/jLp8lLCB4NW5eG4ECQQDmLOPjHfmME9hg
nyYxTomgNQ7g8XIXdeL9r5SPzryZHoIGOOT59Obr1t+YIvofhkC452MB7QyNxg2/
wkmQOMhRAkEApULKZaWybIRKHIRR/zuGLoes81VAwwif0Z7s0W7B1hxwo/YsqEz4
yvHYl7U0rlzsuPXh5P5/T9l+AY3vZRz6SQJBAMfr96f+EhEb75XExeyPtbQkQZ8Z
t6ou55DG33ek7mTkfbUf16pPj/8KLD09LBkTh8XSnElA9uVxP+Htw+1zlHECQEDd
4ovbahlmI6Dl3zmLp7OD1cL9Z5omPHUPKG1cSAE+0IfLDORSsiUWoKmLms4F83T2
LmCv9FDnUapSh/DsWuECQEYJKM5U93JN3rqo96BmFwwDEBk5U3Z2CHNYliVdptR3
W5a6yPgDdzbEsl138ZImFWxxLJ7+4AB7tqG3+S5Qelk=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCUlvxu82ILilu4mlugDXFLEdKxyLp6NnNjxwDWNFkTAXu3JJF8
pWeYS5OF+vCUjrm6roaiyoesj1NXWaIifvPXLLPycYFfzmVt6REir1IEYDHROT76
XyXg+x+BHwUw0EADJrwjIpgb6P8RVhDxpEfgBP2/H2+ONR4HBQuucaw5GQIDAQAB
AoGADXcdSyStJuST6Ue7s+Zj9OyZjljlZTvX+xvGnKLDy7AfuPoMYSJQIAIBTWvv
L1c7x4oXU1tNLjsSz2ClC8E7cYmauR6ECm7+mq4eLIwurKAd3yF2SmzgCe2ok/Rr
y2N1ZQgUdJiPuAbI3A1VqXpqR7CDie/jLp8lLCB4NW5eG4ECQQDmLOPjHfmME9hg
nyYxTomgNQ7g8XIXdeL9r5SPzryZHoIGOOT59Obr1t+YIvofhkC452MB7QyNxg2/
wkmQOMhRAkEApULKZaWybIRKHIRR/zuGLoes81VAwwif0Z7s0W7B1hxwo/YsqEz4
yvHYl7U0rlzsuPXh5P5/T9l+AY3vZRz6SQJBAMfr96f+EhEb75XExeyPtbQkQZ8Z
t6ou55DG33ek7mTkfbUf16pPj/8KLD09LBkTh8XSnElA9uVxP+Htw+1zlHECQEDd
4ovbahlmI6Dl3zmLp7OD1cL9Z5omPHUPKG1cSAE+0IfLDORSsiUWoKmLms4F83T2
LmCv9FDnUapSh/DsWuECQEYJKM5U93JN3rqo96BmFwwDEBk5U3Z2CHNYliVdptR3
W5a6yPgDdzbEsl138ZImFWxxLJ7+4AB7tqG3+S5Qelk=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCUlvxu82ILilu4mlugDXFLEdKxyLp6NnNjxwDWNFkTAXu3JJF8
pWeYS5OF+vCUjrm6roaiyoesj1NXWaIifvPXLLPycYFfzmVt6REir1IEYDHROT76
XyXg+x+BHwUw0EADJrwjIpgb6P8RVhDxpEfgBP2/H2+ONR4HBQuucaw5GQIDAQAB
AoGADXcdSyStJuST6Ue7s+Zj9OyZjljlZTvX+xvGnKLDy7AfuPoMYSJQIAIBTWvv
L1c7x4oXU1tNLjsSz2ClC8E7cYmauR6ECm7+mq4eLIwurKAd3yF2SmzgCe2ok/Rr
y2N1ZQgUdJiPuAbI3A1VqXpqR7CDie/jLp8lLCB4NW5eG4ECQQDmLOPjHfmME9hg
nyYxTomgNQ7g8XIXdeL9r5SPzryZHoIGOOT59Obr1t+YIvofhkC452MB7QyNxg2/
wkmQOMhRAkEApULKZaWybIRKHIRR/zuGLoes81VAwwif0Z7s0W7B1hxwo/YsqEz4
yvHYl7U0rlzsuPXh5P5/T9l+AY3vZRz6SQJBAMfr96f+EhEb75XExeyPtbQkQZ8Z
t6ou55DG33ek7mTkfbUf16pPj/8KLD09LBkTh8XSnElA9uVxP+Htw+1zlHECQEDd
4ovbahlmI6Dl3zmLp7OD1cL9Z5omPHUPKG1cSAE+0IfLDORSsiUWoKmLms4F83T2
LmCv9FDnUapSh/DsWuECQEYJKM5U93JN3rqo96BmFwwDEBk5U3Z2CHNYliVdptR3
W5a6yPgDdzbEsl138ZImFWxxLJ7+4AB7tqG3+S5Qelk=
-----END RSA PRIVATE KEY-----
version: '3'
services:
master:
image: sequenceiq/spark:1.4.0
hostname: master
ports: ['4040:4040', '8042:8042', '7077:7077', '8088:8088', '8080:8080']
restart: always
command: bash /usr/local/spark/sbin/start-master.sh && ping localhost > /dev/null
worker:
image: sequenceiq/spark:1.4.0
links: ['master:master']
expose: ['8081']
restart: always
command: bash /usr/local/spark/sbin/start-slave.sh spark://master:7077 && ping localhost >/dev/null
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC4EbcBgSPMGDWGpnVtnqrVD0CyGrvnc9ZJVvGzxsu8Ct8X7iaW
Gdt0luvnnh4vXRpWiPzm/luQShZ2D4jVmshoXrDRnHjcEhZaJd8wbA8rnO6xc4Gi
sf9QXfjAM/YbkkOORXJtUozHBmQZFm/vpzj6HyfV3IAakKQLGYbCZhyoOQIDAQAB
AoGAGW0xB38sT7wkYLZL0FmzpXzW5gN1Y3KH7leZSckzSYWC7c5S/DcULpXOfo9E
AiztP3jq3onSYisp0SMyNreL6Uq3uCzvlh53RNnBvIrdJ3/AZhgez/wsrFrqzaQ+
PtJtRVR3MItjOr/WEfQMc4rzDYjvdbPUI9/ojwlEUCJC2xECQQDuQL7BBoVnHZtW
42WPBdw3NVvRn4nNSZKKlc7ov05pt+aLA58hdfTsd3xo3WSLVHI4o6ArhbWlXgME
uYVyCIzdAkEAxce8/KbSILW++jtwBIyYIX4DBJNllV8q9jhsz3kcfLnsu9w9nmPC
1E8jZAKXkXSX2XsAWdu4l48EuJsXC3b1DQJBAKf92wK7mGCmzZssZ7W7ChWbeAyM
k1u+nqc9DlGqYp3EX7hxa0jqpTH+5igCwxxDBO7O4OcPNo9NhI9WSLOpN7kCQQCK
y+lsxQWhvuoPYbby+leo6W3kwCwB74+Oy3pQ/4VmYnQoQh9cEFah+Ae2H7uOcGxA
S3mrle6tLcj6ZJx/hzPhAkAl4XtlbxtVlLMwH1ZM/gO7ietdLlM8Uve1SpYVNXaw
LJW2mR8IEhv/oI4UK2k/k269pEcJuKEJMD5Upx6tM5Hu
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC4EbcBgSPMGDWGpnVtnqrVD0CyGrvnc9ZJVvGzxsu8Ct8X7iaW
Gdt0luvnnh4vXRpWiPzm/luQShZ2D4jVmshoXrDRnHjcEhZaJd8wbA8rnO6xc4Gi
sf9QXfjAM/YbkkOORXJtUozHBmQZFm/vpzj6HyfV3IAakKQLGYbCZhyoOQIDAQAB
AoGAGW0xB38sT7wkYLZL0FmzpXzW5gN1Y3KH7leZSckzSYWC7c5S/DcULpXOfo9E
AiztP3jq3onSYisp0SMyNreL6Uq3uCzvlh53RNnBvIrdJ3/AZhgez/wsrFrqzaQ+
PtJtRVR3MItjOr/WEfQMc4rzDYjvdbPUI9/ojwlEUCJC2xECQQDuQL7BBoVnHZtW
42WPBdw3NVvRn4nNSZKKlc7ov05pt+aLA58hdfTsd3xo3WSLVHI4o6ArhbWlXgME
uYVyCIzdAkEAxce8/KbSILW++jtwBIyYIX4DBJNllV8q9jhsz3kcfLnsu9w9nmPC
1E8jZAKXkXSX2XsAWdu4l48EuJsXC3b1DQJBAKf92wK7mGCmzZssZ7W7ChWbeAyM
k1u+nqc9DlGqYp3EX7hxa0jqpTH+5igCwxxDBO7O4OcPNo9NhI9WSLOpN7kCQQCK
y+lsxQWhvuoPYbby+leo6W3kwCwB74+Oy3pQ/4VmYnQoQh9cEFah+Ae2H7uOcGxA
S3mrle6tLcj6ZJx/hzPhAkAl4XtlbxtVlLMwH1ZM/gO7ietdLlM8Uve1SpYVNXaw
LJW2mR8IEhv/oI4UK2k/k269pEcJuKEJMD5Upx6tM5Hu
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC4EbcBgSPMGDWGpnVtnqrVD0CyGrvnc9ZJVvGzxsu8Ct8X7iaW
Gdt0luvnnh4vXRpWiPzm/luQShZ2D4jVmshoXrDRnHjcEhZaJd8wbA8rnO6xc4Gi
sf9QXfjAM/YbkkOORXJtUozHBmQZFm/vpzj6HyfV3IAakKQLGYbCZhyoOQIDAQAB
AoGAGW0xB38sT7wkYLZL0FmzpXzW5gN1Y3KH7leZSckzSYWC7c5S/DcULpXOfo9E
AiztP3jq3onSYisp0SMyNreL6Uq3uCzvlh53RNnBvIrdJ3/AZhgez/wsrFrqzaQ+
PtJtRVR3MItjOr/WEfQMc4rzDYjvdbPUI9/ojwlEUCJC2xECQQDuQL7BBoVnHZtW
42WPBdw3NVvRn4nNSZKKlc7ov05pt+aLA58hdfTsd3xo3WSLVHI4o6ArhbWlXgME
uYVyCIzdAkEAxce8/KbSILW++jtwBIyYIX4DBJNllV8q9jhsz3kcfLnsu9w9nmPC
1E8jZAKXkXSX2XsAWdu4l48EuJsXC3b1DQJBAKf92wK7mGCmzZssZ7W7ChWbeAyM
k1u+nqc9DlGqYp3EX7hxa0jqpTH+5igCwxxDBO7O4OcPNo9NhI9WSLOpN7kCQQCK
y+lsxQWhvuoPYbby+leo6W3kwCwB74+Oy3pQ/4VmYnQoQh9cEFah+Ae2H7uOcGxA
S3mrle6tLcj6ZJx/hzPhAkAl4XtlbxtVlLMwH1ZM/gO7ietdLlM8Uve1SpYVNXaw
LJW2mR8IEhv/oI4UK2k/k269pEcJuKEJMD5Upx6tM5Hu
-----END RSA PRIVATE KEY-----
version: '3'
services:
redis:
image: redis:3.2-alpine
ports: ['6379']
networks: [voteapp]
deploy:
placement:
constraints: [node.role == manager]
db:
image: postgres:9.4
volumes: ['db-data:/var/lib/postgresql/data']
networks: [voteapp]
deploy:
placement:
constraints: [node.role == manager]
voting-app:
image: gaiadocker/example-voting-app-vote:good
ports: ['5000:80']
networks: [voteapp]
depends_on: [redis]
deploy:
mode: replicated
replicas: 2
labels: [APP=VOTING]
placement:
constraints: [node.role == worker]
result-app:
image: gaiadocker/example-voting-app-result:latest
ports: ['5001:80']
networks: [voteapp]
depends_on: [db]
worker:
image: gaiadocker/example-voting-app-worker:latest
networks:
voteapp:
aliases: [workers]
depends_on: [db, redis]
deploy:
mode: replicated
replicas: 2
labels: [APP=VOTING]
resources:
limits: {cpus: 0.25, memory: 512M}
reservations: {cpus: 0.25, memory: 256M}
restart_policy: {condition: on-failure, delay: 5s, max_attempts: 3, window: 120s}
update_config: {parallelism: 1, delay: 10s, failure_action: continue, monitor: 60s,
max_failure_ratio: 0.3}
placement:
constraints: [node.role == worker]
networks: {voteapp: null}
volumes: {db-data: null}
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
version: '3'
services:
master:
image: singularities/spark
command: start-spark master
hostname: master
ports: ['6066:6066', '7070:7070', '8080:8080', '50070:50070']
worker:
image: singularities/spark
command: start-spark worker master
environment: {SPARK_WORKER_CORES: 1, SPARK_WORKER_MEMORY: 2g}
links: [master]
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCzzx+emy4Fq0CR8tRkdsc0Dm03CvWsy2Wv7SI1Qtd7wDRlJAFg
2VEt1Ob3X61eocHOKBxpKBx/q6VpzYJH5oKL2/8jXucs8Qlm9S017Y7YWlCsysAG
jAKdIU6qQIG42vVfk8F7tlyATgxDWibfyVu8TjxJTaT8NgvYyifLYhJxdwIDAQAB
AoGADMeh5bH92WVMl5L8yY8vpWGJHapnv7pNJe3iyopPqnoEv1OJzYpknK9PIzHn
rpwsnCx5qHezXteiUBzNL7MQgCV9hZbq6/56UzrfxWlC5qbADvf4pTwpQYr2QwuE
fdtAyrcJEtb4xz/avnj6QQ50hY5yiBzABoeMdlgVDcgxnGECQQD2krzMdq9CGne1
oeJkcee+YXyaNKulXGJzQa7f4nI6pYSSLRAcsH6E8JC1hS7oz4kJEKgM6m/bUxvD
H5fFzrwfAkEAuq7zruFTujzF2l1BO35VF/5DNDFgIfpxaENkJE1ryuy1+SCu3iwM
vh3g0vosYu8gT5ubIwsMUqShFAkWoh+fqQJALtVwRuXEJCoi0r0M40c/XUnnAONA
Nwh1Kq8vKBc62yjVJW6pwMlFPrrywYeqgU3qGW6wfMOKu33tqAI4MboywQJAL0y2
p1+mFDDjvIEWTxmiO9MLegTso49N/qncjKolHqQ9MyMJy3cDv4PYe/wxFNwbpq/5
bbaV57aYrXfkCS3UCQJBAJMRMRF8d+1LTutvMExZLkt6JDJGhNAHtYryN05KLRhv
J7kYIm3ALh1ediAHc3nNvojmOfxBz3RLX/f0ONjDFZM=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
version: '3'
services:
master:
image: singularities/spark
command: start-spark master
hostname: master
ports: ['6066:6066', '7070:7070', '8080:8080', '50070:50070']
worker:
image: singularities/spark
command: start-spark worker master
environment: {SPARK_WORKER_CORES: 1, SPARK_WORKER_MEMORY: 2g}
links: [master]
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDIRTR2ONfWz5/LkIf9fQen0MgLPYSA2nlEv5YN7zoQIDEghUMJ
0EhPPt9REjiz8ds2yLhsyXEk3+rKjmhozofSrV6B1o5XVmppoAEUCD7eBRSKW7D6
dK0W6fvt8m9VrqAq8Z34+hWP0JUFEwPk5SrJSHrStP+azzgsBUZUHvTuewIDAQAB
AoGAbpG+2DKkAAZbjBE885gPHPjpKUOKn3V/lJROLV1R6ktLtE++5nEnKxFkTCdK
RRcX15RUNkO1gw1ZXQHo5Ux5sb4qnZO5zbZQLgGpHg5ugq2+cjW5APGmxSPs6DB8
0An0pl4NN8P20B3A1RpcLaz8ju0zRljd4yq/zO30S2mr2MkCQQDrrLdALk4pU6mW
qkL7M+sW7ljZ1ROE34dl2FOv40jEuEFFVjQm7yrAKWZtPfOaUUg4J48L0hWqMU5i
gfpqeqVFAkEA2YrSwbxrhRN+SczGgx2pc/0kysKBMtW9rwOdcrNT8yXz0/JRCBxF
CbwX69ftZI8d3zcZ8d2/Yfq78hlZPs8gvwJBAL/Ze9utVkdiKb3SoHAp1Yh3QrEh
OaCC7o/DyGx4UzaA3/F3uUCwlVaU3SK0uee3n1jHKzVuMeC3/p1GPfoMGRkCQBxf
wwWJ8ew1kq9Fik7nu4ZpajcYD4n13vvI2Oxw/24jcR4f6PnJ1idi5SvZyhjnodnP
cg7eAWxiK8l0DPPoSDkCQFz6GEy5ElgqpEkB+wlOXNOV28ACsO4yfSLeshcZmTzR
cYL8NBvcZjwSkNF1KDwPavQjBdmS6tV4FD2yBy0Z2fQ=
-----END RSA PRIVATE KEY-----
...@@ -55,6 +55,7 @@ def handleDelivery(message): ...@@ -55,6 +55,7 @@ def handleDelivery(message):
for param in params: for param in params:
name = param["name"] name = param["name"]
print name
if name == "cluster": if name == "cluster":
manager_type = param["value"] manager_type = param["value"]
elif name == "credential": elif name == "credential":
...@@ -95,6 +96,9 @@ def handleDelivery(message): ...@@ -95,6 +96,9 @@ def handleDelivery(message):
name_of_deployment = param["value"] name_of_deployment = param["value"]
name_of_service = param["attributes"]["service"] name_of_service = param["attributes"]["service"]
number_of_containers = param["attributes"]["number_of_containers"] number_of_containers = param["attributes"]["number_of_containers"]
elif name == "swarm_info":
name_of_deployment = param["value"]
name_of_service = param["attributes"]["service"]
if manager_type == "kubernetes": if manager_type == "kubernetes":
...@@ -113,7 +117,7 @@ def handleDelivery(message): ...@@ -113,7 +117,7 @@ def handleDelivery(message):
elif manager_type == "scale": elif manager_type == "scale":
ret = docker_service.run(vm_list, name_of_deployment, name_of_service, number_of_containers) ret = docker_service.run(vm_list, name_of_deployment, name_of_service, number_of_containers)
return ret return ret
elif manager_type == "service check": elif manager_type == "swarm_info":
ret = docker_check.run(vm_list, compose_name) ret = docker_check.run(vm_list, compose_name)
return ret return ret
else: else:
......
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment