heat.engine.constraints.
AllowedPattern
(pattern, description=None)[source]¶Bases: heat.engine.constraints.Constraint
Constrain values to a predefined regular expression pattern.
Serializes to JSON as:
{
'allowed_pattern': <pattern>,
'description': <description>
}
valid_types
= ('STRING',)¶heat.engine.constraints.
AllowedValues
(allowed, description=None)[source]¶Bases: heat.engine.constraints.Constraint
Constrain values to a predefined set.
Serializes to JSON as:
{
'allowed_values': [<allowed1>, <allowed2>, ...],
'description': <description>
}
valid_types
= ('STRING', 'INTEGER', 'NUMBER', 'BOOLEAN', 'LIST')¶heat.engine.constraints.
AnyIndexDict
(value)[source]¶Bases: collections.abc.Mapping
A Mapping that returns the same value for any integer index.
Used for storing the schema for a list. When converted to a dictionary, it contains a single item with the key ‘*’.
ANYTHING
= '*'¶heat.engine.constraints.
BaseCustomConstraint
[source]¶Bases: object
A base class for validation using API clients.
It will provide a better error message, and reduce a bit of duplication. Subclass must provide expected_exceptions and implement validate_with_client.
expected_exceptions
= (<class 'heat.common.exception.EntityNotFound'>,)¶resource_client_name
= None¶resource_getter_name
= None¶heat.engine.constraints.
Constraint
(description=None)[source]¶Bases: collections.abc.Mapping
Parent class for constraints on allowable values for a Property.
Constraints are serializable to dictionaries following the HOT input Parameter constraints schema using dict().
DESCRIPTION
= 'description'¶heat.engine.constraints.
CustomConstraint
(name, description=None, environment=None)[source]¶Bases: heat.engine.constraints.Constraint
A constraint delegating validation to an external class.
custom_constraint
¶valid_types
= ('STRING', 'INTEGER', 'NUMBER', 'BOOLEAN', 'LIST')¶heat.engine.constraints.
Length
(min=None, max=None, description=None)[source]¶Bases: heat.engine.constraints.Range
Constrain the length of values within a range.
Serializes to JSON as:
{
'length': {'min': <min>, 'max': <max>},
'description': <description>
}
valid_types
= ('STRING', 'LIST', 'MAP')¶heat.engine.constraints.
Modulo
(step=None, offset=None, description=None)[source]¶Bases: heat.engine.constraints.Constraint
Constrain values to modulo.
Serializes to JSON as:
{
'modulo': {'step': <step>, 'offset': <offset>},
'description': <description>
}
OFFSET
= 'offset'¶STEP
= 'step'¶valid_types
= ('INTEGER', 'NUMBER')¶heat.engine.constraints.
Range
(min=None, max=None, description=None)[source]¶Bases: heat.engine.constraints.Constraint
Constrain values within a range.
Serializes to JSON as:
{
'range': {'min': <min>, 'max': <max>},
'description': <description>
}
MAX
= 'max'¶MIN
= 'min'¶valid_types
= ('INTEGER', 'NUMBER')¶heat.engine.constraints.
Schema
(data_type, description=None, default=None, schema=None, required=False, constraints=None, label=None, immutable=False)[source]¶Bases: collections.abc.Mapping
Schema base class for validating properties or parameters.
Schema objects are serializable to dictionaries following a superset of the HOT input Parameter schema using dict().
Serialises to JSON in the form:
{
'type': 'list',
'required': False
'constraints': [
{
'length': {'min': 1},
'description': 'List must not be empty'
}
],
'schema': {
'*': {
'type': 'string'
}
},
'description': 'An example list property.'
}
ANY
= 'Any'¶BOOLEAN
= 'Boolean'¶BOOLEAN_TYPE
= 'BOOLEAN'¶CONSTRAINTS
= 'constraints'¶DEFAULT
= 'default'¶DESCRIPTION
= 'description'¶IMMUTABLE
= 'immutable'¶INTEGER
= 'Integer'¶INTEGER_TYPE
= 'INTEGER'¶KEYS
= ('type', 'description', 'default', 'schema', 'required', 'constraints', 'immutable')¶LIST
= 'List'¶LIST_TYPE
= 'LIST'¶MAP
= 'Map'¶MAP_TYPE
= 'MAP'¶NUMBER
= 'Number'¶NUMBER_TYPE
= 'NUMBER'¶REQUIRED
= 'required'¶SCHEMA
= 'schema'¶STRING
= 'String'¶STRING_TYPE
= 'STRING'¶TYPE
= 'type'¶TYPES
= ('Integer', 'String', 'Number', 'Boolean', 'Map', 'List', 'Any')¶TYPE_KEYS
= ('INTEGER', 'STRING', 'NUMBER', 'BOOLEAN', 'MAP', 'LIST')¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.