You can create your own blueprints and upload them into the Dell Telecom Infrastructure Automation Suite (Automation Suite).
Prerequisites
Before developing a blueprint, you must:
- Ensure that you are familiarized with TOSCA standards. For more information about TOSCA, see Automation Suite Topology.
- Ensure that you are using the supported node types that are associated with the plug-in's that you are using.
Blueprint process
When creating blueprints, you must supply contextual information in the blueprint, such as resource types, locations, sites, and resource pools. You must run this information in a blueprint before you onboard a server. For sample blueprints for creating a resource type, location, site, and resource pool using the Imgr plug-in, see Use cases for Imgr blueprint files. When the contextual information is supplied and the blueprint is run, you can then run a blueprint to onboard a server. When the server is onboarded, you can then make configurations to the server such as making changes to settings or installing applications. You can use blueprints to make the required configurations to the server.
Writing a blueprint
Blueprints contain several fields that specify the functionality of a blueprint, and how the blueprint is to be deployed. These fields are known as the blueprint syntax and are found as sections within a blueprint. The following table describes the syntax that can be in the blueprint:
Section | Description |
TOSCA definition version | Specifies the DSL version that is used in the blueprint. |
Imports | Imports enable the author of a blueprint file to reuse either the file or parts of the file. |
Inputs | Inputs are the parameters that are added to the blueprint when a deployment is created. |
Node templates | Node templates represent the node types instances that are described in a blueprint. |
Node types | Node types define the common properties and behaviors of the node templates. |
Built-in node types | Build-in node types are the basic node types from which other node types for plug-in implementations can be created. For examples of supported built-in node types, see Supported blueprint fields. |
Blueprint labels | Blueprint labels are used to tag blueprint objects and attach them to the blueprint. |
Capabilities | Capabilities are the aspects of a blueprint that are exposed after a blueprint is deployed. |
Labels | Labels are used to tag the deployment objects generated from a blueprint. |
Outputs | Outputs are the global aspects of a blueprint that are exposed after a blueprint is deployed. |
Relationships | Relationships define how nodes relate to each other. |
Intrinsic functions | Intrinsic functions that can be used within a blueprint. |
Plug-ins | Plug-ins specify the plug-ins to install and from where the plug-in operations can occur. |
Deployment settings | Deployment settings are additional settings that define how to handle a deployment that is created from a blueprint. |
Interfaces | The Interfaces section enables the mapping of logical tasks to executable operations. |
Workflows | Workflows define tasks that can run on a node or group of nodes. Workflows include the running order of the tasks and specify whether they can run either serially or in parallel. For examples of supported built-in workflows, see Supported blueprint fields. |
Groups | Groups enable the configuration of shared behaviors within different sets of node templates. |
Secrets store | The secrets store provides storage for data that you do not want to be exposed in blueprints. For example, login credentials. |
DSL definitions | DSL definitions define data structures that can be reused in different parts of the blueprint using YAML anchors and aliases. |
Data types | Data types group a set of properties that can be reused. |
Multiple instances (Scaling) | Multiple instances and scaling refer to the number of node instances that each node template has on deployment. |
Import resolver | An import resolver resolves imports during the blueprint parsing. |
Upload resources | Upload resources enable the packaging of resources with a blueprint. |
Resources such as scripts and imports that apply to a blueprint can be packaged into a blueprint archive folder alongside the blueprint YAML file.
Using the blueprint syntax, you can configure the blueprint template to include the fields that you require. Depending on the scenario and use of the blueprints, the blueprint syntax that is required can differ. For more information about the blueprint template, see Blueprint template.