# Path: networking_sfc/_i18n.py
# DOMAIN = "networking_sfc"
# _C = _translators.contextual_form
# _P = _translators.plural_form
# def get_available_languages():
# 
# Path: networking_sfc/cli/flow_classifier.py
# FLOW_CLASSIFIER_RESOURCE = 'flow_classifier'
# def get_flowclassifier_id(client, id_or_name):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def _fill_protocol_port_info(self, body, port_type, port_val):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def extend_list(self, data, parsed_args):
#     def _get_protocol_port_details(self, data, type):
# class FlowClassifier(extension.NeutronClientExtension):
# class FlowClassifierCreate(extension.ClientExtensionCreate,
#                            FlowClassifier):
# class FlowClassifierUpdate(extension.ClientExtensionUpdate,
#                            FlowClassifier):
# class FlowClassifierDelete(extension.ClientExtensionDelete,
#                            FlowClassifier):
# class FlowClassifierList(extension.ClientExtensionList,
#                          FlowClassifier):
# class FlowClassifierShow(extension.ClientExtensionShow, FlowClassifier):
# 
# Path: networking_sfc/cli/port_pair_group.py
# PORT_PAIR_GROUP_RESOURCE = 'port_pair_group'
# def get_port_pair_group_id(client, id_or_name):
# def add_common_arguments(parser):
# def update_common_args2body(client, body, parsed_args):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
# class PortPairGroup(extension.NeutronClientExtension):
# class PortPairGroupCreate(extension.ClientExtensionCreate, PortPairGroup):
# class PortPairGroupUpdate(extension.ClientExtensionUpdate, PortPairGroup):
# class PortPairGroupDelete(extension.ClientExtensionDelete, PortPairGroup):
# class PortPairGroupList(extension.ClientExtensionList, PortPairGroup):
# class PortPairGroupShow(extension.ClientExtensionShow, PortPairGroup):


from neutronclient.common import extension
from neutronclient.common import utils
from neutronclient.neutron import v2_0 as neutronv20
from networking_sfc._i18n import _
from networking_sfc.cli import flow_classifier as fc
from networking_sfc.cli import port_pair_group as ppg
            '--description',
            help=_('Description for the Port Chain.'))
        parser.add_argument(
            '--port-pair-group',
            metavar='PORT-PAIR-GROUP',
            dest='port_pair_groups',
            default=[], required=True,
            action='append',
            help=_('ID or name of the Port Pair Group. '
                   'This option can be repeated.'))
        parser.add_argument(
            '--flow-classifier',
            default=[],
            metavar='FLOW-CLASSIFIER',
            dest='flow_classifiers',
            action='append',
            help=_('ID or name of the Flow Classifier.'
                   'This option can be repeated.'))
        parser.add_argument(
            '--chain-parameters',
            metavar='[correlation=CORRELATION_TYPE, symmetric=BOOLEAN_TYPE]',
            type=utils.str2dict_type(optional_keys=['correlation',
                                                    'symmetric']),
            help=_('Dictionary of chain parameters. Supports '
                   'correlation=mpls and symmetric=true|false.'))

    def args2body(self, parsed_args):
        body = {}
        client = self.get_client()
        if parsed_args.port_pair_groups:

# Path: networking_sfc/_i18n.py
# DOMAIN = "networking_sfc"
# _C = _translators.contextual_form
# _P = _translators.plural_form
# def get_available_languages():
# 
# Path: networking_sfc/cli/flow_classifier.py
# FLOW_CLASSIFIER_RESOURCE = 'flow_classifier'
# def get_flowclassifier_id(client, id_or_name):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def _fill_protocol_port_info(self, body, port_type, port_val):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def extend_list(self, data, parsed_args):
#     def _get_protocol_port_details(self, data, type):
# class FlowClassifier(extension.NeutronClientExtension):
# class FlowClassifierCreate(extension.ClientExtensionCreate,
#                            FlowClassifier):
# class FlowClassifierUpdate(extension.ClientExtensionUpdate,
#                            FlowClassifier):
# class FlowClassifierDelete(extension.ClientExtensionDelete,
#                            FlowClassifier):
# class FlowClassifierList(extension.ClientExtensionList,
#                          FlowClassifier):
# class FlowClassifierShow(extension.ClientExtensionShow, FlowClassifier):
# 
# Path: networking_sfc/cli/port_pair_group.py
# PORT_PAIR_GROUP_RESOURCE = 'port_pair_group'
# def get_port_pair_group_id(client, id_or_name):
# def add_common_arguments(parser):
# def update_common_args2body(client, body, parsed_args):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
#     def add_known_arguments(self, parser):
#     def args2body(self, parsed_args):
# class PortPairGroup(extension.NeutronClientExtension):
# class PortPairGroupCreate(extension.ClientExtensionCreate, PortPairGroup):
# class PortPairGroupUpdate(extension.ClientExtensionUpdate, PortPairGroup):
# class PortPairGroupDelete(extension.ClientExtensionDelete, PortPairGroup):
# class PortPairGroupList(extension.ClientExtensionList, PortPairGroup):
# class PortPairGroupShow(extension.ClientExtensionShow, PortPairGroup):


# Path: networking_sfc/cli/port_chain.py
from neutronclient.common import extension
from neutronclient.common import utils
from neutronclient.neutron import v2_0 as neutronv20
from networking_sfc._i18n import _
from networking_sfc.cli import flow_classifier as fc
from networking_sfc.cli import port_pair_group as ppg

            '--description',
            help=_('Description for the Port Chain.'))
        parser.add_argument(
            '--port-pair-group',
            metavar='PORT-PAIR-GROUP',
            dest='port_pair_groups',
            default=[], required=True,
            action='append',
            help=_('ID or name of the Port Pair Group. '
                   'This option can be repeated.'))
        parser.add_argument(
            '--flow-classifier',
            default=[],
            metavar='FLOW-CLASSIFIER',
            dest='flow_classifiers',
            action='append',
            help=_('ID or name of the Flow Classifier.'
                   'This option can be repeated.'))
        parser.add_argument(
            '--chain-parameters',
            metavar='[correlation=CORRELATION_TYPE, symmetric=BOOLEAN_TYPE]',
            type=utils.str2dict_type(optional_keys=['correlation',
                                                    'symmetric']),
            help=_('Dictionary of chain parameters. Supports '
                   'correlation=mpls and symmetric=true|false.'))

    def args2body(self, parsed_args):
        body = {}
        client = self.get_client()
        if parsed_args.port_pair_groups:

            body['port_pair_groups'] = [ppg.get_port_pair_group_id(client, p)