Documentation

Skip to end of metadata
Go to start of metadata

Author: Xavier Thevenot

Introduction to enterprise properties in the UI

Abiquo has enterprise properties for storing tenant metadata. In previous versions this functionality was only available in the API (see EnterprisePropertiesResource). Administrators could enter properties in JSON format.

In Abiquo 3.8.4+ administrators can enter enterprise properties for storing tenant metadata through the Abiquo UI when they create or modify an enterprise.

To facilitate data entry and assure that users enter the relevant data, cloud administrators can predefine properties and default values in the UI configuration files.

Tenant administrators can then add new properties or modify existing enterprise properties on the Properties tab when they create or edit the enterprise. 

The maximum length of enterprise property elements is a key of 30 characters and a value of 50 characters

 

Create a list of preset enterprise properties

To define preset enterprise properties, enter a list of your custom property definitions in the client-config-custom.json file. 

Use the UI configuration property defined in the client-config-default.json file. By default, the preset list will be empty and the property is the following:

Enterprise properties
"config.enterprise.properties" : []

 

 

The preset property types you can define are described in the following sections and can be the following:

  • input
  • combo
  • multiple

Define an Input property

To enable the user to edit a text value for a key, use the Input type.

Input property
{"type": "input", "key":"property_input", "value":"value", "required":true}

The object must have the type value as 'input'. Then you have to define key  and value attributes (these are mandatory, otherwise the property will fail in UI). You can also add the required attribute, set to true if you want to force this property value to be added to enterprise properties.

 

Define a Combo selection property

To enable the user to set a value by selecting one of the set of elements defined in the values attributes, use the Combo type.

Combo property
{"type": "combo", "key":"property_combo", "value": "first", "values":[
        {"name":"First property", "value":"first"},
        {"name":"Second property", "value":"second"},
        {"name":"Third property", "value":"third"}
 	]
}

The object must have the type value as 'combo'. Then you have to define key  and value attributes (these are mandatory, otherwise the property will fail in UI), and a list of values: each object must have a name (displayed in the combo-box) and a value (will be used as value in the key/value property). You can also add the required attribute set to true if you want to force this property to be added to enterprise properties.

Define a Multi-selection property

To enable the user to edit a list of values by selecting one or more values from the set of elements displayed in a multi-selection grid, use the Multi type.

Multi property
{"type": "multi", "key":"property_multi", "value": "second", "values":[
        {"name":"First property", "value":"first"},
        {"name":"Second property", "value":"second"},
        {"name":"Third property", "value":"third"}
 	]
}

The object must have the type value as 'multi'. Then you have to define key  and value attributes (these are mandatory, otherwise the property will fail in UI), and a list of values: each object must have a name and a value (which will be used as the value in the key/value property). You can also add the required attribute to true if you want to force this property to be added to enterprise properties.

 

Full example

Putting all the above examples together, the client property will have the following value.

Full example
"config.enterprise.properties" : [
{"type": "input", "key":"property_input", "value":"value", "required":true},
{"type": "combo", "key":"property_combo", "value": "first", "values":[
        {"name":"First property", "value":"first"},
        {"name":"Second property", "value":"second"},
        {"name":"Third property", "value":"third"}
 	]
},
{"type": "multi", "key":"property_multi", "value": "second", "values":[
        {"name":"First property", "value":"first"},
        {"name":"Second property", "value":"second"},
        {"name":"Third property", "value":"third"}
 	]
}]

  • No labels