================================
Moving resources between spaces
================================

Bonds, aggregators, and certain other resources can be moved between
spaces. Routing groups and IP allocations cannot be moved between
spaces.

Moving bonds
-------------

IP allocation and resource sharing considerations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Bonds can be moved between spaces, but only if the bond's configuration
is still valid in its new space. In particular, the bond's aggregators
and routing objects must be valid in the new space. For example, if the
bond is assigned to an aggregator that is not valid in the target space,
the bond must be reconfigured before it can be moved—it must be
assigned to an aggregator that is valid in both the current and target
spaces. If there are no aggregators valid in both spaces, it cannot be
moved. Also, unless the bond is being moved to a child space of its
current space, the bond cannot have any enabled public connected IPs,
CPE NAT IPs, or routes, because it is not possible for the same public
subnet to be valid in two spaces at once. To move a bond with public
routing objects between spaces, the following steps must be taken:

#. Disable the bond's public routing objects (connected IPs, CPE NAT
   IPs, and routes). This interrupts customer traffic.
#. Move the bond to the target space.
#. Reorganize the IP allocations and delegations of the current space to
   allow the IPs to be used in the target space. This may involve
   editing or deleting allocations or delegations.
#. Enable the bond's public routing objects.

Moving a bond to a child space
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Because moving a bond from a space to a child of that space is a common
operation, this move is handled specially. When performing this type of
move, the bond's IPs are automatically delegated to the child space so
that the routing objects do not need to be disabled when moving the
bond.

Moving a bond from a space to a child of that space causes the networks
of the bond's connected IPs, CPE NAT IPs, and routes to be delegated to
the new space, even if the user performing the move does not have
explicit permission to create IP delegations.


Moving a bond from a space to the parent of that space does not
automatically remove IP delegations, even if those delegations were
created automatically by moving the bond from the parent to the child.

Moving from the bond details page
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To move a bond to a new space, navigate to the bond's details page and
find the Space field. Click the spaces icon |spaces-icon|. A dialog listing
your currently visible spaces opens. Select the new space and click
Save.

Moving from the move multiple dialog
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Multiple bonds can be moved to a space using a dialog available on the
dashboard and bond index pages.

After selecting the bonds to move to a space, click "Edit selected",
then "Move selected bonds to space".

|edit-multiple-bonds-menu|

Select the new space and click Save.

Moving aggregators
-------------------

Aggregators can be moved between spaces, but only if all of the
aggregator's bonds are allowed to use the aggregator even in its new
space. This means that aggregators can be moved to a parent of their
current space, as long as the current space is allowed to use
aggregators from its parent, or can be moved to a child space if all of
the aggregator's bonds are in that child space. To move an aggregator in
any other way, all the agg's bonds should be moved to other aggregators.

To move an aggregator to a new space, navigate to the aggregator's details page and
find the Space field. Click the spaces icon |spaces-icon|. A dialog listing
your currently visible spaces opens. Select the new space and click
Save.

Moving QoS profiles
--------------------

QoS profiles can be moved between spaces, subject to similar
restrictions as aggregators. All the bonds using the QoS profile must be
allowed to use the QoS profile even in its new space.

To move a QoS profile to a new space, navigate to the QoS profile's page and
find the Space field. Click the spaces icon |spaces-icon|. A dialog listing
your currently visible spaces opens. Select the new space and click
Save.

Moving mobile broadband providers
----------------------------------

Mobile broadband provider profiles can be moved between spaces, subject
to similar restrictions as aggregators. All the bonds using the profile
must be allowed to use the profile even in its new space.

To move a profile to a new space, navigate to the profile's page and
find the Space field. Click the spaces icon |spaces-icon|. A dialog listing
your currently visible spaces opens. Select the new space and click
Save.

Moving users
-------------

User accounts can be moved between spaces. To move a user, navigate to
the user's page and select their new space in the Space panel. Click
"Set space." The user is immediately limited to access objects only in
the selected space and descendants of that space.

.. |edit-multiple-bonds-menu| image:: /attachments/bonds/edit-multiple-bonds-menu.png
.. |spaces-icon| image:: /attachments/bonds/spaces-icon.png
