Policies
Get the latest docs
You are looking at documentation for an older release. Not what you want? Go to the current release documentation.policies provide a way of configuring reusable behavior by referencing groups for which a policy applies.
Note
The top level policies section described in this page should not be confused with policies defined in the top level policy_types and the policies
section under groups.
The confusing similar names is something that we are aware of and will work to consolidate in the future. For now, try to keep the differences in mind.
Note
At the moment, the only supported policy type is the built-in cloudify.policies.scalable.
Declaration
policies:
my_scaling_policy:
type: cloudify.policies.scalable
properties:
...
targets: ...
Schema
| Keyname | Required | Type | Description |
|---|---|---|---|
| type | yes | string | The policy type. |
| properties | no | dict | The specific policy properties. The properties schema is defined by the policy type. |
| targets | yes | list | A list of group names. The policy will be applied on the groups specified in this list. |
cloudify.policies.scalable Policy Schema
| Keyname | Required | Type | Default | Description |
|---|---|---|---|---|
| default_instances | no | integer | 1 | The number of instances the groups referenced by this policy will have. |
| min_instances | no | integer | 0 | The minimum number of allowed group instances. (Not enforced by the scale workflow) |
| max_instances | no | integer | UNBOUNDED | The maximum number of allowed group instances. (Not enforced by the scale workflow) |
Note
UNBOUNDED may be used literally as the value for max_instances. Internally, it is stored as -1, which may also be used.
Example
node_templates:
vm: ...
ip: ...
groups:
vm_and_ip:
members: [vm, ip]
policies:
scaling_policy1:
type: cloudify.policies.scaling
properties:
default_instances: 2
targets: [vm_and_ip]