# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class StructuredInterface(Model):
    """StructuredInterface.

    :param command_line_pattern:
    :type command_line_pattern: str
    :param inputs:
    :type inputs: list[~designer.models.StructuredInterfaceInput]
    :param outputs:
    :type outputs: list[~designer.models.StructuredInterfaceOutput]
    :param control_outputs:
    :type control_outputs: list[~designer.models.ControlOutput]
    :param parameters:
    :type parameters: list[~designer.models.StructuredInterfaceParameter]
    :param metadata_parameters:
    :type metadata_parameters:
     list[~designer.models.StructuredInterfaceParameter]
    :param arguments:
    :type arguments: list[~designer.models.ArgumentAssignment]
    """

    _attribute_map = {
        'command_line_pattern': {'key': 'commandLinePattern', 'type': 'str'},
        'inputs': {'key': 'inputs', 'type': '[StructuredInterfaceInput]'},
        'outputs': {'key': 'outputs', 'type': '[StructuredInterfaceOutput]'},
        'control_outputs': {'key': 'controlOutputs', 'type': '[ControlOutput]'},
        'parameters': {'key': 'parameters', 'type': '[StructuredInterfaceParameter]'},
        'metadata_parameters': {'key': 'metadataParameters', 'type': '[StructuredInterfaceParameter]'},
        'arguments': {'key': 'arguments', 'type': '[ArgumentAssignment]'},
    }

    def __init__(self, **kwargs):
        super(StructuredInterface, self).__init__(**kwargs)
        self.command_line_pattern = kwargs.get('command_line_pattern', None)
        self.inputs = kwargs.get('inputs', None)
        self.outputs = kwargs.get('outputs', None)
        self.control_outputs = kwargs.get('control_outputs', None)
        self.parameters = kwargs.get('parameters', None)
        self.metadata_parameters = kwargs.get('metadata_parameters', None)
        self.arguments = kwargs.get('arguments', None)
