Configuration examples of how to define the services the Atomia Automation Server works with.
Parent – Child structure
The simple service structure looks like this:
<simpleService name="SimpleService" friendlyName="Simple service example" providingModule="Atomia.Provisioning.Modules.ExampleModule">
<propertyList>
<!-- List of simple service properties. -->
</propertyList>
<operationList>
<!-- List of operations which can be executed on this type of simple service. -->
</operationList>
<childServiceList>
<!-- List of child simple services. -->
</childServiceList>
<actionHooks>
<!-- Registered action hooks for this type of service. -->
</actionHooks>
</simpleService>
Let’s say we want to describe the simple service IISApplicationPool. Its description should look like something like this:
<simpleService name="IISApplicationPool" friendlyName="IIS Application Pool" providingModule="Atomia.Provisioning.Modules.IIS.IIS7" min="1">
<propertyList>
<property name="Name" friendlyName="Application Pool Name" defaultValue="" key="true" />
<property name="Username" friendlyName="Application Pool User" defaultValue="" key="true" />
<property name="Password" friendlyName="Application Pool User's Password" defaultValue="" storeType="encrypt" log="false" />
</propertyList>
<operationList>
<operation name="GenerateSSLRequest" />
</operationList>
</simpleService>
Here we have defined one simple service, added some properties and marked properties Name and Username as key properties. Also, this service has one operation: GenerateSSLRequest.
Let’s now say that we have a service called IISWebSite. This service is a child of IISApplicationPool and we want to describe this relationship using the service description. This is very simple to do. A complete IISWebSite service description should be added under the childServiceList subsection of the IISApplicationPool service:
<simpleService name="IISApplicationPool" friendlyName="IIS Application Pool" providingModule="Atomia.Provisioning.Modules.IIS.IIS7" min="1">
<propertyList>
<property name="Name" friendlyName="Application Pool Name" defaultValue="" key="true" />
<property name="Username" friendlyName="Application Pool User" defaultValue="" key="true" />
<property name="Password" friendlyName="Application Pool User's Password" defaultValue="" storeType="encrypt" log="false" />
</propertyList>
<operationList>
<operation name="GenerateSSLRequest" />
</operationList>
<childServiceList>
<simpleService name="IISWebSite" friendlyName="IIS Web Site" providingModule="Atomia.Provisioning.Modules.IIS.IIS7">
<propertyList>
<property name="Name" friendlyName="Web site name" key="true" />
<property name="HomeDirectory" friendlyName="Home Direcotory" />
<property name="ConnectionTimeout" friendlyName="Connection Timeout" defaultValue="00:02:00" />
<property name="MaximumBandwidth" friendlyName="Maximum Bandwidth" defaultValue="104857600" />
</propertyList>
<operationList>
<operation name="Start" />
<operation name="Stop" />
</operationList>
</simpleService>
</childServiceList>
</simpleService>
If the simple service should not have a parent service then its description must be placed in the simpleServiceList subsection. Each child service description must be placed in the appropriate parent’s childServiceList subsection.