# 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 UnpackPackageFromCommunityRequest(Model):
    """UnpackPackageFromCommunityRequest.

    :param community_item_id:
    :type community_item_id: str
    :param name:
    :type name: str
    :param description:
    :type description: str
    :param pipeline_type: Possible values include: 'TrainingPipeline',
     'RealTimeInferencePipeline', 'BatchInferencePipeline', 'Unknown'
    :type pipeline_type: str or ~designer.models.PipelineType
    :param pipeline_draft_mode: Possible values include: 'None', 'Normal',
     'Custom'
    :type pipeline_draft_mode: str or ~designer.models.PipelineDraftMode
    :param graph:
    :type graph: ~designer.models.GraphDraftEntity
    :param tags: This is a dictionary
    :type tags: dict[str, str]
    :param properties: This is a dictionary
    :type properties: dict[str, str]
    :param sub_pipelines_info:
    :type sub_pipelines_info: ~designer.models.SubPipelinesInfo
    """

    _attribute_map = {
        'community_item_id': {'key': 'communityItemId', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'description': {'key': 'description', 'type': 'str'},
        'pipeline_type': {'key': 'pipelineType', 'type': 'str'},
        'pipeline_draft_mode': {'key': 'pipelineDraftMode', 'type': 'str'},
        'graph': {'key': 'graph', 'type': 'GraphDraftEntity'},
        'tags': {'key': 'tags', 'type': '{str}'},
        'properties': {'key': 'properties', 'type': '{str}'},
        'sub_pipelines_info': {'key': 'subPipelinesInfo', 'type': 'SubPipelinesInfo'},
    }

    def __init__(self, *, community_item_id: str=None, name: str=None, description: str=None, pipeline_type=None, pipeline_draft_mode=None, graph=None, tags=None, properties=None, sub_pipelines_info=None, **kwargs) -> None:
        super(UnpackPackageFromCommunityRequest, self).__init__(**kwargs)
        self.community_item_id = community_item_id
        self.name = name
        self.description = description
        self.pipeline_type = pipeline_type
        self.pipeline_draft_mode = pipeline_draft_mode
        self.graph = graph
        self.tags = tags
        self.properties = properties
        self.sub_pipelines_info = sub_pipelines_info
