Skip to main content

Configuration Language

A managed service is described using xpanse Service Description Language (XSDL).

XSDL is a yaml descriptor of a managed service which fully describes the service and the way to deploy the service.

Examples of managed services described using XSDL for multiple clouds can be found here.

Deployment Scripts

In XSDL, the deployer can contain the script that must be executed for provisioning the managed service. Currently, the only allowed script is Terraform.

Flavors

For each managed service, we can define different flavors of it. For example, different sizes of the VM, etc. End user can then select the flavor of their preference for the service while ordering.

Flavor properties

Flavors can have properties which can be simply declared and referred in the deployment script too with the same property names. Runtime will ensure that these variables are automatically available for the deployment scripts

Deployment Variables

As part of the XSDL, the managed service provider can define variables that can be either entered by the user or available as defaults or variables that can be read for any other sources such as the environment variables. All possible types of variables are defined here Deployment Variables The variables can then be used in the deployment scripts.

Availability Zones

OCL provides a way to define if the service supports deploying on availability zones which the end user wishes.

Or even if the service needs the end user to select multiple availability zones, even that's possible. The availability zone information can be directly injected into deployment scripts.

ISV Contact Details

Each ISV can provide their support contacts as part of OCL. This can then be used by end user or the CSP in case of issues with the service deployment or managing the service after deployment.

XSDL loading

xpanse provides different options to register service templates defined using XSDL:

  • REST API on the xpanse runtime
  • xpanse UI