# coding: utf-8

"""
    Vidispine API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)  # noqa: E501

    The version of the OpenAPI document: 5.x
    Contact: info@vidispine.com
    Generated by: https://openapi-generator.tech
"""


import pprint
import re  # noqa: F401

import six
from . import *

class TranscoderConfigurationType(object):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    openapi_types = {
        'decoder_offer_threads': 'int',
        'log_level': 'str',
        'data_path': 'str',
        'vp6_encoder_pool_size': 'int',
        'carbon_server': 'list[AddressPortType]',
        'api_username': 'str',
        'data_buffer_flush_time': 'int',
        'red_decoder_type': 'str',
        'temp_path': 'str',
        'logo': 'str',
        'port': 'int',
        'vp6_encoder': 'AddressPortType',
        'bilinear_effects': 'bool',
        'thumbnail_resolution': 'ResolutionType',
        'prores_decoder': 'AddressPortType',
        'face_detector_plugin': 'list[PluginType]',
        'encoder_threads': 'int',
        'api_url': 'AddressPortType',
        'read_buffer_length': 'int',
        'data_buffer_write_size': 'int',
        'statsd': 'list[StatsDRecieverType]',
        'imagemagick': 'list[KeyValuePairType]',
        'data_buffer_size': 'int',
        'carbon_preset': 'list[CarbonPreset]',
        'address': 'str',
        'color_profile_path': 'list[str]',
        'prores_encoder': 'AddressPortType',
        'thumbnail_period': 'TimeCodeType',
        'api_password': 'str',
        'preset_path': 'str'
    }

    attribute_map = {
        'decoder_offer_threads': 'decoderOfferThreads',
        'log_level': 'logLevel',
        'data_path': 'dataPath',
        'vp6_encoder_pool_size': 'vp6EncoderPoolSize',
        'carbon_server': 'carbonServer',
        'api_username': 'apiUsername',
        'data_buffer_flush_time': 'dataBufferFlushTime',
        'red_decoder_type': 'redDecoderType',
        'temp_path': 'tempPath',
        'logo': 'logo',
        'port': 'port',
        'vp6_encoder': 'vp6Encoder',
        'bilinear_effects': 'bilinearEffects',
        'thumbnail_resolution': 'thumbnailResolution',
        'prores_decoder': 'proresDecoder',
        'face_detector_plugin': 'faceDetectorPlugin',
        'encoder_threads': 'encoderThreads',
        'api_url': 'apiURL',
        'read_buffer_length': 'readBufferLength',
        'data_buffer_write_size': 'dataBufferWriteSize',
        'statsd': 'statsd',
        'imagemagick': 'imagemagick',
        'data_buffer_size': 'dataBufferSize',
        'carbon_preset': 'carbonPreset',
        'address': 'address',
        'color_profile_path': 'colorProfilePath',
        'prores_encoder': 'proresEncoder',
        'thumbnail_period': 'thumbnailPeriod',
        'api_password': 'apiPassword',
        'preset_path': 'presetPath'
    }

    def __init__(self, decoder_offer_threads=None, log_level=None, data_path=None, vp6_encoder_pool_size=None, carbon_server=None, api_username=None, data_buffer_flush_time=None, red_decoder_type=None, temp_path=None, logo=None, port=None, vp6_encoder=None, bilinear_effects=None, thumbnail_resolution=None, prores_decoder=None, face_detector_plugin=None, encoder_threads=None, api_url=None, read_buffer_length=None, data_buffer_write_size=None, statsd=None, imagemagick=None, data_buffer_size=None, carbon_preset=None, address=None, color_profile_path=None, prores_encoder=None, thumbnail_period=None, api_password=None, preset_path=None):  # noqa: E501
        """TranscoderConfigurationType - a model defined in OpenAPI"""  # noqa: E501

        self._decoder_offer_threads = None
        self._log_level = None
        self._data_path = None
        self._vp6_encoder_pool_size = None
        self._carbon_server = None
        self._api_username = None
        self._data_buffer_flush_time = None
        self._red_decoder_type = None
        self._temp_path = None
        self._logo = None
        self._port = None
        self._vp6_encoder = None
        self._bilinear_effects = None
        self._thumbnail_resolution = None
        self._prores_decoder = None
        self._face_detector_plugin = None
        self._encoder_threads = None
        self._api_url = None
        self._read_buffer_length = None
        self._data_buffer_write_size = None
        self._statsd = None
        self._imagemagick = None
        self._data_buffer_size = None
        self._carbon_preset = None
        self._address = None
        self._color_profile_path = None
        self._prores_encoder = None
        self._thumbnail_period = None
        self._api_password = None
        self._preset_path = None
        self.discriminator = None

        if decoder_offer_threads is not None:
            self.decoder_offer_threads = decoder_offer_threads
        if log_level is not None:
            self.log_level = log_level
        self.data_path = data_path
        if vp6_encoder_pool_size is not None:
            self.vp6_encoder_pool_size = vp6_encoder_pool_size
        if carbon_server is not None:
            self.carbon_server = carbon_server
        self.api_username = api_username
        if data_buffer_flush_time is not None:
            self.data_buffer_flush_time = data_buffer_flush_time
        if red_decoder_type is not None:
            self.red_decoder_type = red_decoder_type
        if temp_path is not None:
            self.temp_path = temp_path
        if logo is not None:
            self.logo = logo
        self.port = port
        if vp6_encoder is not None:
            self.vp6_encoder = vp6_encoder
        self.bilinear_effects = bilinear_effects
        self.thumbnail_resolution = thumbnail_resolution
        if prores_decoder is not None:
            self.prores_decoder = prores_decoder
        if face_detector_plugin is not None:
            self.face_detector_plugin = face_detector_plugin
        if encoder_threads is not None:
            self.encoder_threads = encoder_threads
        if api_url is not None:
            self.api_url = api_url
        if read_buffer_length is not None:
            self.read_buffer_length = read_buffer_length
        if data_buffer_write_size is not None:
            self.data_buffer_write_size = data_buffer_write_size
        if statsd is not None:
            self.statsd = statsd
        if imagemagick is not None:
            self.imagemagick = imagemagick
        if data_buffer_size is not None:
            self.data_buffer_size = data_buffer_size
        if carbon_preset is not None:
            self.carbon_preset = carbon_preset
        self.address = address
        if color_profile_path is not None:
            self.color_profile_path = color_profile_path
        if prores_encoder is not None:
            self.prores_encoder = prores_encoder
        if thumbnail_period is not None:
            self.thumbnail_period = thumbnail_period
        self.api_password = api_password
        self.preset_path = preset_path

    @property
    def decoder_offer_threads(self):
        """Gets the decoder_offer_threads of this TranscoderConfigurationType.  # noqa: E501


        :return: The decoder_offer_threads of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._decoder_offer_threads

    @decoder_offer_threads.setter
    def decoder_offer_threads(self, decoder_offer_threads):
        """Sets the decoder_offer_threads of this TranscoderConfigurationType.


        :param decoder_offer_threads: The decoder_offer_threads of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._decoder_offer_threads = decoder_offer_threads

    @property
    def log_level(self):
        """Gets the log_level of this TranscoderConfigurationType.  # noqa: E501


        :return: The log_level of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._log_level

    @log_level.setter
    def log_level(self, log_level):
        """Sets the log_level of this TranscoderConfigurationType.


        :param log_level: The log_level of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """

        self._log_level = log_level

    @property
    def data_path(self):
        """Gets the data_path of this TranscoderConfigurationType.  # noqa: E501


        :return: The data_path of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._data_path

    @data_path.setter
    def data_path(self, data_path):
        """Sets the data_path of this TranscoderConfigurationType.


        :param data_path: The data_path of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        if data_path is None:
            raise ValueError("Invalid value for `data_path`, must not be `None`")  # noqa: E501

        self._data_path = data_path

    @property
    def vp6_encoder_pool_size(self):
        """Gets the vp6_encoder_pool_size of this TranscoderConfigurationType.  # noqa: E501


        :return: The vp6_encoder_pool_size of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._vp6_encoder_pool_size

    @vp6_encoder_pool_size.setter
    def vp6_encoder_pool_size(self, vp6_encoder_pool_size):
        """Sets the vp6_encoder_pool_size of this TranscoderConfigurationType.


        :param vp6_encoder_pool_size: The vp6_encoder_pool_size of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._vp6_encoder_pool_size = vp6_encoder_pool_size

    @property
    def carbon_server(self):
        """Gets the carbon_server of this TranscoderConfigurationType.  # noqa: E501


        :return: The carbon_server of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[AddressPortType]
        """
        return self._carbon_server

    @carbon_server.setter
    def carbon_server(self, carbon_server):
        """Sets the carbon_server of this TranscoderConfigurationType.


        :param carbon_server: The carbon_server of this TranscoderConfigurationType.  # noqa: E501
        :type: list[AddressPortType]
        """

        self._carbon_server = carbon_server

    @property
    def api_username(self):
        """Gets the api_username of this TranscoderConfigurationType.  # noqa: E501


        :return: The api_username of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._api_username

    @api_username.setter
    def api_username(self, api_username):
        """Sets the api_username of this TranscoderConfigurationType.


        :param api_username: The api_username of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        if api_username is None:
            raise ValueError("Invalid value for `api_username`, must not be `None`")  # noqa: E501

        self._api_username = api_username

    @property
    def data_buffer_flush_time(self):
        """Gets the data_buffer_flush_time of this TranscoderConfigurationType.  # noqa: E501


        :return: The data_buffer_flush_time of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._data_buffer_flush_time

    @data_buffer_flush_time.setter
    def data_buffer_flush_time(self, data_buffer_flush_time):
        """Sets the data_buffer_flush_time of this TranscoderConfigurationType.


        :param data_buffer_flush_time: The data_buffer_flush_time of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._data_buffer_flush_time = data_buffer_flush_time

    @property
    def red_decoder_type(self):
        """Gets the red_decoder_type of this TranscoderConfigurationType.  # noqa: E501


        :return: The red_decoder_type of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._red_decoder_type

    @red_decoder_type.setter
    def red_decoder_type(self, red_decoder_type):
        """Sets the red_decoder_type of this TranscoderConfigurationType.


        :param red_decoder_type: The red_decoder_type of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        allowed_values = ["CPU", "CUDA", "OPENCL"]  # noqa: E501
        if red_decoder_type not in allowed_values:
            raise ValueError(
                "Invalid value for `red_decoder_type` ({0}), must be one of {1}"  # noqa: E501
                .format(red_decoder_type, allowed_values)
            )

        self._red_decoder_type = red_decoder_type

    @property
    def temp_path(self):
        """Gets the temp_path of this TranscoderConfigurationType.  # noqa: E501


        :return: The temp_path of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._temp_path

    @temp_path.setter
    def temp_path(self, temp_path):
        """Sets the temp_path of this TranscoderConfigurationType.


        :param temp_path: The temp_path of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """

        self._temp_path = temp_path

    @property
    def logo(self):
        """Gets the logo of this TranscoderConfigurationType.  # noqa: E501


        :return: The logo of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._logo

    @logo.setter
    def logo(self, logo):
        """Sets the logo of this TranscoderConfigurationType.


        :param logo: The logo of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """

        self._logo = logo

    @property
    def port(self):
        """Gets the port of this TranscoderConfigurationType.  # noqa: E501


        :return: The port of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._port

    @port.setter
    def port(self, port):
        """Sets the port of this TranscoderConfigurationType.


        :param port: The port of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """
        if port is None:
            raise ValueError("Invalid value for `port`, must not be `None`")  # noqa: E501

        self._port = port

    @property
    def vp6_encoder(self):
        """Gets the vp6_encoder of this TranscoderConfigurationType.  # noqa: E501


        :return: The vp6_encoder of this TranscoderConfigurationType.  # noqa: E501
        :rtype: AddressPortType
        """
        return self._vp6_encoder

    @vp6_encoder.setter
    def vp6_encoder(self, vp6_encoder):
        """Sets the vp6_encoder of this TranscoderConfigurationType.


        :param vp6_encoder: The vp6_encoder of this TranscoderConfigurationType.  # noqa: E501
        :type: AddressPortType
        """

        self._vp6_encoder = vp6_encoder

    @property
    def bilinear_effects(self):
        """Gets the bilinear_effects of this TranscoderConfigurationType.  # noqa: E501


        :return: The bilinear_effects of this TranscoderConfigurationType.  # noqa: E501
        :rtype: bool
        """
        return self._bilinear_effects

    @bilinear_effects.setter
    def bilinear_effects(self, bilinear_effects):
        """Sets the bilinear_effects of this TranscoderConfigurationType.


        :param bilinear_effects: The bilinear_effects of this TranscoderConfigurationType.  # noqa: E501
        :type: bool
        """
        if bilinear_effects is None:
            raise ValueError("Invalid value for `bilinear_effects`, must not be `None`")  # noqa: E501

        self._bilinear_effects = bilinear_effects

    @property
    def thumbnail_resolution(self):
        """Gets the thumbnail_resolution of this TranscoderConfigurationType.  # noqa: E501


        :return: The thumbnail_resolution of this TranscoderConfigurationType.  # noqa: E501
        :rtype: ResolutionType
        """
        return self._thumbnail_resolution

    @thumbnail_resolution.setter
    def thumbnail_resolution(self, thumbnail_resolution):
        """Sets the thumbnail_resolution of this TranscoderConfigurationType.


        :param thumbnail_resolution: The thumbnail_resolution of this TranscoderConfigurationType.  # noqa: E501
        :type: ResolutionType
        """
        if thumbnail_resolution is None:
            raise ValueError("Invalid value for `thumbnail_resolution`, must not be `None`")  # noqa: E501

        self._thumbnail_resolution = thumbnail_resolution

    @property
    def prores_decoder(self):
        """Gets the prores_decoder of this TranscoderConfigurationType.  # noqa: E501


        :return: The prores_decoder of this TranscoderConfigurationType.  # noqa: E501
        :rtype: AddressPortType
        """
        return self._prores_decoder

    @prores_decoder.setter
    def prores_decoder(self, prores_decoder):
        """Sets the prores_decoder of this TranscoderConfigurationType.


        :param prores_decoder: The prores_decoder of this TranscoderConfigurationType.  # noqa: E501
        :type: AddressPortType
        """

        self._prores_decoder = prores_decoder

    @property
    def face_detector_plugin(self):
        """Gets the face_detector_plugin of this TranscoderConfigurationType.  # noqa: E501


        :return: The face_detector_plugin of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[PluginType]
        """
        return self._face_detector_plugin

    @face_detector_plugin.setter
    def face_detector_plugin(self, face_detector_plugin):
        """Sets the face_detector_plugin of this TranscoderConfigurationType.


        :param face_detector_plugin: The face_detector_plugin of this TranscoderConfigurationType.  # noqa: E501
        :type: list[PluginType]
        """

        self._face_detector_plugin = face_detector_plugin

    @property
    def encoder_threads(self):
        """Gets the encoder_threads of this TranscoderConfigurationType.  # noqa: E501


        :return: The encoder_threads of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._encoder_threads

    @encoder_threads.setter
    def encoder_threads(self, encoder_threads):
        """Sets the encoder_threads of this TranscoderConfigurationType.


        :param encoder_threads: The encoder_threads of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._encoder_threads = encoder_threads

    @property
    def api_url(self):
        """Gets the api_url of this TranscoderConfigurationType.  # noqa: E501


        :return: The api_url of this TranscoderConfigurationType.  # noqa: E501
        :rtype: AddressPortType
        """
        return self._api_url

    @api_url.setter
    def api_url(self, api_url):
        """Sets the api_url of this TranscoderConfigurationType.


        :param api_url: The api_url of this TranscoderConfigurationType.  # noqa: E501
        :type: AddressPortType
        """

        self._api_url = api_url

    @property
    def read_buffer_length(self):
        """Gets the read_buffer_length of this TranscoderConfigurationType.  # noqa: E501


        :return: The read_buffer_length of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._read_buffer_length

    @read_buffer_length.setter
    def read_buffer_length(self, read_buffer_length):
        """Sets the read_buffer_length of this TranscoderConfigurationType.


        :param read_buffer_length: The read_buffer_length of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._read_buffer_length = read_buffer_length

    @property
    def data_buffer_write_size(self):
        """Gets the data_buffer_write_size of this TranscoderConfigurationType.  # noqa: E501


        :return: The data_buffer_write_size of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._data_buffer_write_size

    @data_buffer_write_size.setter
    def data_buffer_write_size(self, data_buffer_write_size):
        """Sets the data_buffer_write_size of this TranscoderConfigurationType.


        :param data_buffer_write_size: The data_buffer_write_size of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._data_buffer_write_size = data_buffer_write_size

    @property
    def statsd(self):
        """Gets the statsd of this TranscoderConfigurationType.  # noqa: E501


        :return: The statsd of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[StatsDRecieverType]
        """
        return self._statsd

    @statsd.setter
    def statsd(self, statsd):
        """Sets the statsd of this TranscoderConfigurationType.


        :param statsd: The statsd of this TranscoderConfigurationType.  # noqa: E501
        :type: list[StatsDRecieverType]
        """

        self._statsd = statsd

    @property
    def imagemagick(self):
        """Gets the imagemagick of this TranscoderConfigurationType.  # noqa: E501


        :return: The imagemagick of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[KeyValuePairType]
        """
        return self._imagemagick

    @imagemagick.setter
    def imagemagick(self, imagemagick):
        """Sets the imagemagick of this TranscoderConfigurationType.


        :param imagemagick: The imagemagick of this TranscoderConfigurationType.  # noqa: E501
        :type: list[KeyValuePairType]
        """

        self._imagemagick = imagemagick

    @property
    def data_buffer_size(self):
        """Gets the data_buffer_size of this TranscoderConfigurationType.  # noqa: E501


        :return: The data_buffer_size of this TranscoderConfigurationType.  # noqa: E501
        :rtype: int
        """
        return self._data_buffer_size

    @data_buffer_size.setter
    def data_buffer_size(self, data_buffer_size):
        """Sets the data_buffer_size of this TranscoderConfigurationType.


        :param data_buffer_size: The data_buffer_size of this TranscoderConfigurationType.  # noqa: E501
        :type: int
        """

        self._data_buffer_size = data_buffer_size

    @property
    def carbon_preset(self):
        """Gets the carbon_preset of this TranscoderConfigurationType.  # noqa: E501


        :return: The carbon_preset of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[CarbonPreset]
        """
        return self._carbon_preset

    @carbon_preset.setter
    def carbon_preset(self, carbon_preset):
        """Sets the carbon_preset of this TranscoderConfigurationType.


        :param carbon_preset: The carbon_preset of this TranscoderConfigurationType.  # noqa: E501
        :type: list[CarbonPreset]
        """

        self._carbon_preset = carbon_preset

    @property
    def address(self):
        """Gets the address of this TranscoderConfigurationType.  # noqa: E501


        :return: The address of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._address

    @address.setter
    def address(self, address):
        """Sets the address of this TranscoderConfigurationType.


        :param address: The address of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        if address is None:
            raise ValueError("Invalid value for `address`, must not be `None`")  # noqa: E501

        self._address = address

    @property
    def color_profile_path(self):
        """Gets the color_profile_path of this TranscoderConfigurationType.  # noqa: E501


        :return: The color_profile_path of this TranscoderConfigurationType.  # noqa: E501
        :rtype: list[str]
        """
        return self._color_profile_path

    @color_profile_path.setter
    def color_profile_path(self, color_profile_path):
        """Sets the color_profile_path of this TranscoderConfigurationType.


        :param color_profile_path: The color_profile_path of this TranscoderConfigurationType.  # noqa: E501
        :type: list[str]
        """

        self._color_profile_path = color_profile_path

    @property
    def prores_encoder(self):
        """Gets the prores_encoder of this TranscoderConfigurationType.  # noqa: E501


        :return: The prores_encoder of this TranscoderConfigurationType.  # noqa: E501
        :rtype: AddressPortType
        """
        return self._prores_encoder

    @prores_encoder.setter
    def prores_encoder(self, prores_encoder):
        """Sets the prores_encoder of this TranscoderConfigurationType.


        :param prores_encoder: The prores_encoder of this TranscoderConfigurationType.  # noqa: E501
        :type: AddressPortType
        """

        self._prores_encoder = prores_encoder

    @property
    def thumbnail_period(self):
        """Gets the thumbnail_period of this TranscoderConfigurationType.  # noqa: E501


        :return: The thumbnail_period of this TranscoderConfigurationType.  # noqa: E501
        :rtype: TimeCodeType
        """
        return self._thumbnail_period

    @thumbnail_period.setter
    def thumbnail_period(self, thumbnail_period):
        """Sets the thumbnail_period of this TranscoderConfigurationType.


        :param thumbnail_period: The thumbnail_period of this TranscoderConfigurationType.  # noqa: E501
        :type: TimeCodeType
        """

        self._thumbnail_period = thumbnail_period

    @property
    def api_password(self):
        """Gets the api_password of this TranscoderConfigurationType.  # noqa: E501


        :return: The api_password of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._api_password

    @api_password.setter
    def api_password(self, api_password):
        """Sets the api_password of this TranscoderConfigurationType.


        :param api_password: The api_password of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        if api_password is None:
            raise ValueError("Invalid value for `api_password`, must not be `None`")  # noqa: E501

        self._api_password = api_password

    @property
    def preset_path(self):
        """Gets the preset_path of this TranscoderConfigurationType.  # noqa: E501


        :return: The preset_path of this TranscoderConfigurationType.  # noqa: E501
        :rtype: str
        """
        return self._preset_path

    @preset_path.setter
    def preset_path(self, preset_path):
        """Sets the preset_path of this TranscoderConfigurationType.


        :param preset_path: The preset_path of this TranscoderConfigurationType.  # noqa: E501
        :type: str
        """
        if preset_path is None:
            raise ValueError("Invalid value for `preset_path`, must not be `None`")  # noqa: E501

        self._preset_path = preset_path

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.openapi_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, TranscoderConfigurationType):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
