def describe_scheduled_tasks()

in footmark/ess/connection.py [0:0]


    def describe_scheduled_tasks(self, scheduled_task_ids=None, scheduled_task_names=None, scaling_rule_aris=None,
                                 pagenumber=None, pagesize=50):
        """
        Queries information of a scheduled task.

        You can use the Scaling Rule Ari to query the relevant scheduled task.
        
        :type list
        :parameter scheduled_task_ids: ID of the scheduled task. You can enter at most 20 IDs.
        :type list
        :parameter scheduled_task_names: Display name of the schedules task. You can enter at most 20 display names.
        :type list
        :parameter scaling_rule_aris: Unique identifier of a scaling rule. A maximum of 20 values can be entered.
        :type int
        :parameter pagenumber: Page number of the scaling scheduled task list. The initial value and default value are both 1.
        :type int
        :parameter pagesize: When querying by page, this parameter indicates the number of lines per page. Maximum value: 50; default value: 50.
        
        :rtype: list
        :return: A list of  :class:`footmark.ess.ScheduledTask`
    
        """

        tasks = []
        params = {}

        if scheduled_task_ids:
            for i in range(len(scheduled_task_ids)):
                if i < 20 and scheduled_task_ids[i]:
                    self.build_list_params(params, scheduled_task_ids[i], 'ScheduledTaskId'+ bytes(i+1))
        if scheduled_task_names:
            for i in range(len(scheduled_task_names)):
                if i < 20 and scheduled_task_names[i]:
                    self.build_list_params(params, scheduled_task_names[i], 'ScheduledTaskName'+ bytes(i+1))
        if scaling_rule_aris:
            for i in range(len(scaling_rule_aris)):
                if i < 10 and scaling_rule_aris[i]:
                    self.build_list_params(params, scaling_rule_aris[i], 'ScheduledAction'+ bytes(i+1))

        self.build_list_params(params, pagesize, 'PageSize')

        pNum = pagenumber
        if not pNum:
            pNum = 1
        while True:
            self.build_list_params(params, pNum, 'PageNumber')
            task_list = self.get_list('DescribeScheduledTasks', params, ['ScheduledTasks', ScheduledTask])

            for rule in task_list:
                tasks.append(rule)
            if pagenumber or len(task_list) < pagesize:
                break
            pNum += 1

        return tasks