# Building Catalog Blueprints

NOTE

API usage for Catalog Items with Forms is not yet supported. If planning to use the API or CLI to order Catalog Items you should not use Forms on Catalog Items until it is supported.

HPE Morpheus Enterprise Blueprints allow for full multi-tier application deployment. In the Self Service catalog, user can create catalog items based on pre-existing App Blueprints. If new Blueprints need to be created for the Service Catalog, see other sections of HPE Morpheus Enterprise docs on building App Blueprints of various supported types. Just like with catalog Instances, we can pre-configure Blueprints and present them to users viewing the Service Catalog Persona view for easy, one-click deployment.

From the Catalog Items List Page (Library > Blueprints > Catalog Items), click ADD. From the dropdown menu, select Blueprint. The modal window will appear to configure and add a new catalog Blueprint.

Configure the following:

- **NAME:** A friendly name for the catalog item in HPE Morpheus Enterprise
- **CODE:** An optional shortcode for coded naming schemes or programmatic reference
- **DESCRIPTION:** An optional description identifying the catalog item
- **CATEGORY:** Select an existing category or enter a new one. When provisioning from the catelog, items can be filtered by category
- **LABELS:** A comma-separated list of descriptive strings which can be used to categorize the Catalog Item. The Catalog Items list view page can be filtered by labels to make them easier to find
- **ENABLED:** When checked, this catalog item will be available for provisioning
- **DISABLE AUTO PRICE:** When marked, price estimates are no longer refreshed with every field change at the time this Catalog Item is ordered. For some workloads with heavy Configuration-phase Tasks this may improve performance of the order page
- **FEATURED:** When checked, this catalog item will be given special visibility in the Service Catalog Persona view
- **ALLOW QUANTITY:** When checked, an additional field is added to the order page allowing users to order multiple copies. If this option is enabled, ensure your configuration supports that flexibility (such as when IP or load balancer details are specified)
- **MAX QUANTITY:** When the ALLOW QUANTITY configuration is used, an additional MAX QUANTITY configuration is available which sets an upper limit on the quantity that may be executed
- **VISIBILITY:** Set to private to keep the catalog item available only to users in the current Tenant. Master Tenant administrators may set catalog items to public to make them viewable and usable by Subtenant users
- **LOGO:** Select or upload a logo to be associated with this catalog item
- **DARK LOGO:** If desired, set an alternate logo for use when the dark theme is applied to the HPE Morpheus Enterprise appliance
- **CONFIGURE:** Click CONFIGURE to use the familiar App provisioning wizard to tie Blueprint and App deployment configuration to the Catalog Item
- **APP SPEC:** Inject App spec here for any fields required to provision an App from your Blueprint. You may also inject any overrides to the existing Blueprint spec that are desired. App Spec configuration must be YAML, a simple example that names the App and sets the Group and Cloud is included below:

  ```
  ```
  #Example App Spec  
  name: '<%= customOption.appName %>'  
  group:  
    name: Dev Group  
  environment: Dev  
  tiers:  
    Web:  
      instances:  
        - instance:  
            type: nginx  
            cloud: Dev AWS  
    App:  
      instances:  
        - instance:  
            type: apache  
            cloud: Dev AWS
  ```
  ```
- **CONTENT:** Optionally include documentation content for this Catalog Item. Markdown-formatted text is accepted and displayed appropriately when the item is ordered from the Service Catalog. A new Catalog Item-type Wiki entry will also be added containing this information.

  NOTE

  App spec custom option variables should be single quoted in YAML: `cloud: '<%= customOption.cloud %>'`. Additionally, not all variables are available here as many are unknown until provisioning. Users may use any custom Input values (customOption) as well as name or hostname values which are resolved as part of naming policy evaluation.
- **FORM TYPE:** Choose whether a Form or individual Inputs should be used to set the user options at provisioning time. See [Forms documentation](https://docs.morpheusdata.com/en/latest/library/options/options.html#forms) for complete details on creating Forms.
- **FORM:** If the Form Type of “Form” is selected, choose the pre-existing Form which should be associated with the Catalog Item
- **INPUTS:** If the Form Type of “Inputs” is selected, choose the pre-existing Inputs which should be associated with the Catalog Item

TIP

There are a number of advantages to using Forms over Inputs. See the section above on using Forms with Catalog Items for a complete description on how they are used and the advantages to using them.

Once done, click SAVE CHANGES
