CDS Designer Guide

Getting Started

This is your CDS Designer UI guide. No matter how experienced you are or what you want to achieve, it should cover everything you need to know — from navigating the interface to making the most of different features.

What is CDS Designer UI?

CDS Designer UI is a framework to automate the resolution of resources for instantiation and any config provisioning operation, such as day0, day1, or day2 configuration.

CDS has both design-time and run-time activities; during design time, the Designer can define what actions are required for a given service, along with anything comprising the action. The design produces a CBA Package. Its content is driven by a catalog of reusable data dictionaries and components, delivering a reusable and simplified self-service experience.

CDS modeling is mainly based on the TOSCA standard, using JSON as a representation.

What's new?


Create full CBA packages from built-in forms without programming



Import old packages for edit and collaboration


Create sophisticated package workflows in a no-code graphical designer


Customizable CBA Package actions

Easily create and manage lists of data via interface (Data Dictionary, controller catalog, and config management)

Integration between CDS UI and SDC Services

Overview of CDS Interface

Full CDS UI screens are available in Marvel App



  1. CDS main menu: Access all CDS module lists including Packages, Data Dictionary, Controller Catalog, etc.
  2. Profile: Access user profile information
  3. Module Title: See the current module name and the total number of items in the module list
  4. Module list: View all active items in the module and tools for search and filtering

CBA Packages

  • Package List

It gives you quick access to all and most recent created/edit packages


  1. Module Tabs: Access All, Deployed, Under Construction, or Archived packages
  2. Search: Search for a package by title
  3. Filter: Filter packages by package tags
  4. Package Sort: Sort packages by recent or alphanumeric (name) or version
  5. List Pagination: navigate between package list pages
  6. Create Package: Create a new CBA package
  7. Import-Package: Import other packages that are created previously on CDS Editor or Designer or created by other/current user
  8. Package box: It shows a brief detail of the package and gives access to some actions of the package
  9. Deployed package indicator
  10. Package name and version
  11. More menu: Access a list of actions including Clone, Archive, Download, and Delete
  12. Last modified: Shows user name and date and time of last modifications made in the package
  13. Package Description
  14. Package Tags
  15. Collaborators: See who's collaborating to edit in the package
  16. Configuration button: Go directly to package configuration
  17. Designer Mode: It indicates package mode (Designer, Scripting, and Generic scripting) and by clicking on it, it will load to the mode screen


Create a New CBA Package

  • User Flow

  • Create a New Package

You can create a new CBA Package by creating a new custom package or by import a package file that is already created before.

Create/Import-Package

You can’t create/import a CBA package that has the same name and version of an existing package. Packages can be in the same name but in different version numbers (ex., Package one v1.0.0 & Package one v1.0.1).


Create a New Custom CBA Package

From the Packages page, click on the Create Package button to navigate to Package Configuration

In MetaData Tab, select Package Mode, enter package Name, Version, Description, and other configurations

Once you fill in all required inputs, you can save this package by clicking the Save button in the Actions menu

Package Info Box: It is on top of configurations tabs and it appears after you save a package for the first time

You can continue adding package configuration or go directly to the Designer Mode screen from Package infobox

All changes will be saved when you click on the Save button

To close the package configuration and go back to the Package list, navigate to the top left in breadcrumb and click the CBA Packages link or click on the Packages link in the Main menu.

You can create as many templates using artifact-mapping-resource or/and artifact-template-velocity.

  1. Template name
  2. Template Section: Where you include template attributes
  3. Manage Mapping: Here the automapping process occurs to template attributes to refer to the data dictionary that will be used to resolve a particular resource.


Template Section


  1. Template Type: Template is defined by one of three templates (Velocity, Jinja, Kotlin)
  2. Import Template Attributes/Parameters: You can add attributes by Import attribute list file or by
  3. Insert Template Attributes/Parameters Manually: You can insert Attributes manually in the code editor. Code editor validates attributes according to the pre-selected template type


Import Template Attributes


After import attributes, you can add/edit/delete attributes in the code editor.



Manage Mapping Section


  1. Use current Template Instance: You can use attributes from the Template section
  2. Upload Attributes List: In case you don’t have existing attributes in the Template section or have different attributes, you can upload the attributes list


Once you select the source of attributes, you get a confirmation of success fetching.

Then the Mapped Table appears to show the Resource Dictionary reference.

When you finish the creation process, you must click on the Finish button (1) to submit the template, or you can clear all data by click on the Clear button (2).


Allowed file type: Kotlin, Jython, Ansible

To add script file/s, you have two options:

  1. Create Script
  2. Import File

 

Create a Script File

  1. File Name: Add the script filename
  2. Script Type: Choose script type (Kotlin, Jython, Ansible)
  3. Script Editor: Enter the script file content

After you type the script, click on the Create Script button to save it


By adding script file/s, you can:

  1. Edit file: You can edit each script file from the code editor
  2. Delete file

To define a data type that represents the schema of a specific type of data, you have to enrich the package to automatically generate all definition files:

  1. Enrich Package: from the package details box, click on the Enrich button


  Once you successfully enrich the package, all definition files will be listed.


By adding definition file/s, you can:

  1. Delete file

In order to populate the system information within the package, you have to provide dsl_definitions



  • Topology Template

Here you can manually add your package:

  1. Workflows that define an overall action to be taken on the service
  2. Node/Component template that is used to represent a functionality along with its contracts, such as inputs, outputs, and attributes




Next: How to create a “Hello World” Package with CDS Designer UI? The Resource Resolution Type