Policies
Get the latest docs.
You are looking at documentation for an older release. Not what you want? Use the version selector on the top banner or click here.
policies enable you to configure reusable behavior by referencing the groups for which a policy applies.
Do not confuse the top-level policies section described here with policies that are defined in the top-level policy_types or the policies section under groups.
The only supported policy type is the built-in cloudify.policies.scaling.
Declaration
policies:
my_scaling_policy:
type: cloudify.policies.scaling
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 is applied on the groups specified in this list. |
cloudify.policies.scaling 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 permitted group instances. (Not enforced by the scale workflow.) |
| max_instances | no | integer | UNBOUNDED | The maximum number of permitted group instances. (Not enforced by the scale workflow.) |
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]