'Add new rule for translating mechanism.
:param properties: properties of resource
:param rule: rule from RULE_KEYS
:param translation_path: list with path to property, which value will
be affected in rule.
:param value: value which will be involved in rule
:param value_name: value_name which used for replacing properties
inside list-type properties.
:param value_path: path to value, which should be used for translation.
:param client_plugin: client plugin that would be used to resolve
:param finder: finder method of the client plugin
:param entity: some generic finders require an entity to resolve ex.
neutron finder function.
:param custom_value_path: list-type value path to translate property,
which has no schema.'

def __init__(self, properties, rule, translation_path, value=None, value_name=None, value_path=None, client_plugin=None, finder=None, entity=None, custom_value_path=None):

    self.properties = properties
    self.rule = rule
    self.translation_path = translation_path
    self.value = (value or None)
    self.value_name = value_name
    self.value_path = value_path
    self.client_plugin = client_plugin
    self.finder = finder
    self.entity = entity
    self.custom_value_path = custom_value_path
    self.validate()
