#
# Copyright 2021 DataRobot, Inc. and its affiliates.
#
# All rights reserved.
#
# DataRobot, Inc.
#
# This is proprietary source code of DataRobot, Inc. and its
# affiliates.
#
# Released under the terms of DataRobot Tool and Utility Agreement.
"""
Autogenerated DataRobot python client file.  Please don't modify.
"""

import trafaret as t
from datarobot.models.api_object import APIObject

class ForecastVsActualPlotsForecastDistancesStatus(APIObject):
    """
    Attributes
    ----------
    completed:[int] [optional]
         An array of available forecast distances for the `completed` status. If there are no forecast distances for this status, it will not appear in the response.. 
    errored:[int] [optional]
         An array of available forecast distances for the `errored` status. If there are no forecast distances for this status, it will not appear in the response.. 
    in_progress:[int] [optional]
         An array of available forecast distances for the `inProgress` status. If there are no forecast distances for this status, it will not appear in the response.. 
    insufficient_data:[int] [optional]
         An array of available forecast distances for the `insufficientData` status. If there are no forecast distances for this status, it will not appear in the response.. 
    not_completed:[int] [optional]
         An array of available forecast distances for the `notCompleted` status. If there are no forecast distances for this status, it will not appear in the response.. 
    """
    _converter = t.Dict(
        {
            t.Key("completed", optional=True):  t.List(t.Dict().allow_extra("*")),
            t.Key("errored", optional=True):  t.List(t.Dict().allow_extra("*")),
            t.Key("in_progress", optional=True):  t.List(t.Dict().allow_extra("*")),
            t.Key("insufficient_data", optional=True):  t.List(t.Dict().allow_extra("*")),
            t.Key("not_completed", optional=True):  t.List(t.Dict().allow_extra("*")),
        }
    ).ignore_extra("*")

    def __init__(
        self,
        completed=None,
        errored=None,
        in_progress=None,
        insufficient_data=None,
        not_completed=None,
    ):
        self.completed = completed
        self.errored = errored
        self.in_progress = in_progress
        self.insufficient_data = insufficient_data
        self.not_completed = not_completed

    def __repr__(self):
        return (
            "ForecastVsActualPlotsForecastDistancesStatus("
            "completed={0.completed}, "
            "errored={0.errored}, "
            "in_progress={0.in_progress}, "
            "insufficient_data={0.insufficient_data}, "
            "not_completed={0.not_completed}, "
        ).format(self)
