diff --git a/novaclient/v1_1/client.py b/novaclient/v1_1/client.py index f6c165aa4..90714b844 100644 --- a/novaclient/v1_1/client.py +++ b/novaclient/v1_1/client.py @@ -10,6 +10,7 @@ from novaclient.v1_1 import quotas from novaclient.v1_1 import security_group_rules from novaclient.v1_1 import security_groups from novaclient.v1_1 import servers +from novaclient.v1_1 import virtual_interfaces from novaclient.v1_1 import volumes from novaclient.v1_1 import volume_snapshots from novaclient.v1_1 import zones @@ -56,6 +57,8 @@ class Client(object): self.security_groups = security_groups.SecurityGroupManager(self) self.security_group_rules = \ security_group_rules.SecurityGroupRuleManager(self) + self.virtual_interfaces = \ + virtual_interfaces.VirtualInterfaceManager(self) # Add in any extensions... if extensions: diff --git a/novaclient/v1_1/virtual_interfaces.py b/novaclient/v1_1/virtual_interfaces.py new file mode 100644 index 000000000..64593e018 --- /dev/null +++ b/novaclient/v1_1/virtual_interfaces.py @@ -0,0 +1,33 @@ +# Copyright 2012 OpenStack LLC. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Virtual Interfaces (1.1 extension). +""" + +from novaclient import base + + +class VirtualInterface(base.Resource): + def __repr__(self): + pass + + +class VirtualInterfaceManager(base.ManagerWithFind): + resource_class = VirtualInterface + + def list(self, instance_id): + return self._list('/servers/%s/os-virtual-interfaces' % instance_id, + 'virtual_interfaces') diff --git a/tests/v1_1/fakes.py b/tests/v1_1/fakes.py index 20a1a324a..d1dc7a45d 100644 --- a/tests/v1_1/fakes.py +++ b/tests/v1_1/fakes.py @@ -543,6 +543,14 @@ class FakeHTTPClient(base_client.HTTPClient): r = {'keypair': self.get_os_keypairs()[1]['keypairs'][0]} return (202, r) + # + # Virtual Interfaces + # + def get_servers_1234_os_virtual_interfaces(self, **kw): + return (200, {"virtual_interfaces": [ + {'id': 'fakeid', 'mac_address': 'fakemac'} + ]}) + # # Quotas #