--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<wsag:Agreement xmlns:wsag="http://www.ggf.org/namespaces/ws-agreement"\r
+ {% if data.agreement_id %}AgreementId="{{data.agreement_id}}"{% endif %}>\r
+ {% if data.agreement_name %}<wsag:Name>{{data.agreement_name}}</wsag:Name>{% endif %}\r
+\r
+ <wsag:Context>\r
+ <wsag:AgreementInitiator>{{data.consumer}}</wsag:AgreementInitiator>\r
+ <wsag:AgreementResponder>{{data.provider}}</wsag:AgreementResponder>\r
+ <wsag:ServiceProvider>AgreementResponder</wsag:ServiceProvider>\r
+ <wsag:ExpirationTime>{{data.expiration_time_iso}}</wsag:ExpirationTime>\r
+ <wsag:TemplateId>{{data.template_id}}</wsag:TemplateId>\r
+ {% if data.service_id %}<sla:Service xmlns:sla="http://sla.atos.eu">{{data.service_id}}</sla:Service>{% endif %}\r
+ </wsag:Context>\r
+\r
+ <wsag:Terms>\r
+ <wsag:All>\r
+ <wsag:ServiceProperties\r
+ wsag:Name="ServiceProperties"\r
+ wsag:ServiceName="{{data.service_id|default:"service"}}">\r
+ <wsag:Variables>\r
+ {% for property in data.service_properties %} <wsag:Variable\r
+ wsag:Name="{{property.name}}"\r
+ wsag:Metric="{{property.metric|default:'xs:double'}}">\r
+ <wsag:Location>{{property.location|default:property.name}}</wsag:Location>\r
+ </wsag:Variable>\r
+ {% endfor %}</wsag:Variables>\r
+ </wsag:ServiceProperties>\r
+ {% for term in data.guarantee_terms %}\r
+ <wsag:GuaranteeTerm Name="{{term.name}}">\r
+ {# do not need servicescope #}\r
+ {% for scope in term.scopes %}\r
+ <wsag:ServiceScope ServiceName="{{scope.servicename}}"/>\r
+ {% endfor %}\r
+ <wsag:ServiceLevelObjective>\r
+ <wsag:KPITarget>\r
+ <wsag:KPIName>{{term.servicelevelobjective.kpiname}}</wsag:KPIName>\r
+ <wsag:CustomServiceLevel>\r
+ {% autoescape off %}\r
+ {{term.servicelevelobjective.customservicelevel}}\r
+ {% endautoescape %}\r
+ </wsag:CustomServiceLevel>\r
+ </wsag:KPITarget>\r
+ </wsag:ServiceLevelObjective>\r
+ </wsag:GuaranteeTerm>{% endfor %}\r
+ </wsag:All>\r
+ </wsag:Terms>\r
+</wsag:Agreement>
\ No newline at end of file