<!--
  ~ Copyright 2016-present 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.pce.cli.PceQueryPathCommand"/>
    </command>
    <command>
      <action class="org.onosproject.pce.cli.PceSetupPathCommand"/>
    </command>
    <command>
      <action class="org.onosproject.pce.cli.PceUpdatePathCommand"/>
    </command>
    <command>
      <action class="org.onosproject.pce.cli.PceDeletePathCommand"/>
    </command>
  </command-bundle>
</blueprint>
