Coverage for manila/api/views/share_network_subnets.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2026-02-18 22:19 +0000

1# Copyright 2019 NetApp, Inc. 

2# All Rights Reserved. 

3# 

4# Licensed under the Apache License, Version 2.0 (the "License"); you may 

5# not use this file except in compliance with the License. You may obtain 

6# a copy of the License at 

7# 

8# http://www.apache.org/licenses/LICENSE-2.0 

9# 

10# Unless required by applicable law or agreed to in writing, software 

11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

13# License for the specific language governing permissions and limitations 

14# under the License. 

15 

16from manila.api import common 

17 

18 

19class ViewBuilder(common.ViewBuilder): 

20 """Model a server API response as a python dictionary.""" 

21 

22 _collection_name = 'share_network_subnets' 

23 _detail_version_modifiers = [ 

24 "add_metadata" 

25 ] 

26 

27 def build_share_network_subnet(self, request, share_network_subnet): 

28 return { 

29 'share_network_subnet': self._build_share_network_subnet_view( 

30 request, share_network_subnet)} 

31 

32 def build_share_network_subnets(self, request, share_network_subnets): 

33 return {'share_network_subnets': 

34 [self._build_share_network_subnet_view( 

35 request, share_network_subnet) 

36 for share_network_subnet in share_network_subnets]} 

37 

38 def _build_share_network_subnet_view(self, request, share_network_subnet): 

39 sns = { 

40 'id': share_network_subnet.get('id'), 

41 'availability_zone': share_network_subnet.get('availability_zone'), 

42 'share_network_id': share_network_subnet.get('share_network_id'), 

43 'share_network_name': share_network_subnet['share_network_name'], 

44 'created_at': share_network_subnet.get('created_at'), 

45 'segmentation_id': share_network_subnet.get('segmentation_id'), 

46 'neutron_subnet_id': share_network_subnet.get('neutron_subnet_id'), 

47 'updated_at': share_network_subnet.get('updated_at'), 

48 'neutron_net_id': share_network_subnet.get('neutron_net_id'), 

49 'ip_version': share_network_subnet.get('ip_version'), 

50 'cidr': share_network_subnet.get('cidr'), 

51 'network_type': share_network_subnet.get('network_type'), 

52 'mtu': share_network_subnet.get('mtu'), 

53 'gateway': share_network_subnet.get('gateway') 

54 } 

55 self.update_versioned_resource_dict(request, sns, share_network_subnet) 

56 return sns 

57 

58 @common.ViewBuilder.versioned_method("2.78") 

59 def add_metadata(self, context, share_network_subnet_dict, sns): 

60 share_network_subnet_dict['metadata'] = sns.get('subnet_metadata')