130 lines
3.3 KiB
Python

"""
This module provides a model class for CA.
"""
class Instance(dict):
"""
This class defines the Tag object.
"""
def __init__(self, instance_id):
"""
:param instance_id: Instance Id
:type instance_id: str
"""
super(Instance, self).__init__()
self["instanceId"] = instance_id
class Command(dict):
"""
This class defines the Command object.
"""
def __init__(self, type, content, scope, enable_parameter, parameters, user, work_dir):
"""
:param type: Command type
:type type: str
:param content: Command content
:type content: str
:param scope: Command scope
:type scope: str
:param enable_parameter: Enable parameter flag
:type enable_parameter: bool
:param user: User
:type user: str
:param work_dir: Working directory
:type work_dir: str
"""
super(Command, self).__init__()
self["type"] = type
self["content"] = content
self["scope"] = scope
self["enableParameter"] = enable_parameter
self["parameters"] = parameters
self["user"] = user
self["workDir"] = work_dir
class Action(dict):
"""
This class defines the Action object.
"""
def __init__(self, ref=None, id=None, type=None, name=None, timeout_second=None, command=None):
"""
:param ref: Action ref
:ref type: str
:param ref: Action id
:id type: str
:param type: Action type
:type type: str
:param name: Action name
:type name: str
:param timeout_second: Timeout in seconds
:type timeout_second: int
:param command: Command object
:type command: Command
"""
super(Action, self).__init__()
self["ref"] = ref
self["id"] = id
self["type"] = type
self["name"] = name
self["timeoutSecond"] = timeout_second
self["command"] = command
class Target(dict):
"""
This class defines the Target object.
"""
def __init__(self, instance_type, instance_id):
"""
:param instance_type: Instance type
:type instance_type: str
:param instance_id: Instance Id
:type instance_id: str
"""
super(Target, self).__init__()
self["instanceType"] = instance_type
self["instanceId"] = instance_id
class TargetSelector(dict):
"""
This class defines the Target object.
"""
def __init__(self, instance_type, tags):
"""
:param instance_type: Instance type
:type instance_type: str
:param tags: tags
:type tags: list
"""
super(TargetSelector, self).__init__()
self["instanceType"] = instance_type
self["tags"] = tags
class Execution(dict):
"""
This class defines the Execution object.
"""
def __init__(self, execution, action, targets):
"""
:param execution: Execution type
:type execution: str
:param action: Action object
:type action: Action
:param targets: List of Target objects
:type targets: list
"""
super(Execution, self).__init__()
self["execution"] = execution
self["action"] = action
self["targets"] = targets