<?xml version="1.0" encoding="ASCII"?>
<commons:DOMLModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:app="http://www.piacere-project.eu/doml/application" xmlns:commons="http://www.piacere-project.eu/doml/commons" xmlns:infra="http://www.piacere-project.eu/doml/infrastructure" xmlns:optimization="http://www.piacere-project.eu/doml/optimization" name="nginx_openstack" activeConfiguration="//@configurations.0" activeInfrastructure="//@concretizations.0">
  <application name="app">
    <components xsi:type="app:SoftwareComponent" name="nginx">
      <annotations xsi:type="commons:SProperty" key="source_code" value="/usr/share/nginx/html/index.html"/>
    </components>
  </application>
  <infrastructure name="infra">
    <nodes xsi:type="infra:AutoScalingGroup" name="ag" deploymentNetwork="//@infrastructure/@networks.0">
      <machineDefinition name="vm1" os="Ubuntu-Focal-20.04-Daily-2022-04-19" credentials="//@infrastructure/@credentials.0" group="//@infrastructure/@groups.0">
        <ifaces name="i1" endPoint="16.0.0.1" belongsTo="//@infrastructure/@networks.0" associated="//@infrastructure/@groups.0"/>
      </machineDefinition>
    </nodes>
    <networks name="net1" protocol="tcp/ip" addressRange="16.0.0.0/24" connectedIfaces="//@infrastructure/@nodes.0/@machineDefinition/@ifaces.0"/>
    <credentials xsi:type="infra:KeyPair" name="ssh_key" user="user1"/>
    <groups xsi:type="infra:SecurityGroup" name="sg" groupedNodes="//@infrastructure/@nodes.0/@machineDefinition" ifaces="//@infrastructure/@nodes.0/@machineDefinition/@ifaces.0">
      <rules name="icmp" protocol="icmp" fromPort="-1" toPort="-1">
        <cidr>0.0.0.0/0</cidr>
      </rules>
      <rules name="http" kind="INGRESS" protocol="tcp" fromPort="80" toPort="80">
        <cidr>0.0.0.0/0</cidr>
      </rules>
      <rules name="https" kind="INGRESS" protocol="tcp" fromPort="443" toPort="443">
        <cidr>0.0.0.0/0</cidr>
      </rules>
      <rules name="ssh" kind="INGRESS" protocol="tcp" fromPort="22" toPort="22">
        <cidr>0.0.0.0/0</cidr>
      </rules>
    </groups>
  </infrastructure>
  <concretizations name="con_infra">
    <providers name="openstack">
      <vms name="concrete_vm" maps="//@infrastructure/@nodes.0/@machineDefinition">
        <annotations xsi:type="commons:SProperty" key="vm_name" value="nginx-host"/>
        <annotations xsi:type="commons:SProperty" key="vm_flavor" value="ubuntu"/>
      </vms>
      <networks name="concrete_net" maps="//@infrastructure/@networks.0">
        <annotations xsi:type="commons:SProperty" key="name" value="ostack2"/>
      </networks>
    </providers>
  </concretizations>
  <optimization name="opt">
    <objectives xsi:type="optimization:MeasurableObjective" kind="min" property="cost"/>
    <nonfunctionalRequirements xsi:type="commons:RangedRequirement" name="req1" description="Cost &lt;= 200" property="cost" max="200.0"/>
    <nonfunctionalRequirements xsi:type="commons:EnumeratedRequirement" name="req2" description="Provider" property="provider">
      <values>OPEN</values>
    </nonfunctionalRequirements>
  </optimization>
  <configurations name="config">
    <deployments component="//@application/@components.0" node="//@infrastructure/@nodes.0/@machineDefinition"/>
  </configurations>
</commons:DOMLModel>