fixed ip related functions added
Change-Id: Ibfb101f295d98bd0a54c3327648f59a133086a51
This commit is contained in:
parent
b11d0320a1
commit
16e3a440e7
|
@ -24,6 +24,8 @@ from cloudcafe.compute.servers_api.models.servers import Server, Servers, \
|
|||
ServerMins, Password
|
||||
from cloudcafe.compute.servers_api.models.servers import Addresses
|
||||
from cloudcafe.compute.servers_api.models.servers import InstanceActions
|
||||
from cloudcafe.compute.servers_api.models.requests import AddFixedIP, \
|
||||
RemoveFixedIP
|
||||
from cloudcafe.compute.servers_api.models.requests import CreateServer, \
|
||||
AddSecurityGroup
|
||||
from cloudcafe.compute.servers_api.models.requests import UpdateServer
|
||||
|
@ -247,6 +249,42 @@ class ServersClient(AutoMarshallingHTTPClient):
|
|||
requestslib_kwargs=requestslib_kwargs)
|
||||
return resp
|
||||
|
||||
def add_fixed_ip(self, server_id, network_id, requestslib_kwargs=None):
|
||||
"""
|
||||
@summary: Adds a fixed IP to a server.
|
||||
@param server_id: The id of an existing server.
|
||||
@type server_id: String
|
||||
@param network_id: A unique network id.
|
||||
@type network_id: String
|
||||
@return: Base Response object
|
||||
@rtype: Response object
|
||||
"""
|
||||
request_body = AddFixedIP(network_id=network_id)
|
||||
url = '{base_url}/servers/{server_id}/action'.format(
|
||||
base_url=self.url, server_id=server_id)
|
||||
return self.request('POST', url,
|
||||
response_entity_type=None,
|
||||
request_entity=request_body,
|
||||
requestslib_kwargs=requestslib_kwargs)
|
||||
|
||||
def remove_fixed_ip(self, server_id, address, requestslib_kwargs=None):
|
||||
"""
|
||||
@summary: Removes a fixed IP from a server.
|
||||
@param server_id: The id of an existing server.
|
||||
@type server_id: String
|
||||
@param address: IP address to be removed.
|
||||
@type address: String
|
||||
@return: Base Response object
|
||||
@rtype: Response object
|
||||
"""
|
||||
req_body = RemoveFixedIP(address=address)
|
||||
url = '{base_url}/servers/{server_id}/action'.format(
|
||||
base_url=self.url, server_id=server_id)
|
||||
return self.request('POST', url,
|
||||
response_entity_type=None,
|
||||
request_entity=req_body,
|
||||
requestslib_kwargs=requestslib_kwargs)
|
||||
|
||||
def list_addresses(self, server_id, requestslib_kwargs=None):
|
||||
"""
|
||||
@summary: Lists all addresses for a server.
|
||||
|
|
|
@ -756,12 +756,12 @@ class RemoveFixedIP(AutoMarshallingModel):
|
|||
Remove Fixed IP Action Request Object
|
||||
"""
|
||||
|
||||
def __init__(self, network_id):
|
||||
def __init__(self, address):
|
||||
super(RemoveFixedIP, self).__init__()
|
||||
self.network_id = network_id
|
||||
self.address = address
|
||||
|
||||
def _obj_to_json(self):
|
||||
body = {'networkId': self.network_id}
|
||||
body = {'address': self.address}
|
||||
return json.dumps({'removeFixedIp': body})
|
||||
|
||||
|
||||
|
|
|
@ -69,6 +69,8 @@ class NeutronResponseCodes(object):
|
|||
CREATE_PORT = 201
|
||||
UPDATE_PORT = 200
|
||||
DELETE_PORT = 204
|
||||
ADD_FIXED_IP = 202
|
||||
REMOVE_FIXED_IP = 202
|
||||
|
||||
BAD_REQUEST = 400
|
||||
UNAUTHORIZED = 401
|
||||
|
|
Loading…
Reference in New Issue