heat.engine.properties module

class heat.engine.properties.Properties(schema, data, resolver=<function Properties.<lambda>>, parent_name=None, context=None, section=None, translation=None, rsrc_description=None)[source]

Bases: collections.abc.Mapping

get_user_value(key, validate=False)[source]
static schema_from_params(params_snippet)[source]

Create properties schema from the parameters section of a template.

Parameters

params_snippet – parameter definition from a template

Returns

equivalent properties schemata for the specified parameters

classmethod schema_to_parameters_and_properties(schema, template_type='cfn')[source]

Convert a schema to template parameters and properties.

This can be used to generate a provider template that matches the given properties schemata.

Parameters

schema – A resource type’s properties_schema

Returns

A tuple of params and properties dicts

ex: input: {‘foo’: {‘Type’: ‘List’}}
output: {‘foo’: {‘Type’: ‘CommaDelimitedList’}},

{‘foo’: {‘Fn::Split’: {‘Ref’: ‘foo’}}}

ex: input: {‘foo’: {‘Type’: ‘String’}, ‘bar’: {‘Type’: ‘Map’}}
output: {‘foo’: {‘Type’: ‘String’}, ‘bar’: {‘Type’: ‘Json’}},

{‘foo’: {‘Ref’: ‘foo’}, ‘bar’: {‘Ref’: ‘bar’}}

update_translation(rules, client_resolve=True, ignore_resolve_error=False)[source]
validate(with_value=True)[source]
class heat.engine.properties.Property(schema, name=None, context=None, path=None)[source]

Bases: object

default()[source]
get_value(value, validate=False, translation=None)[source]

Get value from raw value and sanitize according to data type.

has_default()[source]
immutable()[source]
implemented()[source]
make_path(name, path=None)[source]
required()[source]
support_status()[source]
type()[source]
update_allowed()[source]
class heat.engine.properties.Schema(data_type, description=None, default=None, schema=None, required=False, constraints=None, implemented=True, update_allowed=False, immutable=False, support_status=<heat.engine.support.SupportStatus object>, allow_conversion=False)[source]

Bases: heat.engine.constraints.Schema

Schema class for validating resource properties.

This class is used for defining schema constraints for resource properties. It inherits generic validation features from the base Schema class and add processing that is specific to resource properties.

CONSTRAINTS = 'constraints'
DEFAULT = 'default'
DESCRIPTION = 'description'
IMMUTABLE = 'immutable'
KEYS = ('type', 'description', 'default', 'schema', 'required', 'constraints', 'update_allowed', 'immutable')
REQUIRED = 'required'
SCHEMA = 'schema'
TYPE = 'type'
UPDATE_ALLOWED = 'update_allowed'
allowed_param_prop_type()[source]

Return allowed type of Property Schema converted from parameter.

Especially, when generating Schema from parameter, Integer Property Schema will be supplied by Number parameter.

classmethod from_legacy(schema_dict)[source]

Return a Property Schema object from a legacy schema dictionary.

classmethod from_parameter(param)[source]

Return a Property Schema corresponding to a Parameter Schema.

Convert a parameter schema from a provider template to a property Schema for the corresponding resource facade.

validate(context=None)[source]

Validates the schema.

This method checks if the schema itself is valid, and if the default value - if present - complies to the schema’s constraints.

heat.engine.properties.schemata(schema_dicts)[source]

Return dictionary of Schema objects for given dictionary of schemata.

The input schemata are converted from the legacy (dictionary-based) format to Schema objects where necessary.