description:From 'http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.html#_Toc356403653':Non-functional behavior or quality-of-services are defined in TOSCA by means of policies. A Policy can express such diverse things like monitoring behavior, payment conditions, scalability, or continuous availability.
A Node Template can be associated with a set of Policies collectively expressing the non-functional behavior or quality-of-services that each instance of the Node Template will expose. Each Policy specifies the actual properties of the non-functional behavior, like the concrete payment information (payment period, currency, amount etc) about the individual instances of the Node Template.
Policy Templates provide actual values of properties of the types defined by Policy Types. For example, a Policy Template for monthly payments for US customers will set the “payment period” property to “monthly” and the “currency” property to “US$”, leaving the “amount” property open. The “amount” property will be set when the corresponding Policy Template is used for a Policy within a Node Template. Thus, a Policy Template defines the invariant properties of a Policy, while the Policy sets the variant properties resulting from the actual usage of a Policy Template in a Node Template.
tosca.policies.Requirement.Network.connection:
description:Connection Requirement
derived_from:tosca.policies.Root
properties:
ip:
type:string
description:IP and Netmask (e.g. 10.0.0.1/8) that should be reachable from the container.
tosca.policies.Requirement.Location:
description:Location Requirement
derived_from:tosca.policies.Root
properties:
desired_lat:
type:double
description:desired latitude coordinates of container
desired_lon:
type:double
description:desired longitude coordinates of container
min_distance:
type:double
description:the minimum accepted distance from the desired location
tosca.policies.Requirement.Network.Bandwidth:
description:Bandwidth Requirement
derived_from:tosca.policies.Root
properties:
download_speed:
type:integer
description:max download speed in bit/s
upload_speed:
type:integer
description:max upload speed bit/s
target:
type:string
description:target host or IP to download or upload data
tosca.policies.Container.Scale:
description:spawn new container instance when a specified metric is grater or less than a threshold
derived_from:tosca.policies.Root
properties:
threshold:
type:double
description:threshold to spawn new container
condition:
type:string
description:grater (gt) or less (lt) than the set threshold
metric_name:
type:string
description:the metric to monitor
node_name:
type:string
description:the container to scale (should be type tosca.nodes.Container)
tosca.policies.VM.Scale:
description:spawn new container instance when a specified metric is grater or less than a threshold
derived_from:tosca.policies.Root
properties:
threshold:
type:double
description:threshold to spawn new container
condition:
type:string
description:grater (gt) or less (lt) than the set threshold
metric_name:
type:string
description:the metric to monitor
node_name:
type:string
description:the container to scale (should be type tosca.nodes.VM)