def share_ip(options)
raise CloudServers::Exception::MissingArgument, "Shared IP Group ID must be supplied" unless options[:sharedIpGroupId]
raise CloudServers::Exception::MissingArgument, "Ip Address must be supplied" unless options[:ipAddress]
options[:configureServer] = false if options[:configureServer].nil?
data = JSON.generate(:shareIp => {:sharedIpGroupId => options[:sharedIpGroupId], :configureServer => options[:configureServer]})
response = @connection.csreq("PUT",@svrmgmthost,"#{@svrmgmtpath}/servers/#{URI.encode(self.id.to_s)}/ips/public/#{options[:ipAddress]}",@svrmgmtport,@svrmgmtscheme,{'content-type' => 'application/json'},data)
CloudServers::Exception.raise_exception(response) unless response.code.match(/^20.$/)
true
end