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

    :param created_by:
    :type created_by: str
    :param kv_tags:
    :type kv_tags: dict[str, str]
    :param state: Possible values include: 'Transitioning', 'Healthy',
     'Unhealthy', 'Failed', 'Unschedulable'
    :type state: str or ~designer.models.WebServiceState
    :param error:
    :type error: ~designer.models.ModelManagementErrorResponse
    :param compute_type: Possible values include: 'ACI', 'AKS', 'AMLCOMPUTE',
     'IOT', 'AKSENDPOINT', 'MIRSINGLEMODEL', 'UNKNOWN'
    :type compute_type: str or ~designer.models.ComputeEnvironmentType
    :param image_id:
    :type image_id: str
    :param cpu:
    :type cpu: float
    :param memory_in_gb:
    :type memory_in_gb: float
    :param max_concurrent_requests_per_container:
    :type max_concurrent_requests_per_container: int
    :param num_replicas:
    :type num_replicas: int
    :param event_hub_enabled:
    :type event_hub_enabled: bool
    :param storage_enabled:
    :type storage_enabled: bool
    :param app_insights_enabled:
    :type app_insights_enabled: bool
    :param auto_scale_enabled:
    :type auto_scale_enabled: bool
    :param min_replicas:
    :type min_replicas: int
    :param max_replicas:
    :type max_replicas: int
    :param target_utilization:
    :type target_utilization: int
    :param refresh_period_in_seconds:
    :type refresh_period_in_seconds: int
    :param scoring_uri:
    :type scoring_uri: str
    :param deployment_status:
    :type deployment_status: ~designer.models.AKSReplicaStatus
    :param scoring_timeout_ms:
    :type scoring_timeout_ms: int
    :param auth_enabled:
    :type auth_enabled: bool
    :param aad_auth_enabled:
    :type aad_auth_enabled: bool
    :param region:
    :type region: str
    :param primary_key:
    :type primary_key: str
    :param secondary_key:
    :type secondary_key: str
    :param swagger_uri:
    :type swagger_uri: str
    :param linked_pipeline_draft_id:
    :type linked_pipeline_draft_id: str
    :param linked_pipeline_run_id:
    :type linked_pipeline_run_id: str
    :param warning:
    :type warning: str
    :param name:
    :type name: str
    :param description:
    :type description: str
    :param id:
    :type id: str
    :param created_time:
    :type created_time: datetime
    :param updated_time:
    :type updated_time: datetime
    :param compute_name:
    :type compute_name: str
    :param updated_by:
    :type updated_by: str
    """

    _attribute_map = {
        'created_by': {'key': 'createdBy', 'type': 'str'},
        'kv_tags': {'key': 'kvTags', 'type': '{str}'},
        'state': {'key': 'state', 'type': 'str'},
        'error': {'key': 'error', 'type': 'ModelManagementErrorResponse'},
        'compute_type': {'key': 'computeType', 'type': 'str'},
        'image_id': {'key': 'imageId', 'type': 'str'},
        'cpu': {'key': 'cpu', 'type': 'float'},
        'memory_in_gb': {'key': 'memoryInGB', 'type': 'float'},
        'max_concurrent_requests_per_container': {'key': 'maxConcurrentRequestsPerContainer', 'type': 'int'},
        'num_replicas': {'key': 'numReplicas', 'type': 'int'},
        'event_hub_enabled': {'key': 'eventHubEnabled', 'type': 'bool'},
        'storage_enabled': {'key': 'storageEnabled', 'type': 'bool'},
        'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
        'auto_scale_enabled': {'key': 'autoScaleEnabled', 'type': 'bool'},
        'min_replicas': {'key': 'minReplicas', 'type': 'int'},
        'max_replicas': {'key': 'maxReplicas', 'type': 'int'},
        'target_utilization': {'key': 'targetUtilization', 'type': 'int'},
        'refresh_period_in_seconds': {'key': 'refreshPeriodInSeconds', 'type': 'int'},
        'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
        'deployment_status': {'key': 'deploymentStatus', 'type': 'AKSReplicaStatus'},
        'scoring_timeout_ms': {'key': 'scoringTimeoutMs', 'type': 'int'},
        'auth_enabled': {'key': 'authEnabled', 'type': 'bool'},
        'aad_auth_enabled': {'key': 'aadAuthEnabled', 'type': 'bool'},
        'region': {'key': 'region', 'type': 'str'},
        'primary_key': {'key': 'primaryKey', 'type': 'str'},
        'secondary_key': {'key': 'secondaryKey', 'type': 'str'},
        'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
        'linked_pipeline_draft_id': {'key': 'linkedPipelineDraftId', 'type': 'str'},
        'linked_pipeline_run_id': {'key': 'linkedPipelineRunId', 'type': 'str'},
        'warning': {'key': 'warning', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'description': {'key': 'description', 'type': 'str'},
        'id': {'key': 'id', 'type': 'str'},
        'created_time': {'key': 'createdTime', 'type': 'iso-8601'},
        'updated_time': {'key': 'updatedTime', 'type': 'iso-8601'},
        'compute_name': {'key': 'computeName', 'type': 'str'},
        'updated_by': {'key': 'updatedBy', 'type': 'str'},
    }

    def __init__(self, *, created_by: str=None, kv_tags=None, state=None, error=None, compute_type=None, image_id: str=None, cpu: float=None, memory_in_gb: float=None, max_concurrent_requests_per_container: int=None, num_replicas: int=None, event_hub_enabled: bool=None, storage_enabled: bool=None, app_insights_enabled: bool=None, auto_scale_enabled: bool=None, min_replicas: int=None, max_replicas: int=None, target_utilization: int=None, refresh_period_in_seconds: int=None, scoring_uri: str=None, deployment_status=None, scoring_timeout_ms: int=None, auth_enabled: bool=None, aad_auth_enabled: bool=None, region: str=None, primary_key: str=None, secondary_key: str=None, swagger_uri: str=None, linked_pipeline_draft_id: str=None, linked_pipeline_run_id: str=None, warning: str=None, name: str=None, description: str=None, id: str=None, created_time=None, updated_time=None, compute_name: str=None, updated_by: str=None, **kwargs) -> None:
        super(RealTimeEndpoint, self).__init__(**kwargs)
        self.created_by = created_by
        self.kv_tags = kv_tags
        self.state = state
        self.error = error
        self.compute_type = compute_type
        self.image_id = image_id
        self.cpu = cpu
        self.memory_in_gb = memory_in_gb
        self.max_concurrent_requests_per_container = max_concurrent_requests_per_container
        self.num_replicas = num_replicas
        self.event_hub_enabled = event_hub_enabled
        self.storage_enabled = storage_enabled
        self.app_insights_enabled = app_insights_enabled
        self.auto_scale_enabled = auto_scale_enabled
        self.min_replicas = min_replicas
        self.max_replicas = max_replicas
        self.target_utilization = target_utilization
        self.refresh_period_in_seconds = refresh_period_in_seconds
        self.scoring_uri = scoring_uri
        self.deployment_status = deployment_status
        self.scoring_timeout_ms = scoring_timeout_ms
        self.auth_enabled = auth_enabled
        self.aad_auth_enabled = aad_auth_enabled
        self.region = region
        self.primary_key = primary_key
        self.secondary_key = secondary_key
        self.swagger_uri = swagger_uri
        self.linked_pipeline_draft_id = linked_pipeline_draft_id
        self.linked_pipeline_run_id = linked_pipeline_run_id
        self.warning = warning
        self.name = name
        self.description = description
        self.id = id
        self.created_time = created_time
        self.updated_time = updated_time
        self.compute_name = compute_name
        self.updated_by = updated_by
