tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
   onap.policies.controlloop.Guard:
      derived_from: tosca.policies.Root
      version: 1.0.0
      description: Guard Policies for Control Loop Operational Policies
   onap.policies.controlloop.guard.FrequencyLimiter:
      derived_from: onap.policies.controlloop.Guard
      version: 1.0.0
      description: Supports limiting the frequency of actions being taken by a Actor.
      properties:
         frequency_policy:
            type: map
            description: null
            entry_schema:
               type: onap.datatypes.guard.FrequencyLimiter
data_types:
   onap.datatypes.guard.FrequencyLimiter:
      derived_from: tosca.datatypes.Root
      properties:
         actor:
            type: string
            description: Specifies the Actor
            required: true
         recipe:
            type: string
            description: Specified the Recipe
            required: true
         time_window:
            type: scalar-unit.time
            description: The time window to count the actions against.
            required: true
         limit:
            type: integer
            description: The limit
            required: true
            constraints:
            -  greater_than: 0
         time_range:
            type: tosca.datatypes.TimeInterval
            description: An optional range of time during the day the frequency is valid for.
            required: false
         controlLoopName:
            type: string
            description: An optional specific control loop to apply this guard to.
            required: false
         target:
            type: string
            description: An optional specific VNF to apply this guard to.
            required: false