Examples of resource description configurations in the Automation Server.
Resource description structure
The resource description file consists of a list of bindings. Each binding has a list of modules and a list of resources. All services from one module can be provisioned to the resources listed within the binding their module belongs to:
- Bindings section
- Module list section
- Resource list section
<resourceDescription> <bindings> <moduleList> ... </moduleList> <resourceList> ... </resourceList> </bindings> ... <bindings> <moduleList> ... </moduleList> <resourceList> ... </resourceList> </bindings>
Bindings
As stated before, each resource description consists of a list of bindings
sections. Each bindings
section provides a list of modules, moduleList
, and a list of resources, resourceList
. Modules from the list can provision their services only to the resources from the resourceList
within same bindings
section.
<resourceDescription> <bindings> <moduleList> <module name="Atomia.Example.Module1" ... /> <module name="Atomia.Example.Module2" ... /> <module name="Atomia.Example.Module3" ... /> </moduleList> <resourceList> <resource name="Resource1" ... /> <resource name="Resource2" ... /> </resourceList> </bindings> ...
Module
Each module
section represents one provisioning module. Each module must have a name and a resource assignment policy. The attribute name
should be the full name of the class which represents the Atomia Automation Server module, Namespace.ClassName
. Which resource, if more then one, is going to be selected as a host for the service is determined by the resource assignment policy being used for the specific module. The attribute resourceAsignmentPolicy
determines the resource assignment policy. The Atomia Automation Server system uses this information when deciding which Resource Assignment Policy agent should be evoked.
An example of a module configuration:
<resourceDescription> <bindings> <moduleList> <module name="Atomia.Provisioning.Examples.IIS" resourceAsignmentPolicy="RoundRobin" /> </moduleList> ... </bindings> ...
Resource
Section resource
represents one resource in the system which can host services created by the Provisioning system. Each resource has a name and a list of properties. This properties are used so that resource can be easily accessed, i.e. MSSQL server has address, username and password as properties. Attribute locckable
tells whether resource can be accessed by multiple threads simultaneously. Default value is false. Each resource can also have propertyList
which represents grouped properties.
An example of resource configuration:
<resourceDescription> <bindings> ... <resourceList> <resource name="MSSQL1"> <property name="DatabaseServer">192.168.0.1</property> <property name="PublicIpAddress">10.0.2.10</property> <property name="User">admin_user</property> <property name="Password">p@ssw0rd</property> <property name="InitialCatalog">master</property> <property name="AdminIpAddress">10.0.2.11</property> </resource> </resourceList> </bindings> ...