Patent attributes
A high-level object-oriented specification language allows configurable components of a cloud-based deployment to be modeled by a class definition that includes a group of configurable class parameters. The object-oriented specification language supports extension of an existing base class definition to create new class definitions, and supports inheritance of class parameters from the existing base class definition by the new class definitions. A cloud-based deployment can be customized based on class definitions used in configuring one or more generic deployments, such as by modifying class parameter values of the class definitions, varying interrelationships between the classes, and supplementing existing class parameters with new class parameters. The high-level object-oriented specification language supports class definitions that model hardware and virtual resources as well as software roles and service roles served by software applications and services in a cloud-based deployment. Syntax for specifying dependency and connectivity between classes is also provided.