blob: 85dde80d22c7db65c99e710f839863434b7b994c [file] [log] [blame]
<!--
~ Copyright 2014-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.cli.PrettyJson"/>
</command>
<command>
<action class="org.onosproject.cli.SummaryCommand"/>
</command>
<command>
<action class="org.onosproject.cli.security.ReviewCommand"/>
<completers>
<ref component-id="reviewAppNameCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.FlowObjectiveNextListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.FlowObjectivePendingNextCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.FlowObjectiveCompositionCommand"/>
</command>
<command>
<action class="org.onosproject.cli.app.ApplicationsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.app.ApplicationCommand"/>
<completers>
<ref component-id="appCommandCompleter"/>
<ref component-id="appNameCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.cfg.ComponentConfigCommand"/>
<completers>
<ref component-id="cfgCommandCompleter"/>
<ref component-id="componentNameCompleter"/>
<ref component-id="componentPropertyNameCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.cfg.NetworkConfigRegistryCommand"/>
</command>
<command>
<action class="org.onosproject.cli.cfg.NetworkConfigCommand"/>
<completers>
<ref component-id="subjectClassKeyCompleter"/>
<ref component-id="subjectKeyCompleter"/>
<ref component-id="configKeyCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.MetricsListCommand"/>
<completers>
<ref component-id="metricNameCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.NodesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.UiViewListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.RolesCommand"/>
</command>
<command>
<action class="org.onosproject.cli.MastersListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.BalanceMastersCommand"/>
</command>
<command>
<action class="org.onosproject.cli.app.ApplicationIdListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.McastShowCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.McastJoinCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.McastDeleteCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.DriversListCommand"/>
<completers>
<ref component-id="driverNameCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DevicesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.DevicePortsListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DevicePortStateCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<ref component-id="portStateCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceControllersCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceSetControllersCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceConfigGetterCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceConfigSetterCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DevicePortGetterCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceRemoveCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceInterfaceAddCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceInterfaceRemoveCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceInterfacesListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.MeterAddCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.MeterRemoveCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.MetersListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceRoleCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="nodeIdCompleter"/>
<ref component-id="roleCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AnnotateDeviceCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="annotationKeysCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AnnotatePortCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="annotationKeysCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AnnotateLinkCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="peerConnectPointCompleter"/>
<ref component-id="annotationKeysCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.LinksListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.EdgePortsListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.TopologyCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.PathListCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="deviceIdCompleter"/>
<null/> <!-- no more arguments -->
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.IntentsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.IntentListCompilers"/>
</command>
<command>
<action class="org.onosproject.cli.net.IntentRemoveCommand"/>
<completers>
<ref component-id="appIdWithIntentNameCompleter"/>
<ref component-id="intentKeyCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.IntentPurgeCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.AddHostToHostIntentCommand"/>
<completers>
<ref component-id="hostIdCompleter"/>
<ref component-id="hostIdCompleter"/>
</completers>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
<entry key="-a" value-ref="allAppNameCompleter"/>
<entry key="-e" value-ref="encapTypeCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.AddPointToPointIntentCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="connectPointCompleter"/>
<null/> <!-- no more argument -->
</completers>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
<entry key="-a" value-ref="allAppNameCompleter"/>
<entry key="-e" value-ref="encapTypeCompleter"/>
<entry key="-r" value-ref="nullCompleter"/> <!-- option has no argument -->
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.GetStatisticsCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.GetFlowStatisticsCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AddMultiPointToSinglePointIntentCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
</completers>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
<entry key="-a" value-ref="allAppNameCompleter"/>
<entry key="-e" value-ref="encapTypeCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.AddSinglePointToMultiPointIntentCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
</completers>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
<entry key="-a" value-ref="allAppNameCompleter"/>
<entry key="-e" value-ref="encapTypeCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.IntentPushTestCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="connectPointCompleter"/>
<ref component-id="nullCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.IntentCycleCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="connectPointCompleter"/>
<ref component-id="nullCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RandomIntentCommand"/>
<completers>
<ref component-id="nullCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.ResourcesCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AllocationsCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.TestAllocateResource"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.TestProtectionEndpointIntentCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.AddProtectedTransportIntentCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.ClustersListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.PartitionsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.MapsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.CountersListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.QueuesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TransactionsCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.CounterCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.ClusterDevicesCommand"/>
<completers>
<ref component-id="clusterIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.ClusterLinksCommand"/>
<completers>
<ref component-id="clusterIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.HostsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.HostRemoveCommand"/>
<completers>
<ref component-id="hostIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.InterfacesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.InterfaceAddCommand"/>
<completers>
<ref component-id="connectPointCompleter" />
<ref component-id="placeholderCompleter" />
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.InterfaceRemoveCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="interfaceNameCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.GroupsListCommand"/>
<completers>
<ref component-id="groupStatusCompleter"/>
<ref component-id="deviceIdCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.DevicePortStatsCommand"/>
<completers>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.PortQueryVlansCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.TableStatisticsCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.FlowsListCommand"/>
<completers>
<ref component-id="flowRuleStatusCompleter"/>
<ref component-id="deviceIdCompleter"/>
<ref component-id="placeholderCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.PacketRequestsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.PacketProcessorsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.NeighbourHandlersListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.AddTestFlowsCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LeaderCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.WipeOutCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.AddMplsIntent"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="connectPointCompleter"/>
</completers>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
<entry key="-a" value-ref="allAppNameCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.RoutesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RouteAddCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RouteRemoveCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.NextHopsListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LabelResourceCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelPoolCreateCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LabelPoolCreateCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelPoolDestoryCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LabelPoolDestroyCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelReleaseCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LabelReleaseCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelApplyCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LabelApplyCommand"/>
</command>
<!-- tunnel commands -->
<command>
<action class="org.onosproject.cli.net.TunnelBorrowCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelReturnCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelQueryCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelQuerySubscriptionCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelCreateCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelRemoveCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.TunnelUpdateCommand"/>
</command>
<!-- device key commands -->
<command>
<action class="org.onosproject.cli.net.DeviceKeyListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceKeyAddCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.DeviceKeyRemoveCommand"/>
</command>
<!--region commands -->
<command>
<action class="org.onosproject.cli.net.RegionListCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionAddCommand"/>
<completers>
<null/>
<null/>
<ref component-id="regionTypeCompleter"/>
<ref component-id="nodeIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionUpdateCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
<null/>
<ref component-id="regionTypeCompleter"/>
<ref component-id="nodeIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionRemoveCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionAddDevicesCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionRemoveDevicesCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
<ref component-id="deviceIdCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.RegionAddPeerLocCommand"/>
<completers>
<ref component-id="regionIdCompleter"/>
</completers>
</command>
<!-- UI Layout commands -->
<command>
<action class="org.onosproject.cli.net.LayoutListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.LayoutAddCommand"/>
</command>
<!--TODO: add this + completers
<command>
<action class="org.onosproject.cli.net.LayoutRemoveCommand"/>
</command>
-->
<!--virtual network commands -->
<command>
<action class="org.onosproject.cli.net.vnet.TenantListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.TenantAddCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.TenantRemoveCommand"/>
<completers>
<ref component-id="tenantCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkCreateCommand"/>
<completers>
<ref component-id="tenantCompleter"/>
<ref component-id="nullCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualDeviceListCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualDeviceCreateCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualDeviceRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="nullCompleter"/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualLinkListCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualLinkCreateCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualLinkRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualPortListCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualPortCreateCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="nullCompleter"/>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualPortBindCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<ref component-id="deviceIdCompleter"/>
<ref component-id="portNumberCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualPortRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="virtualPortCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualHostListCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualHostCreateCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualHostRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="virtualHostCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkIntentCreateCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkIntentRemoveCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualFlowsListCommand"/>
<completers>
<ref component-id="virtualNetworkCompleter"/>
<ref component-id="flowRuleStatusCompleter"/>
<ref component-id="virtualDeviceCompleter"/>
<ref component-id="placeholderCompleter"/>
<null/>
</completers>
</command>
<command>
<action class="org.onosproject.cli.net.vnet.VirtualNetworkPacketRequestCommand"/>
<optional-completers>
<entry key="-t" value-ref="ethTypeCompleter"/>
<entry key="--ipProto" value-ref="ipProtocolCompleter"/>
<entry key="--icmp6Type" value-ref="Icmp6TypeCompleter"/>
<entry key="--icmp6Code" value-ref="Icmp6CodeCompleter"/>
<entry key="--extHdr" value-ref="ExtHeaderCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.DpisListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.IntentDetailsCommand"/>
<optional-completers>
<entry key="--id" value-ref="intentIdCompleter"/>
</optional-completers>
</command>
<command>
<action class="org.onosproject.cli.net.ConfigureLinkCommand"/>
<completers>
<ref component-id="connectPointCompleter"/>
<ref component-id="peerConnectPointCompleter"/>
<null/>
</completers>
<optional-completers>
<entry key="--type" value-ref="linkTypeCompleter"/>
</optional-completers>
</command>
<!--Domain command-->
<command>
<action class="org.onosproject.cli.net.GetDomainsCommand"/>
</command>
</command-bundle>
<bean id="reviewAppNameCompleter" class="org.onosproject.cli.security.ReviewApplicationNameCompleter"/>
<bean id="appCommandCompleter" class="org.onosproject.cli.app.ApplicationCommandCompleter"/>
<bean id="appNameCompleter" class="org.onosproject.cli.app.ApplicationNameCompleter"/>
<bean id="allAppNameCompleter" class="org.onosproject.cli.app.AllApplicationNamesCompleter"/>
<bean id="appIdWithIntentNameCompleter" class="org.onosproject.cli.app.ApplicationIdWithIntentNameCompleter"/>
<bean id="cfgCommandCompleter" class="org.onosproject.cli.cfg.ComponentConfigCommandCompleter"/>
<bean id="componentNameCompleter" class="org.onosproject.cli.cfg.ComponentNameCompleter"/>
<bean id="componentPropertyNameCompleter" class="org.onosproject.cli.cfg.ComponentPropertyNameCompleter"/>
<bean id="nodeIdCompleter" class="org.onosproject.cli.NodeIdCompleter"/>
<bean id="deviceIdCompleter" class="org.onosproject.cli.net.DeviceIdCompleter"/>
<bean id="portNumberCompleter" class="org.onosproject.cli.net.PortNumberCompleter"/>
<bean id="portStateCompleter" class="org.onosproject.cli.net.PortStateCompleter"/>
<bean id="clusterIdCompleter" class="org.onosproject.cli.net.ClusterIdCompleter"/>
<bean id="roleCompleter" class="org.onosproject.cli.net.RoleCompleter"/>
<bean id="hostIdCompleter" class="org.onosproject.cli.net.HostIdCompleter"/>
<bean id="intentKeyCompleter" class="org.onosproject.cli.net.IntentKeyCompleter"/>
<bean id="intentIdCompleter" class="org.onosproject.cli.net.completer.IntentIdCompleter"/>
<bean id="flowRuleStatusCompleter" class="org.onosproject.cli.net.FlowRuleStatusCompleter"/>
<bean id="groupStatusCompleter" class="org.onosproject.cli.net.GroupStatusCompleter" />
<bean id="connectPointCompleter" class="org.onosproject.cli.net.ConnectPointCompleter"/>
<bean id="nullCompleter" class="org.apache.karaf.shell.console.completer.NullCompleter"/>
<bean id="ethTypeCompleter" class="org.onosproject.cli.net.EthTypeCompleter"/>
<bean id="ipProtocolCompleter" class="org.onosproject.cli.net.IpProtocolCompleter"/>
<bean id="driverNameCompleter" class="org.onosproject.cli.net.DriverNameCompleter"/>
<bean id="Icmp6TypeCompleter" class="org.onosproject.cli.net.Icmp6TypeCompleter"/>
<bean id="Icmp6CodeCompleter" class="org.onosproject.cli.net.Icmp6CodeCompleter"/>
<bean id="ExtHeaderCompleter" class="org.onosproject.cli.net.ExtHeaderCompleter"/>
<bean id="startStopCompleter" class="org.onosproject.cli.StartStopCompleter"/>
<bean id="metricNameCompleter" class="org.onosproject.cli.MetricNameCompleter"/>
<bean id="upDownCompleter" class="org.onosproject.cli.UpDownCompleter"/>
<bean id="encapTypeCompleter" class="org.onosproject.cli.net.EncapTypeCompleter"/>
<bean id="placeholderCompleter" class="org.onosproject.cli.PlaceholderCompleter"/>
<bean id="subjectClassKeyCompleter" class="org.onosproject.cli.cfg.SubjectClassKeyCompleter"/>
<bean id="subjectKeyCompleter" class="org.onosproject.cli.cfg.SubjectKeyCompleter"/>
<bean id="configKeyCompleter" class="org.onosproject.cli.cfg.ConfigKeyCompleter"/>
<bean id="regionIdCompleter" class="org.onosproject.cli.net.RegionIdCompleter"/>
<bean id="regionTypeCompleter" class="org.onosproject.cli.net.RegionTypeCompleter"/>
<bean id="annotationKeysCompleter" class="org.onosproject.cli.net.completer.AnnotationKeysCompleter"/>
<bean id="peerConnectPointCompleter" class="org.onosproject.cli.net.completer.PeerConnectPointCompleter"/>
<bean id="interfaceNameCompleter" class="org.onosproject.cli.net.completer.InterfaceNameCompleter"/>
<bean id="linkTypeCompleter" class="org.onosproject.cli.net.completer.LinkTypeCompleter"/>
<bean id="tenantCompleter" class="org.onosproject.cli.net.vnet.TenantCompleter"/>
<bean id="virtualNetworkCompleter" class="org.onosproject.cli.net.vnet.VirtualNetworkCompleter"/>
<bean id="virtualDeviceCompleter" class="org.onosproject.cli.net.vnet.VirtualDeviceCompleter"/>
<bean id="virtualPortCompleter" class="org.onosproject.cli.net.vnet.VirtualPortCompleter"/>
<bean id="virtualHostCompleter" class="org.onosproject.cli.net.vnet.VirtualHostCompleter"/>
<bean id="domainIdCompleter" class="org.onosproject.cli.net.DomainIdCompleter" />
</blueprint>