def describe_configurations()

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


    def describe_configurations(self, scaling_group_id=None, scaling_configuration_ids=None, scaling_configuration_names=None,
                                pagenumber=None, pagesize=50):
        """
        Retrieve all the scaling configurations 
        :type str
        :parameter scaling_group_id: ID of the scaling group of a scaling configuration.
        :type list
        :parameter scaling_configuration_ids: List ID of a scaling configurations.
        :type list
        :parameter scaling_configuration_names: List name of a scaling configurations.
        :type int
        :parameter pagenumber: Page number of the scaling configuration 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: 10.
        
        :rtype: list
        :return: A list of  :class:`footmark.ess.configuration`

        """

        cfgs = []
        params = {}
        if scaling_group_id:
            self.build_list_params(params, scaling_group_id, 'ScalingGroupId')
        if scaling_configuration_ids and len(scaling_configuration_ids) > 0:
            for i in range(len(scaling_configuration_ids)):
                if i < 10 and scaling_configuration_ids[i]:
                    self.build_list_params(params, scaling_configuration_ids[i], 'ScalingConfigurationId'+ bytes(i+1))
        if scaling_configuration_names:
            for i in range(len(scaling_configuration_names)):
                if i < 10 and scaling_configuration_names[i]:
                    self.build_list_params(params, scaling_configuration_names[i], 'ScalingConfigurationName'+ 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')
            cfg_list = self.get_list('DescribeScalingConfigurations', params, ['ScalingConfigurations', ScalingConfiguration])

            for cfg in cfg_list:
                cfgs.append(cfg)
            if pagenumber or len(cfg_list) < pagesize:
                break
            pNum += 1

        return cfgs