예제 #1
0
    def take_action(self, parsed_args):
        rows = const.L7POLICY_ROWS
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)
        validate.check_l7policy_attrs(attrs)
        body = {"l7policy": attrs}

        data = self.app.client_manager.load_balancer.l7policy_create(
            json=body)

        if parsed_args.wait:
            listener = self.app.client_manager.load_balancer.listener_show(
                data['l7policy']['listener_id'])
            v2_utils.wait_for_active(
                status_f=(self.app.client_manager.load_balancer.
                          load_balancer_show),
                res_id=listener['loadbalancers'][0]['id']
            )
            data = {
                'l7policy': (
                    self.app.client_manager.load_balancer.l7policy_show(
                        data['l7policy']['id']))
            }

        formatters = {'rules': v2_utils.format_list}

        return (rows, (utils.get_dict_properties(
            data['l7policy'], rows, formatters=formatters)))
예제 #2
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        l7policy_id = attrs.pop('l7policy_id')

        self.app.client_manager.load_balancer.l7policy_delete(
            l7policy_id=l7policy_id)
예제 #3
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        l7policy_id = attrs.pop('l7policy_id')

        body = {'l7policy': attrs}

        self.app.client_manager.load_balancer.l7policy_set(l7policy_id,
                                                           json=body)
예제 #4
0
    def take_action(self, parsed_args):
        columns = const.L7POLICY_COLUMNS

        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        data = self.app.client_manager.load_balancer.l7policy_list(**attrs)
        formatters = {'rules': v2_utils.format_list}

        return (columns,
                (utils.get_dict_properties(
                    s, columns,
                    formatters=formatters) for s in data['l7policies']))
예제 #5
0
    def take_action(self, parsed_args):
        rows = const.L7POLICY_ROWS
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)
        validate.check_l7policy_attrs(attrs)
        body = {"l7policy": attrs}

        data = self.app.client_manager.load_balancer.l7policy_create(json=body)

        formatters = {'rules': v2_utils.format_list}

        return (rows, (utils.get_dict_properties(data['l7policy'],
                                                 rows,
                                                 formatters=formatters)))
예제 #6
0
    def take_action(self, parsed_args):
        rows = const.L7POLICY_ROWS
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        l7policy_id = attrs.pop('l7policy_id')

        data = self.app.client_manager.load_balancer.l7policy_show(
            l7policy_id=l7policy_id, )
        formatters = {'rules': v2_utils.format_list}

        return (rows, (utils.get_dict_properties(data,
                                                 rows,
                                                 formatters=formatters)))
예제 #7
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        l7policy_id = attrs.pop('l7policy_id')

        self.app.client_manager.load_balancer.l7policy_delete(
            l7policy_id=l7policy_id)

        if parsed_args.wait:
            v2_utils.wait_for_delete(
                status_f=(self.app.client_manager.load_balancer.
                          l7policy_show),
                res_id=l7policy_id
            )
예제 #8
0
    def take_action(self, parsed_args):
        attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                            parsed_args)

        validate.check_l7policy_attrs(attrs)
        l7policy_id = attrs.pop('l7policy_id')

        body = {'l7policy': attrs}

        self.app.client_manager.load_balancer.l7policy_set(
            l7policy_id, json=body)

        if parsed_args.wait:
            v2_utils.wait_for_active(
                status_f=(self.app.client_manager.load_balancer.
                          l7policy_show),
                res_id=l7policy_id
            )
예제 #9
0
    def take_action(self, parsed_args):
        rows = const.L7POLICY_ROWS
        data = None
        if uuidutils.is_uuid_like(parsed_args.l7policy):
            try:
                data = self.app.client_manager.load_balancer.l7policy_show(
                    l7policy_id=parsed_args.l7policy)
            except exceptions.NotFound:
                pass
        if data is None:
            attrs = v2_utils.get_l7policy_attrs(self.app.client_manager,
                                                parsed_args)

            l7policy_id = attrs.pop('l7policy_id')

            data = self.app.client_manager.load_balancer.l7policy_show(
                l7policy_id=l7policy_id,
            )
        formatters = {'rules': v2_utils.format_list}

        return (rows, (utils.get_dict_properties(
            data, rows, formatters=formatters)))