Commit 77a5a24d authored by Spiros Koulouzis's avatar Spiros Koulouzis

plan the bigest VM if we have multicast

parent a82c6b3b
...@@ -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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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.
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-json-client.jar"> <tr class="clickable-row" data-href="drip-api-json-client.jar">
<td><span class="downloadfile-name">drip-api-json-client.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client.jar</span></td>
<td><span class="downloadfile-size">18.04K</span></td> <td><span class="downloadfile-size">18.03K</span></td>
<td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td>
</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">
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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>
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-xml-client.jar"> <tr class="clickable-row" data-href="drip-api-xml-client.jar">
<td><span class="downloadfile-name">drip-api-xml-client.jar</span></td> <td><span class="downloadfile-name">drip-api-xml-client.jar</span></td>
<td><span class="downloadfile-size">25.70K</span></td> <td><span class="downloadfile-size">25.69K</span></td>
<td><span class="downloadfile-description">The binaries for the Java XML client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java XML client library.</span></td>
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar"> <tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar">
...@@ -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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -184,13 +184,13 @@ ...@@ -184,13 +184,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-js.zip"> <tr class="clickable-row" data-href="drip-api-js.zip">
<td><span class="downloadfile-name">drip-api-js.zip</span></td> <td><span class="downloadfile-name">drip-api-js.zip</span></td>
<td><span class="downloadfile-size">5.91K</span></td> <td><span class="downloadfile-size">5.92K</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_json_client_library">PHP JSON Client Library</h3> <h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3>
<p class="lead">Created December 27, 2017</p> <p class="lead">Created January 17, 2018</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">6.64K</span></td> <td><span class="downloadfile-size">6.65K</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
......
...@@ -1216,146 +1216,146 @@ module Ansible ...@@ -1216,146 +1216,146 @@ 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 :host
# (no documentation provided) # (no documentation provided)
attr_accessor :start attr_accessor :start
# (no documentation provided) # (no documentation provided)
attr_accessor :end
# (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :delta attr_accessor :delta
# (no documentation provided) # (no documentation provided)
attr_accessor :vmType attr_accessor :vmType
# (no documentation provided)
attr_accessor :host
# (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :end
# 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['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['end'] = end.to_jaxb_json_hash unless end.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['delta'] = delta.to_jaxb_json_hash unless delta.nil? _h['delta'] = delta.to_jaxb_json_hash unless delta.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil? _h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['end'] = end.to_jaxb_json_hash unless end.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['host'].nil? if !_o['start'].nil?
_oa = _o['host'] _oa = _o['start']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @start = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class'] @start = Time.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 @start = 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) @start.push Time.from_json(_item)
else else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @start.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@host = _oa @start = _oa
end end
end end
if !_o['start'].nil? if !_o['delta'].nil?
_oa = _o['start'] _oa = _o['delta']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@start = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @delta = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@start = Time.from_json(_oa) unless _oa['@class'] @delta = Time.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
@start = Array.new @delta = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@start.push Time.from_json(_item) @delta.push Time.from_json(_item)
else else
@start.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @delta.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@start = _oa @delta = _oa
end end
end end
if !_o['end'].nil? if !_o['vmType'].nil?
_oa = _o['end'] _oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class'] @vmType = 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
@end = Array.new @vmType = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item) @vmType.push String.from_json(_item)
else else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@end = _oa @vmType = _oa
end end
end end
if !_o['cloudDeploymentDomain'].nil? if !_o['host'].nil?
_oa = _o['cloudDeploymentDomain'] _oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = 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
@cloudDeploymentDomain = 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)
@cloudDeploymentDomain.push String.from_json(_item) @host.push String.from_json(_item)
else else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@cloudDeploymentDomain = _oa @host = _oa
end end
end end
if !_o['delta'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['delta'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@delta = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@delta = Time.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
@delta = 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)
@delta.push Time.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@delta.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@delta = _oa @cloudDeploymentDomain = _oa
end end
end end
if !_o['vmType'].nil? if !_o['end'].nil?
_oa = _o['vmType'] _oa = _o['end']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class'] @end = Time.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 @end = 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) @end.push Time.from_json(_item)
else else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@vmType = _oa @end = _oa
end end
end end
end end
......
...@@ -80,6 +80,15 @@ class</p> ...@@ -80,6 +80,15 @@ class</p>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr>
<td> <span class="property-name">start</span>
</td>
<td> <span class="datatype-reference">number
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr> <tr>
<td> <span class="property-name">cloudDeploymentDomain</span> <td> <span class="property-name">cloudDeploymentDomain</span>
</td> </td>
...@@ -90,7 +99,7 @@ class</p> ...@@ -90,7 +99,7 @@ class</p>
</td> </td>
</tr> </tr>
<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>
...@@ -121,15 +130,6 @@ class</p> ...@@ -121,15 +130,6 @@ class</p>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr>
<td> <span class="property-name">end</span>
</td>
<td> <span class="datatype-reference">number
</span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
...@@ -167,12 +167,12 @@ No need to set during a POST</span></td> ...@@ -167,12 +167,12 @@ No need to set during a POST</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;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&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_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_DRIPLogRecord.html">DRIPLogRecord</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_MonitorringMessage.html">MonitorringMessage</a>, <a href="json_ProvisionResponse.html">ProvisionResponse</a></dd> <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_DRIPLogRecord.html">DRIPLogRecord</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>, <a href="json_MonitorringMessage.html">MonitorringMessage</a></dd>
</dl> </dl>
<table class="table datatype-properties"> <table class="table datatype-properties">
......
...@@ -821,18 +821,18 @@ class]]> ...@@ -821,18 +821,18 @@ 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>
<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:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="host" type="xs:string" 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>
<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="start" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
......
...@@ -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;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&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;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&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
......
...@@ -220,12 +220,12 @@ It is created automatically. No need to set during a POST</span></td> ...@@ -220,12 +220,12 @@ It is created automatically. No need to set during a POST</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;start&gt;...&lt;/start&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;end&gt;...&lt;/end&gt; &lt;end&gt;...&lt;/end&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;delta&gt;...&lt;/delta&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;vmType&gt;...&lt;/vmType&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;/b-----&gt; &lt;/b-----&gt;
</pre> </pre>
......
...@@ -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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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.
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-json-client.jar"> <tr class="clickable-row" data-href="drip-api-json-client.jar">
<td><span class="downloadfile-name">drip-api-json-client.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client.jar</span></td>
<td><span class="downloadfile-size">18.04K</span></td> <td><span class="downloadfile-size">18.03K</span></td>
<td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td>
</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">
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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>
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-xml-client.jar"> <tr class="clickable-row" data-href="drip-api-xml-client.jar">
<td><span class="downloadfile-name">drip-api-xml-client.jar</span></td> <td><span class="downloadfile-name">drip-api-xml-client.jar</span></td>
<td><span class="downloadfile-size">25.70K</span></td> <td><span class="downloadfile-size">25.69K</span></td>
<td><span class="downloadfile-description">The binaries for the Java XML client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java XML client library.</span></td>
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar"> <tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar">
...@@ -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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -184,13 +184,13 @@ ...@@ -184,13 +184,13 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-js.zip"> <tr class="clickable-row" data-href="drip-api-js.zip">
<td><span class="downloadfile-name">drip-api-js.zip</span></td> <td><span class="downloadfile-name">drip-api-js.zip</span></td>
<td><span class="downloadfile-size">5.91K</span></td> <td><span class="downloadfile-size">5.92K</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_json_client_library">PHP JSON Client Library</h3> <h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3>
<p class="lead">Created December 27, 2017</p> <p class="lead">Created January 17, 2018</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">6.64K</span></td> <td><span class="downloadfile-size">6.65K</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
</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 December 27, 2017</p> <p class="lead">Created January 17, 2018</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
......
...@@ -1216,146 +1216,146 @@ module Ansible ...@@ -1216,146 +1216,146 @@ 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 :host
# (no documentation provided) # (no documentation provided)
attr_accessor :start attr_accessor :start
# (no documentation provided) # (no documentation provided)
attr_accessor :end
# (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :delta attr_accessor :delta
# (no documentation provided) # (no documentation provided)
attr_accessor :vmType attr_accessor :vmType
# (no documentation provided)
attr_accessor :host
# (no documentation provided)
attr_accessor :cloudDeploymentDomain
# (no documentation provided)
attr_accessor :end
# 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['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['end'] = end.to_jaxb_json_hash unless end.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['delta'] = delta.to_jaxb_json_hash unless delta.nil? _h['delta'] = delta.to_jaxb_json_hash unless delta.nil?
_h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil? _h['vmType'] = vmType.to_jaxb_json_hash unless vmType.nil?
_h['host'] = host.to_jaxb_json_hash unless host.nil?
_h['cloudDeploymentDomain'] = cloudDeploymentDomain.to_jaxb_json_hash unless cloudDeploymentDomain.nil?
_h['end'] = end.to_jaxb_json_hash unless end.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['host'].nil? if !_o['start'].nil?
_oa = _o['host'] _oa = _o['start']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @start = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@host = String.from_json(_oa) unless _oa['@class'] @start = Time.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 @start = 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) @start.push Time.from_json(_item)
else else
@host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @start.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@host = _oa @start = _oa
end end
end end
if !_o['start'].nil? if !_o['delta'].nil?
_oa = _o['start'] _oa = _o['delta']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@start = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @delta = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@start = Time.from_json(_oa) unless _oa['@class'] @delta = Time.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
@start = Array.new @delta = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@start.push Time.from_json(_item) @delta.push Time.from_json(_item)
else else
@start.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @delta.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@start = _oa @delta = _oa
end end
end end
if !_o['end'].nil? if !_o['vmType'].nil?
_oa = _o['end'] _oa = _o['vmType']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@end = Time.from_json(_oa) unless _oa['@class'] @vmType = 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
@end = Array.new @vmType = Array.new
_oa.each { | _item | _oa.each { | _item |
if ((_item.nil? || _item['@class'].nil?)rescue true) if ((_item.nil? || _item['@class'].nil?)rescue true)
@end.push Time.from_json(_item) @vmType.push String.from_json(_item)
else else
@end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@end = _oa @vmType = _oa
end end
end end
if !_o['cloudDeploymentDomain'].nil? if !_o['host'].nil?
_oa = _o['cloudDeploymentDomain'] _oa = _o['host']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @host = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@cloudDeploymentDomain = 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
@cloudDeploymentDomain = 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)
@cloudDeploymentDomain.push String.from_json(_item) @host.push String.from_json(_item)
else else
@cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @host.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@cloudDeploymentDomain = _oa @host = _oa
end end
end end
if !_o['delta'].nil? if !_o['cloudDeploymentDomain'].nil?
_oa = _o['delta'] _oa = _o['cloudDeploymentDomain']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@delta = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @cloudDeploymentDomain = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@delta = Time.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
@delta = 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)
@delta.push Time.from_json(_item) @cloudDeploymentDomain.push String.from_json(_item)
else else
@delta.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @cloudDeploymentDomain.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@delta = _oa @cloudDeploymentDomain = _oa
end end
end end
if !_o['vmType'].nil? if !_o['end'].nil?
_oa = _o['vmType'] _oa = _o['end']
if(_oa.is_a? Hash) if(_oa.is_a? Hash)
@vmType = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class'] @end = EnunciateHelpers::LAMB_CLASS_AWARE.call(_oa) if _oa['@class']
@vmType = String.from_json(_oa) unless _oa['@class'] @end = Time.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 @end = 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) @end.push Time.from_json(_item)
else else
@vmType.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item) @end.push EnunciateHelpers::LAMB_CLASS_AWARE.call(_item)
end end
} }
else else
@vmType = _oa @end = _oa
end end
end end
end end
......
...@@ -81,16 +81,16 @@ class</p> ...@@ -81,16 +81,16 @@ class</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td> <span class="property-name">host</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">start</span> <td> <span class="property-name">delta</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</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">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">cloudDeploymentDomain</span> <td> <span class="property-name">host</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -117,18 +117,18 @@ class</p> ...@@ -117,18 +117,18 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">delta</span> <td> <span class="property-name">cloudDeploymentDomain</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">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>
...@@ -167,12 +167,12 @@ No need to set during a POST</span></td> ...@@ -167,12 +167,12 @@ No need to set during a POST</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;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;end&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&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
......
...@@ -821,17 +821,17 @@ class]]> ...@@ -821,17 +821,17 @@ class]]>
<xs:complexContent> <xs:complexContent>
<xs:extension base="ownedObject"> <xs:extension base="ownedObject">
<xs:sequence> <xs:sequence>
<xs:element name="delta" type="xs:dateTime" minOccurs="0"> <xs:element name="end" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="cloudDeploymentDomain" type="xs:string" 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 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">
</xs:element> </xs:element>
<xs:element name="start" type="xs:dateTime" 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="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;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;end&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&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;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;end&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345, &quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;, &quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345,
&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
......
...@@ -220,12 +220,12 @@ It is created automatically. No need to set during a POST</span></td> ...@@ -220,12 +220,12 @@ It is created automatically. No need to set during a POST</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;end&gt;...&lt;/end&gt;
&lt;start&gt;...&lt;/start&gt;
&lt;delta&gt;...&lt;/delta&gt; &lt;delta&gt;...&lt;/delta&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;vmType&gt;...&lt;/vmType&gt; &lt;vmType&gt;...&lt;/vmType&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;start&gt;...&lt;/start&gt;
&lt;end&gt;...&lt;/end&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;/b-----&gt; &lt;/b-----&gt;
</pre> </pre>
......
topology_template:
node_templates:
Monitoring_Adapter_v2:
artifacts:
inputdistributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "beia/monitoring_adapter"
requirements:
dependency:
- monitoring_server
type: "Switch.nodes.Application.Container.Docker.LOKSORR_Monitoring_Adapter"
properties:
ports_mapping:
port_mapping_1:
host_port: SET_ITS_VALUE
container_port: SET_ITS_VALUE
port_mapping_0:
host_port: SET_ITS_VALUE
container_port: SET_ITS_VALUE
port_mapping_2:
host_port: SET_ITS_VALUE
container_port: SET_ITS_VALUE
scaling_mode: single
MOG_ProxyTranscoder:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
- MOG_Frontend
- MOG_VideoSwitcher
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_ProxyTranscoder_4:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
- MOG_Frontend
- MOG_VideoSwitcher
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_ProxyTranscoder_3:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
- MOG_Frontend
- MOG_VideoSwitcher
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_ProxyTranscoder_2:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
- MOG_Frontend
- MOG_VideoSwitcher
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_ProxyTranscoder_1:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
- MOG_OutputTranscoder
- MOG_Frontend
- MOG_Frontend
- MOG_VideoSwitcher
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_VideoSwitcher:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_VideoSwitcher"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_InputDistributor_2:
artifacts:
uva_inputdistributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "mogpsantos/inputpipe"
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_UvA_InputDistributor"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_InputDistributor_3:
artifacts:
uva_inputdistributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "mogpsantos/inputpipe"
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_UvA_InputDistributor"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_InputDistributor_1:
artifacts:
uva_inputdistributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "mogpsantos/inputpipe"
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_UvA_InputDistributor"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_InputDistributor_4:
artifacts:
uva_inputdistributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "mogpsantos/inputpipe"
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_UvA_InputDistributor"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
MOG_OutputTranscoder:
artifacts: null
requirements:
dependency:
- Monitoring_Adapter_v2
networks:
- monitoring_v2
- network
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_OutputTranscoder"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
monitoring_server:
artifacts:
monitoring_server_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "salmant/salman_monitoring_server_container_image"
requirements:
type: "Switch.nodes.Application.Container.Docker.MonitoringServer"
properties:
scaling_mode: single
ports_mapping:
port_mapping_1:
host_port: 4242
container_port: 4242
port_mapping_0:
host_port: 8080
container_port: 8080
port_mapping_3:
host_port: 7199
container_port: 7199
port_mapping_2:
host_port: 4245
container_port: 4245
port_mapping_5:
host_port: 7001
container_port: 7001
port_mapping_4:
host_port: 7000
container_port: 7000
port_mapping_7:
host_port: 9042
container_port: 9042
port_mapping_6:
host_port: 9160
container_port: 9160
port_mapping_9:
host_port: 61621
container_port: 61621
port_mapping_8:
host_port: 8012
container_port: 8012
Infrastructure_requirements:
host:
cpu_frequency: 1.2
mem_size: 4
num_cpus: 1
disk_size: 20
os:
os_version: 16.04
distribution: ubuntu
type: linux
architecture: x86_64
Constraints:
QoS:
response_time: 50
MOG_Frontend:
artifacts: null
requirements:
type: "Switch.nodes.Application.Container.Docker.LOKSORR_MOG_Frontend"
properties:
ports_mapping:
ports_mapping:
port_mapping_0:
host_port: 8080
container_port: 8080
scaling_mode: single
network_templates:
network:
subnet: "192.168.10.0"
netmask: "255.255.255.0"
multicast: true
name: SET_ITS_VALUE
volume_templates:
artifact_types:
"tosca.artifacts.Deployment.Image.Container.Docker":
derived_from: "tosca.artifacts.Deployment.Image"
description: "MOG application"
node_types:
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_ProxyTranscoder":
properties:
multicastAddrPort:
default: 3000
type: "Switch.datatypes.port"
multicastAddrIP:
default: "225.2.2.0"
type: "Switch.datatypes.Network.Multicast"
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_notify_asterisk":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.VLAD_THE_IMPALER_RTUSensorDataAcquisition":
properties:
name:
required: false
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_InputDistributor":
properties:
multicastAddrIP:
type: "Switch.datatypes.Network.Multicast"
inPort:
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"tosca.groups.Root":
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_InputDistributor.Cardiff":
properties:
multicastAddrPort:
default: 3000
type: "Switch.datatypes.port"
multicastAddrIP:
default: "225.2.2.0"
type: "Switch.datatypes.Network.Multicast"
inPort:
default: 2000
type: "Switch.datatypes.port"
waitingTime:
default: 5
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_Graphana":
properties:
GF_SECURITY_ADMIN_PASSWORD:
default: "${GRAFANA_PASSWORD:-secret}"
type: string
VIRTUAL_HOST:
default: "grafana.beia.switch"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"switch.Component.Component.Docker":
properties:
Teste:
default: 200
type: string
dadasdasd:
default: asdasd
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_Gateway":
properties:
Name:
default: BEIA_Gateway
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_Acquisition":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_Switcher.Cardiff":
properties:
waitingTime:
default: 5
type: integer
multicastAddrIP:
default: "225.2.2.0"
type: "Switch.datatypes.Network.Multicast"
switcherREST:
default: switcherREST
type: "Switch.datatypes.port"
switcherOutAddrPort:
default: 6000
type: "Switch.datatypes.port"
multicastAddrIP2:
default: "225.2.2.2"
type: "Switch.datatypes.Network.Multicast"
switcherOutAddrIP:
default: "226.2.2.2"
type: "Switch.datatypes.Network.Multicast"
multicastAddrPort:
default: 3000
type: "Switch.datatypes.port"
videoWidth:
default: 176
type: integer
multicastAddrPort2:
default: 3002
type: "Switch.datatypes.port"
videoHeight:
default: 100
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Monitoring_Adapter":
properties:
monitoring_server:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker":
properties:
in_ports:
entry_schema:
type: "Switch.datatypes.port"
required: false
type: map
dockers:
required: false
type: string
QoS:
required: false
type: "Switch.datatypes.QoS.AppComponent"
docker_id:
default: id
type: string
out_ports:
entry_schema:
type: "Switch.datatypes.port"
required: false
type: map
scaling_mode:
required: false
type: string
ethernet_port:
entry_schema:
type: "Switch.datatypes.ethernet_port"
required: false
type: list
name:
required: false
type: string
derived_from: "tosca.nodes.Container.Application"
"Switch.nodes.Application.Container.Docker.LOKSORR_SIDE_django_backend":
artifacts:
side_django_backend_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "side/django_backend"
properties:
value:
default: value
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_RTUSensorDataAcquisition":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Rtpengine":
properties:
PORT_MIN:
default: 10000
type: string
SUBNET_OVERLAY:
default: "192.168.2.0"
type: string
PORT_MAX:
default: 10050
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Compute":
artifacts:
gateway_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "/???"
derived_from: "tosca.nodes.Compute"
"Switch.nodes.Application.Container.Docker.BEIA_V1_NotificationServer":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_OutputTranscoder":
properties:
metrics:
default: true
type: string
OutIP:
type: string
multicastAddrIP:
type: string
multicastAddrPortmulticastAddrIP:
type: string
statsdPort:
type: string
OutPort:
type: string
videoWidth:
type: string
videoHeight:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_ProxyTranscoder2":
artifacts:
monitoring_adapter_v2_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "beia/monitoring_adapter"
properties:
metrics:
type: string
machineip:
type: string
multicastAddrIP:
type: string
statsdPort:
type: string
multicastAddrPort:
type: string
videoWidth:
type: string
videoHeight:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_Graphite":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Network":
derived_from: "tosca.nodes.network.Network"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_notify_redi":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Dasdass":
artifacts:
dasdass_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: adasads
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.EventListener":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_VideoSwitcher":
properties:
waitingTime:
type: string
switcherREST:
type: string
switcherOutAddrPort:
type: string
buffer:
type: string
switcherOutAddrIP:
type: string
camnumber:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_V1_DatabaseServer":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.VirtualNetwork":
artifacts:
"switcher.cardiff_image":
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: null
properties:
subnet:
default: "192.168.10.0"
type: string
netmask:
default: "255.255.255.0"
type: string
name:
type: string
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_MOG_VideoSwitcher":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_SIDE_Database":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_config":
artifacts:
beia_graphana_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "grafana/grafana"
properties:
TOSCA_URL:
default: "http://www.google.com"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_RTUSensorDataManagement":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.MonitoringAgent":
properties:
agent_id:
default: null
type: string
probes:
entry_schema:
type: "Switch.datatypes.monitoring.probe"
type: map
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_alerter":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.AdaptationPolicy":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_MOG_OutputTranscoder":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_MOG_ProxyTranscoder":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_notify":
artifacts:
beia_notify_redi_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "redis:alpine"
properties:
ARI_URL:
default: "http://notify_asterisk:8088"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_Input":
properties:
port2:
default: 24
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_web":
properties:
CONFIG:
default: config
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_V1_Monitoring":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS.MOG_Input_Distributor":
properties:
Input_RTP_TS_Port:
default: 2000
type: string
Waiting_Time:
default: 5
type: string
Output_Uncompressed_Video_Multicast_Address:
default: "225.2.2.0"
type: string
Output_Uncompressed_Video_Multicast_Port:
default: "3000 waiting time Waiting time (in seconds) for Input Distributor to receive TS stream 5 switcherOutAddrIP Multicast IP address where Video Switcher"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Component":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Constraint":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS.MOG_Switcher":
properties:
Input_A_Uncompressed_Video_Multicast_Address:
default: "225.2.2.0"
type: string
Input_Video_Width:
default: 176
type: string
Input_B_Uncompressed_Video_Multicast_Port:
default: 3002
type: string
Input_B_Uncompressed_Video_Multicast_Address:
default: "225.2.2.1"
type: string
port:
default: 23
type: integer
Output_Uncompressed_Video_Multicast_Address:
default: "226.2.2.2"
type: string
Output_REST_PORT:
default: 8008
type: string
Output_Uncompressed_Video_Multicast_Port:
default: 6000
type: string
Input_Video_Height:
default: 100
type: string
Input_A_Uncompressed_Video_Multicast_Port:
default: 3000
type: string
Waiting_Time:
default: 5
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_V1_RTUSensorDataAcquisitions":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_SIDE_ember":
artifacts:
side_database_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "SIDE/MySql"
properties:
v:
default: v
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_sip_notifier":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_BEIA_data_collector":
artifacts:
beia_alerter_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "beia/alerter"
properties:
CONFIG:
default: config
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Db":
properties:
MYSQL_ROOT_PASSWORD:
default: supersecret
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_RTUSensorData":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.PEDRO.SANTOS_OutputTranscoder.Cardiff":
properties:
OutIP:
default: "192.168.1.194"
type: "Switch.datatypes.Network.Multicast"
videoWidth:
default: 176
type: integer
OutPort:
default: 4000
type: "Switch.datatypes.port"
videoHeight:
default: 100
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.MOG_InputDistributor":
artifacts:
inputdistributor2_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "mogpsantos/inputpipe"
properties:
metrics:
default: true
type: boolean
waitingTime:
default: 5
type: integer
machineip:
default: InputDistributor
type: string
multicastAddrIP:
type: string
statsdPort:
default: 8125
type: "Switch.datatypes.port"
multicastAddrPort:
default: 3000
type: "Switch.datatypes.port"
videoWidth:
default: 720
type: integer
inPort:
default: 2000
type: "Switch.datatypes.port"
videoHeight:
default: 406
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Connection":
properties:
source:
type: "Switch.datatypes.Application.Connection.EndPoint"
bandwidth:
type: integer
multicast:
type: "Switch.datatypes.Network.Multicast"
jitter:
required: false
type: integer
target:
type: "Switch.datatypes.Application.Connection.EndPoint"
latency:
required: false
type: integer
QoS:
type: "Switch.datatypes.QoS.AppComponent"
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_WT_webportal":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Requirement":
derived_from: "tosca.nodes.Root"
"Switch.nodes.ExternalComponent":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_Webportalbackend":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.DST":
properties:
dave:
type: string
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.LOKSORR_Doubango":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Bb":
properties:
bb:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_WT_Mongo":
properties:
var:
default: var
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_NotificationServer":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_V1_RTUSensorDataAcquisition":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.MonitoringServer":
properties:
ports_mapping:
entry_schema:
type: "Switch.datatypes.port_mapping"
type: map
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.MOG_USER_Input_distributor":
artifacts:
input_distributor_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: ""
properties:
adapterip:
default: sagres
type: string
statsdPort:
default: 8125
type: "Switch.datatypes.port"
multicastAddrPort:
default: 3000
type: integer
inPort:
default: 2000
type: integer
videoWidth:
default: 720
type: integer
metrics:
default: true
type: boolean
waitingTime:
default: 5
type: integer
multicastAddrIP:
default: "225.2.2.0"
type: "Switch.datatypes.Network.Multicast"
identification:
default: InputDistributor1
type: string
machineip:
default: sagres
type: string
videoHeight:
default: 406
type: integer
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.UL_JitsiMeet_docker":
properties:
ips:
type: string
deploy:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_SomethingStupid":
artifacts:
somethingstupid_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "something/stupid"
properties:
stupidvalue:
default: "You are stupid"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_Kamailio":
properties:
SUBNET_OVERLAY:
default: "192.168.2.0"
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_TOSCAMagic":
artifacts:
toscamagic_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "something/different"
properties:
qq:
default: qq
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_WT_redis":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_MOGFrontend":
properties:
ipPT1:
type: string
ipPT2:
type: string
ipPT3:
type: string
ipPT4:
type: string
ipVS:
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.BEIA_V1_TelemetryGateway":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_WT_asterisk":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_UvA_InputDistributor":
artifacts:
wt_webportal_image:
type: "tosca.artifacts.Deployment.Image.Container.Docker"
repository: SWITCH_docker_hub
file: "wtelecom/webportal:switch"
properties:
machineip:
default: InputDistributor
type: string
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.Application.Container.Docker.LOKSORR_MOG_Frontend":
derived_from: "Switch.nodes.Application.Container.Docker"
"Switch.nodes.variable":
properties:
multicastAddrPort:
default: 3000
type: integer
multicastAddrIP:
default: "255.2.2.0"
type: string
videoWidth:
default: 170
type: integer
videoHeight:
default: 100
type: integer
derived_from: "tosca.nodes.Root"
"Switch.nodes.MessagePasser":
derived_from: "tosca.nodes.Root"
"Switch.nodes.Application.Container.Docker.BEIA_DB":
derived_from: "Switch.nodes.Application.Container.Docker"
repositories:
SWITCH_docker_hub:
url: "https://github.com/switch-project"
credential:
token_type: "X-Auth-Token"
token: 604bbe45ac7143a79e14f3158df67091
protocol: xauth
description: "switch repository in GitHub"
data_types:
"Switch.datatypes.monitoring.metric.threshold":
properties:
operator:
type: string
value:
type: integer
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.port":
properties:
type:
type: string
port:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.Application.Connection.EndPoint":
properties:
netmask:
type: string
component_name:
type: string
port_name:
type: string
address:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.monitoring.probe":
properties:
active:
type: boolean
path:
required: false
type: string
static:
type: boolean
name:
type: string
metrics:
entry_schema:
type: "Switch.datatypes.monitoring.metric"
type: map
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.hw.host":
properties:
cpu_frequency:
type: float
mem_size:
type: integer
num_cpus:
type: integer
disk_size:
type: integer
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.ethernet_port":
properties:
subnet_name:
type: string
name:
type: string
address:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.hw.os":
properties:
os_version:
type: string
distribution:
type: string
type:
type: string
architecture:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.QoS.AppComponent":
properties:
response_time:
type: integer
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.Application.Connection.Multicast":
properties:
multicastAddrPort:
type: string
multicastAddrIP:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.Network.Multicast":
properties:
multicastAddrPort:
type: string
multicastAddrIP:
type: string
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.port_mapping":
properties:
host_port:
type: integer
container_port:
type: integer
derived_from: "tosca.datatypes.Root"
"Switch.datatypes.monitoring.metric":
properties:
thresholds:
entry_schema:
type: "Switch.datatypes.monitoring.metric.threshold"
required: false
type: map
type:
type: string
name:
type: string
unit:
required: false
type: string
derived_from: "tosca.datatypes.Root"
tosca_definitions_version: tosca_simple_yaml_1_0
\ No newline at end of file
...@@ -14,3 +14,6 @@ sudo docker plugin install --grant-all-permissions weaveworks/net-plugin:latest_ ...@@ -14,3 +14,6 @@ sudo docker plugin install --grant-all-permissions weaveworks/net-plugin:latest_
sudo docker plugin disable weaveworks/net-plugin:latest_release sudo docker plugin disable weaveworks/net-plugin:latest_release
sudo docker plugin set weaveworks/net-plugin:latest_release WEAVE_MULTICAST=1 sudo docker plugin set weaveworks/net-plugin:latest_release WEAVE_MULTICAST=1
sudo docker plugin enable weaveworks/net-plugin:latest_release sudo docker plugin enable weaveworks/net-plugin:latest_release
sudo wget -O /usr/local/bin/weave https://github.com/weaveworks/weave/releases/download/latest_release/weave
sudo chmod a+x /usr/local/bin/weave
...@@ -105,13 +105,46 @@ def install_worker(join_cmd, vm,return_dict): ...@@ -105,13 +105,46 @@ def install_worker(join_cmd, vm,return_dict):
return_dict[vm.ip] = "SUCCESS" return_dict[vm.ip] = "SUCCESS"
return "SUCCESS" return "SUCCESS"
def connect_wave(vm_list,master):
try:
logger.info("Starting wave connection on: "+(master.ip))
paramiko.util.log_to_file("deployment.log")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(master.ip, username=master.user, key_filename=master.key)
for i in vm_list:
if i.role == "slave":
logger.info("weave connect "+(i.ip))
stdin, stdout, stderr = ssh.exec_command("sudo weave connect "+i.ip)
out = stdout.read()
err = stderr.read()
logger.info("stdout: "+(out))
logger.info("stderr: "+(err))
logger.info("Finished wave connection on: "+(master.ip))
except Exception as e:
global retry
if retry < 10:
logger.warning(master.ip + " " + str(e)+". Retrying")
retry+=1
return connect_wave(vm_list,master)
logger.error(master.ip + " " + str(e))
return "ERROR:" + master.ip + " " + str(e)
ssh.close()
retry=0
return_dict[vm.ip] = "SUCCESS"
return "SUCCESS"
def run(vm_list,rabbitmq_host,owner): def run(vm_list,rabbitmq_host,owner):
rabbit = DRIPLoggingHandler(host=rabbitmq_host, port=5672,user=owner) rabbit = DRIPLoggingHandler(host=rabbitmq_host, port=5672,user=owner)
logger.addHandler(rabbit) logger.addHandler(rabbit)
master = None
for i in vm_list: for i in vm_list:
if i.role == "master": if i.role == "master":
master = i
join_cmd = install_manager(i) join_cmd = install_manager(i)
if "ERROR:" in join_cmd: if "ERROR:" in join_cmd:
return join_cmd return join_cmd
...@@ -131,12 +164,11 @@ def run(vm_list,rabbitmq_host,owner): ...@@ -131,12 +164,11 @@ def run(vm_list,rabbitmq_host,owner):
p = multiprocessing.Process(target=install_worker, args=(join_cmd, i,return_dict,)) p = multiprocessing.Process(target=install_worker, args=(join_cmd, i,return_dict,))
jobs.append(p) jobs.append(p)
p.start() p.start()
#worker_cmd = install_worker(join_cmd, i)
#if "ERROR:" in worker_cmd:
#return worker_cmd
for proc in jobs: for proc in jobs:
proc.join() proc.join()
#connect_wave(vm_list,master)
if "ERROR" in return_dict.values(): return "ERROR" if "ERROR" in return_dict.values(): return "ERROR"
return swarm_string return swarm_string
\ No newline at end of file
...@@ -14,6 +14,8 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; ...@@ -14,6 +14,8 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import nl.uva.sne.drip.commons.utils.Converter; import nl.uva.sne.drip.commons.utils.Converter;
import nl.uva.sne.drip.drip.converter.provisionerIn.*; import nl.uva.sne.drip.drip.converter.provisionerIn.*;
import nl.uva.sne.drip.drip.converter.provisionerIn.EC2.*; import nl.uva.sne.drip.drip.converter.provisionerIn.EC2.*;
...@@ -107,12 +109,35 @@ public class P2PConverter { ...@@ -107,12 +109,35 @@ public class P2PConverter {
return spc; return spc;
} }
private static int analyzeRequirements(Map<String, String> map) {
int size = 5;
String memSizeGB = map.get("mem_size");
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher(memSizeGB);
int memSize = 0;
while (m.find()) {
memSize = Integer.valueOf(m.group());
}
if (Integer.valueOf(map.get("num_cpus")) >= 16 && memSize >= 32) {
size = 10;
}
return size;
}
private static String getSize(Map<String, String> map, String cloudProvider) { private static String getSize(Map<String, String> map, String cloudProvider) {
int size = analyzeRequirements(map);
switch (cloudProvider.trim().toLowerCase()) { switch (cloudProvider.trim().toLowerCase()) {
case "ec2": case "ec2":
return "t2.medium"; return "t2.medium";
case "egi": case "egi":
if (size == 5) {
return "medium"; return "medium";
}
if (size >= 10) {
return "mammoth";
}
default: default:
Logger.getLogger(P2PConverter.class.getName()).log(Level.WARNING, "The {0} is not supported yet!", cloudProvider); Logger.getLogger(P2PConverter.class.getName()).log(Level.WARNING, "The {0} is not supported yet!", cloudProvider);
return null; return null;
......
...@@ -38,6 +38,9 @@ class DumpPlanner: ...@@ -38,6 +38,9 @@ class DumpPlanner:
def get_node_templates(self): def get_node_templates(self):
return self.yaml_dict_tpl['topology_template']['node_templates'] return self.yaml_dict_tpl['topology_template']['node_templates']
def get_network_templates(self):
return self.yaml_dict_tpl['topology_template']['network_templates']
def get_artifacts(self, node): def get_artifacts(self, node):
if 'artifacts' in node: if 'artifacts' in node:
return node['artifacts'] return node['artifacts']
...@@ -62,9 +65,30 @@ class DumpPlanner: ...@@ -62,9 +65,30 @@ class DumpPlanner:
return node['properties'] return node['properties']
def plan(self): def plan(self):
network_templates = self.get_network_templates()
vms = []
if network_templates and network_templates['network'] and network_templates['network']['multicast'] == True:
vm = {}
vm['type'] = self.COMPUTE_TYPE
host = {}
host['cpu_frequency'] = '2.6GHz'
host['mem_size'] = '32GB'
host['num_cpus'] = '16'
host['disk_size'] = '10GB'
vm['host'] = host
os = {}
os['os_version'] = 16.04
os['distribution'] = 'ubuntu'
os['type'] = 'linux'
os['architecture'] = 'x86_64'
vm['os'] = os
vm['scaling_mode'] = 'multiple'
vms.append(vm)
return vms
node_templates = self.get_node_templates() node_templates = self.get_node_templates()
hosted_nodes = self.get_hosted_nodes(node_templates) hosted_nodes = self.get_hosted_nodes(node_templates)
vms = []
for node in hosted_nodes: for node in hosted_nodes:
vm = {} vm = {}
vm['name'] = node['id'] vm['name'] = node['id']
......
...@@ -101,7 +101,7 @@ def handle_delivery(message): ...@@ -101,7 +101,7 @@ def handle_delivery(message):
if __name__ == "__main__": if __name__ == "__main__":
if(sys.argv[1] == "test_local"): if(sys.argv[1] == "test_local"):
home = expanduser("~") home = expanduser("~")
planner = DumpPlanner(home+"/workspace/DRIP/docs/input_tosca_files/MOG/test_tosca2.yml") planner = DumpPlanner(home+"/workspace/DRIP/docs/input_tosca_files/MOG/tosca_MOG_input2.2.yml")
print planner.plan() print planner.plan()
else: else:
logger.info("Input args: " + sys.argv[0] + ' ' + sys.argv[1] + ' ' + sys.argv[2]) logger.info("Input args: " + sys.argv[0] + ' ' + sys.argv[1] + ' ' + sys.argv[2])
...@@ -111,36 +111,6 @@ if __name__ == "__main__": ...@@ -111,36 +111,6 @@ if __name__ == "__main__":
start(channel) start(channel)
#
# for vm in vm_nodes:
# result = {}
# parameter = {}
# result['name'] = vm.name
# result['size'] = 'Medium'
# if 'dockers' in vm.get_properties():
# result['docker'] = vm.get_properties()['dockers'].value
# elif 'artifacts' in vm.templates[next(iter(vm.templates))]:
# artifacts = vm.templates[next(iter(vm.templates))]['artifacts']
# result['docker'] = artifacts['docker_image']['file']
## print "1st Key: %s" %next(iter(vm.templates))
## print vm.templates[next(iter(vm.templates))]
#
## print dir(compute_node.get_properties()['dockers'] )
## print "dockers. Name: %s Type: %s Value: %s" % (compute_node.get_properties()['dockers'].name, compute_node.get_properties()['dockers'].type, compute_node.get_properties()['dockers'].value )
# parameter['value'] = str(json.dumps(result))
# parameter['attributes'] = 'null'
# parameter["url"] = "null"
# parameter["encoding"] = "UTF-8"
# response["parameters"].append(parameter)
## print "Name: %s Type: %s properties: %s" %(vm.name,vm.type,vm.get_properties().keys())
##
# print ("Output message: %s" % json.dumps(response))
#
# except AttributeError as e:
# z = e
# print z
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