<!--
  ~ Copyright 2015 Open Networking Laboratory
  ~
  ~ 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.
  -->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">

  <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
    <command>
      <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkQueryCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkRemoveCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkUpdateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.subnet.SubnetCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.subnet.SubnetQueryCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.subnet.SubnetRemoveCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.subnet.SubnetUpdateCommand"/>
    </command>
      <command>
      <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortQueryCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortRemoveCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortUpdateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpQueryCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpRemoveCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpUpdateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.router.RouterCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.router.RouterQueryCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.router.RouterRemoveCommand"/>
    </command>
    <command>
      <action class="org.onosproject.vtnrsc.cli.router.RouterUpdateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceCreateCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceRemoveCommand"/>
    </command>
     <command>
      <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceQueryCommand"/>
    </command>
  </command-bundle>
</blueprint>
