def shared_ips(self, linode, *ips):
if not isinstance(linode, Instance):<EOL><INDENT>linode = Instance(self.client, linode)<EOL><DEDENT>params = []<EOL>for ip in ips:<EOL><INDENT>if isinstance(ip, str):<EOL><INDENT>params.append(ip)<EOL><DEDENT>elif isinstance(ip, IPAddress):<EOL><INDENT>params.append(ip.address)<EOL><DEDENT>else:<EOL><INDENT>params.append(str(ip)) <EOL><DEDENT><DEDENT>params = {<EOL>"<STR_LIT>": params<EOL>}<EOL>self.client.post('<STR_LIT>'.format(Instance.api_endpoint),<EOL>model=linode, data=params)<EOL>linode.invalidate()<EOL>
Shares the given list of :any:`IPAddresses<IPAddress>` with the provided
:any:`Instance`.  This will enable the provided Instance to bring up the
shared IP Addresses even though it does not own them.

:param linode: The Instance to share the IPAddresses with.  This Instance
               will be able to bring up the given addresses.
:type: linode: int or Instance
:param ips: Any number of IPAddresses to share to the Instance.
:type ips: str or IPAddress