コード例 #1
0
    def handle_get(self, request, user, *args, **kwargs):
        '''Handles GET requests get an IP6 available.

        URL: ip/availableip6/ip_rede
        '''

        self.log.info('Get an IP6 available')

        try:
            # User permission
            if not has_perm(user, AdminPermission.IPS,
                            AdminPermission.READ_OPERATION):
                self.log.error(
                    u'User does not have permission to perform the operation.')
                return self.not_authorized()

            # Business Validations

            # Valid id access
            id_network6 = kwargs.get('id_rede')

            if not is_valid_int_greater_zero_param(id_network6):
                self.log.error(u'Parameter id_rede6 is invalid. Value: %s.',
                               id_network6)
                raise InvalidValueError(None, 'id_rede6', id_network6)

            # Business Rules

            ip6 = Ipv6.get_available_ip6(id_network6)

            list_ip = []
            list_ip.append(ip6)
            network_map = dict()
            map_aux = dict()
            map_aux['ip6'] = list_ip

            network_map['ip6'] = map_aux

            # Business Rules

            return self.response(dumps_networkapi(network_map))

        except InvalidValueError, e:
            return self.response_error(269, e.param, e.value)
コード例 #2
0
    def handle_get(self, request, user, *args, **kwargs):
        '''Handles GET requests get an IP6 available.

        URL: ip/availableip6/ip_rede
        '''

        self.log.info('Get an IP6 available')

        try:
            # User permission
            if not has_perm(user, AdminPermission.IPS, AdminPermission.READ_OPERATION):
                self.log.error(
                    u'User does not have permission to perform the operation.')
                return self.not_authorized()

            # Business Validations

            # Valid id access
            id_network6 = kwargs.get('id_rede')

            if not is_valid_int_greater_zero_param(id_network6):
                self.log.error(
                    u'Parameter id_rede6 is invalid. Value: %s.', id_network6)
                raise InvalidValueError(None, 'id_rede6', id_network6)

            # Business Rules

            ip6 = Ipv6.get_available_ip6(id_network6)

            list_ip = []
            list_ip.append(ip6)
            network_map = dict()
            map_aux = dict()
            map_aux['ip6'] = list_ip

            network_map['ip6'] = map_aux

            # Business Rules

            return self.response(dumps_networkapi(network_map))

        except InvalidValueError, e:
            return self.response_error(269, e.param, e.value)