1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 """
17 Resource class and its manager for metering label rules for Networking v2 API
18 """
19
20 from yakumo import base
21 from yakumo.constant import UNDEF
22 from yakumo import mapper
23 from yakumo import utils
24
25
26 ATTRIBUTE_MAPPING = [
27 ('id', 'id', mapper.Noop),
28 ('remote_ip_prefix', 'remote_ip_prefix', mapper.Noop),
29 ('direction', 'direction', mapper.Noop),
30 ('excluded', 'excluded', mapper.Noop),
31 ('metering_label', 'metering_label_id',
32 mapper.Resource('neutron.metering.label')),
33 ]
34
35
37 """Resource class for metering label rules for Networking v2 API"""
38
39
41 """Manager class for metering label rules for Networking v2 API"""
42
43 resource_class = Resource
44 service_type = 'network'
45 _attr_mapping = ATTRIBUTE_MAPPING
46 _hidden_methods = ["update"]
47 _json_resource_key = '"metering_label_rule'
48 _json_resources_key = '"metering_label_rules'
49 _url_resource_path = '/v2.0/metering/metering-label-rules'
50
53 """
54 Create a metering label rule
55
56 :param remote_ip_prefix=: Remote IP prefix (str)
57 :param direction=: Direction; 'ingress' or 'egress' (str)
58 :param is_excluded=: Is the rule excluded (bool)
59 :param metering_label=: MeteringLabel object
60 """
61 return super(Manager, self).create(remote_ip_prefix=remote_ip_prefix,
62 direction=direction,
63 excluded=excluded,
64 metering_label=metering_label)
65