IDE Auto Completion

General

This document describes the Cloudify schema for IDEs allowing for a simpler & faster blueprint development via blueprint syntax validation and code auto-completion. The validation and autocomplete are done through a JSON schema. The schema source can be found in the link.

In order to use the validation and auto completion feature you need to save you blueprints in the following name convention [BLUEPRINT_NAME].cfy.yaml

Supported IDEs

We use SchemaStore open source project to automatically distribute our JSON schema to IDEs

The integration provides a Cloudify JSON schema which is automatically available in the following IDEs:

If your IDE is not in the list and supports JSON schema you can download the Cloudify JSON Schema directly from our repository

Functionality

Autocomplete

Similar to any programming language, you can press CTRL+SPACE and it will suggest the available options.

Property type validation

Each property is assigned to a specific type. The type can be integer, string, boolean, object, array. If the value is not of the right type the IDE will notify you about it. Cloudify components

Suggest properties based on type

In the node templates when you specify type the JSON schema will suggest properties and interfaces that are available for that specific type.

As you can see in the images below the available properties for type cloudify.rest.request are different from cloudify.nodes.ftp

Cloudify Rest Request Cloudify components Cloudify FTP Cloudify components

Detect Missing Required Properties

If a mandatory field is expected and it’s missing you’ll get a notification. Cloudify components

Property Description

For most of the properties a description is available. The description can assist you to understand what is the best way to use it. Cloudify components

Detect not allowed property

Some of the objects are sealed to certain properties. If an unknown property is introduced it will show an error message. It’s good in cases when an attribute is misspelled. Cloudify components

Supported plugins