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

    :param name:
    :type name: str
    :param compute_info:
    :type compute_info: ~designer.models.ComputeInfo
    :param description:
    :type description: str
    :param linked_pipeline_draft_id:
    :type linked_pipeline_draft_id: str
    :param linked_pipeline_run_id:
    :type linked_pipeline_run_id: str
    :param linked_experiment_name:
    :type linked_experiment_name: str
    :param graph_nodes_run_id_mapping: This is a dictionary
    :type graph_nodes_run_id_mapping: dict[str, str]
    :param workflow:
    :type workflow: ~designer.models.PipelineGraph
    :param inputs:
    :type inputs: list[~designer.models.InputOutputPortMetadata]
    :param outputs:
    :type outputs: list[~designer.models.InputOutputPortMetadata]
    :param example_request:
    :type example_request: ~designer.models.ExampleRequest
    :param user_storage_connection_string:
    :type user_storage_connection_string: str
    :param user_storage_endpoint_uri:
    :type user_storage_endpoint_uri: str
    :param user_storage_workspace_sai_token:
    :type user_storage_workspace_sai_token: str
    :param user_storage_container_name:
    :type user_storage_container_name: str
    :param workspace_app_insights_instrumnetation_key:
    :type workspace_app_insights_instrumnetation_key: str
    """

    _attribute_map = {
        'name': {'key': 'name', 'type': 'str'},
        'compute_info': {'key': 'computeInfo', 'type': 'ComputeInfo'},
        'description': {'key': 'description', 'type': 'str'},
        'linked_pipeline_draft_id': {'key': 'linkedPipelineDraftId', 'type': 'str'},
        'linked_pipeline_run_id': {'key': 'linkedPipelineRunId', 'type': 'str'},
        'linked_experiment_name': {'key': 'linkedExperimentName', 'type': 'str'},
        'graph_nodes_run_id_mapping': {'key': 'graphNodesRunIdMapping', 'type': '{str}'},
        'workflow': {'key': 'workflow', 'type': 'PipelineGraph'},
        'inputs': {'key': 'inputs', 'type': '[InputOutputPortMetadata]'},
        'outputs': {'key': 'outputs', 'type': '[InputOutputPortMetadata]'},
        'example_request': {'key': 'exampleRequest', 'type': 'ExampleRequest'},
        'user_storage_connection_string': {'key': 'userStorageConnectionString', 'type': 'str'},
        'user_storage_endpoint_uri': {'key': 'userStorageEndpointUri', 'type': 'str'},
        'user_storage_workspace_sai_token': {'key': 'userStorageWorkspaceSaiToken', 'type': 'str'},
        'user_storage_container_name': {'key': 'userStorageContainerName', 'type': 'str'},
        'workspace_app_insights_instrumnetation_key': {'key': 'workspaceAppInsightsInstrumnetationKey', 'type': 'str'},
    }

    def __init__(self, *, name: str=None, compute_info=None, description: str=None, linked_pipeline_draft_id: str=None, linked_pipeline_run_id: str=None, linked_experiment_name: str=None, graph_nodes_run_id_mapping=None, workflow=None, inputs=None, outputs=None, example_request=None, user_storage_connection_string: str=None, user_storage_endpoint_uri: str=None, user_storage_workspace_sai_token: str=None, user_storage_container_name: str=None, workspace_app_insights_instrumnetation_key: str=None, **kwargs) -> None:
        super(CreateRealTimeEndpointRequest, self).__init__(**kwargs)
        self.name = name
        self.compute_info = compute_info
        self.description = description
        self.linked_pipeline_draft_id = linked_pipeline_draft_id
        self.linked_pipeline_run_id = linked_pipeline_run_id
        self.linked_experiment_name = linked_experiment_name
        self.graph_nodes_run_id_mapping = graph_nodes_run_id_mapping
        self.workflow = workflow
        self.inputs = inputs
        self.outputs = outputs
        self.example_request = example_request
        self.user_storage_connection_string = user_storage_connection_string
        self.user_storage_endpoint_uri = user_storage_endpoint_uri
        self.user_storage_workspace_sai_token = user_storage_workspace_sai_token
        self.user_storage_container_name = user_storage_container_name
        self.workspace_app_insights_instrumnetation_key = workspace_app_insights_instrumnetation_key
