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
« 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.
16from manila.api import common
19class ViewBuilder(common.ViewBuilder):
20 """Model a server API response as a python dictionary."""
22 _collection_name = 'share_network_subnets'
23 _detail_version_modifiers = [
24 "add_metadata"
25 ]
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)}
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]}
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
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')