Building Blocks
With Building Blocks, you can store all settings related to objects in an environment's Library (Modules, Projects, Run Books and/or Resources) as external XML files. Because you can import these settings again in a Ivanti Automation environment at a later stage, this makes it possible to back up these objects and to transport them from one environment to another. You can only create Building Blocks of pages and objects to which your administrative role has access. For example, if your administrative role does not have access to the Resources node, you cannot create Building Blocks that include Resources.
You can create Building Blocks that include:
- only Modules, Projects, Run Books, Resources or Teams
- specific Modules, Projects, Run Books, Resources and/or Teams
- a specific Module, Project, Run Book, Resource or Team
- empty folders to recreate a complete folder structure.
When a Building Block is created of Modules, Projects, Run Books and/or Teams, they are stored in a regular XML file (*.xml). Variables and related categories that are used in Modules, Projects and Run Books are also exported to the XML file. You can choose to save the Building Block with Resources. The Resources are then exported to an encrypted XBB file (*.xbb). When importing such a Building Block, the Resources are automatically included.
See also Transport objects from one environment to another
General rules Building Blocks
- You can import Building Blocks into the Management Portal that were created in the Console, and vice versa. Also, you can import Building Blocks that were created from a older version of Ivanti Automation, and vice versa.
- You can only create or import Building Blocks of nodes and items to which your administrative role has access.
- For example, if your administrative role does not have access to the Resources node, you cannot create Building Blocks that include Resources.
- For example, if a Building Block contains Resources and Modules, but you only have Modify access to the Resources node, it will only be possible to import Resources.
- For example, if a Building Block contains Modules, but you only have Read access to the Modules node, it will only be possible to import the Building Block as read only: the option Place in new root folder will not be possible.
- For example, if a Building Block contains items to which your administrative roles(s) do not grant (Deny) access, these items will not be imported.
- You can create Building Blocks that include empty folders. This makes it possible to recreate a complete folder structure when transporting items from one Ivanti Automation environment to another.
- Modules and Resources can contain Trusts on Teams and Agents. These are not included in a Building Block.
- Teams can contain fixed Agents, nested Teams and Job scheduling options. These are not included in a Building Block.
- The (encrypted) values for the passwords in the Variables of the type Password and Credentials are not included in a Building Block.

- In an AES-256 encrypted environment, you can only create Building Blocks using AES-256 encryption. In these Building Blocks, all credentials and passwords (and parameters or Variables based on this type) used in Modules, Projects, Run Books and Resources are encrypted and decrypted with AES-256. You can identify the used encryption method by the m=aes256 label in the XML file.
- When creating an AES-256 encrypted Building Block, you need to generate a passkey. When importing the Building Block, this passkey needs to be provided again.
- You can import an AES-256 encrypted Building Block into a non AES-256 encrypted environment.
- You can import a legacy Building Block into an AES-256 encrypted environment. In this scenario, the Building Block password will not be requested on import.
- Although Ivanti does not recommend it, it is possible to import an AES-256 encrypted Building Block into Ivanti Automation version 10 or lower (via the Console). However, the following needs to be considered: since the legacy Datastore is not aware of AES-256 encryption, you will need to re-enter all password values used in Modules, Projects and Run Books.

- Teams will always be imported into an environment with their original GUIDs and folder structure, irrespective of the Import Building Block settings. This means that existing Teams in the target environment will be updated with rules, properties and Team settings from the Building Block. Any explicit members and automatic Job scheduling settings will remain untouched.
- If you import a Building Block of items that includes Team Variables:
- and the Team Variables already exist, the Team Variables will be overwritten with the value in the Building Block.
- and the Team Variables do not yet exist, the global Variables will be created with an empty value, after which the Team Variables will get the value in the Building Block.

- If you import a Building Block of items that includes Variables:
- and the Variable does not yet exist in the environment in which the Building Block is imported (based on name),
then a new Variable of the same type will be created with the same value as in the originating environment. Team Variables and Agent Variables will inherit this value from the global Variable. - and the Variable already exists in the environment in which the Building Block is imported (based on name, irrespective of type),
then no Variable or category will be created or changed, nor will the value of the Variable be overwritten. - and the non-existing Variable is categorized in a category that does not yet exist in the receiving environment (based on GUID and then on name),
then a new category will be created and the Variables will be categorized in this new category. - and the non-existing Variable is categorized in a category that already exists in the receiving environment (based on GUID and then on name),
then the Variables will be categorized in the existing category.
- and the Variable does not yet exist in the environment in which the Building Block is imported (based on name),
- If you import a Building Block into a version before Ivanti Automation 10.0.0.0,
then the category information will not be retained and the Variable will be placed under the General category.