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.