# coding: utf-8

"""
    Prompt.io APIs

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 1.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class BulkActionVariantModel(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_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.
    """
    swagger_types = {
        'id': 'int',
        'message': 'str',
        'upload_id': 'int',
        'instant_app_schema': 'InstantAppSchemaModel',
        'instant_app_message': 'str',
        'instant_app_parameters': 'str',
        'instant_app_locale': 'str',
        'active': 'bool'
    }

    attribute_map = {
        'id': 'id',
        'message': 'message',
        'upload_id': 'uploadId',
        'instant_app_schema': 'instantAppSchema',
        'instant_app_message': 'instantAppMessage',
        'instant_app_parameters': 'instantAppParameters',
        'instant_app_locale': 'instantAppLocale',
        'active': 'active'
    }

    def __init__(self, id=None, message=None, upload_id=None, instant_app_schema=None, instant_app_message=None, instant_app_parameters=None, instant_app_locale=None, active=None):  # noqa: E501
        """BulkActionVariantModel - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._message = None
        self._upload_id = None
        self._instant_app_schema = None
        self._instant_app_message = None
        self._instant_app_parameters = None
        self._instant_app_locale = None
        self._active = None
        self.discriminator = None
        if id is not None:
            self.id = id
        if message is not None:
            self.message = message
        if upload_id is not None:
            self.upload_id = upload_id
        if instant_app_schema is not None:
            self.instant_app_schema = instant_app_schema
        if instant_app_message is not None:
            self.instant_app_message = instant_app_message
        if instant_app_parameters is not None:
            self.instant_app_parameters = instant_app_parameters
        if instant_app_locale is not None:
            self.instant_app_locale = instant_app_locale
        if active is not None:
            self.active = active

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

        The system generated unique id for this variant.  # noqa: E501

        :return: The id of this BulkActionVariantModel.  # noqa: E501
        :rtype: int
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this BulkActionVariantModel.

        The system generated unique id for this variant.  # noqa: E501

        :param id: The id of this BulkActionVariantModel.  # noqa: E501
        :type: int
        """

        self._id = id

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

        The message to send to the user  # noqa: E501

        :return: The message of this BulkActionVariantModel.  # noqa: E501
        :rtype: str
        """
        return self._message

    @message.setter
    def message(self, message):
        """Sets the message of this BulkActionVariantModel.

        The message to send to the user  # noqa: E501

        :param message: The message of this BulkActionVariantModel.  # noqa: E501
        :type: str
        """

        self._message = message

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

        Id of the file to send to the user  # noqa: E501

        :return: The upload_id of this BulkActionVariantModel.  # noqa: E501
        :rtype: int
        """
        return self._upload_id

    @upload_id.setter
    def upload_id(self, upload_id):
        """Sets the upload_id of this BulkActionVariantModel.

        Id of the file to send to the user  # noqa: E501

        :param upload_id: The upload_id of this BulkActionVariantModel.  # noqa: E501
        :type: int
        """

        self._upload_id = upload_id

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


        :return: The instant_app_schema of this BulkActionVariantModel.  # noqa: E501
        :rtype: InstantAppSchemaModel
        """
        return self._instant_app_schema

    @instant_app_schema.setter
    def instant_app_schema(self, instant_app_schema):
        """Sets the instant_app_schema of this BulkActionVariantModel.


        :param instant_app_schema: The instant_app_schema of this BulkActionVariantModel.  # noqa: E501
        :type: InstantAppSchemaModel
        """

        self._instant_app_schema = instant_app_schema

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

        Invite message to send for the Instant App. The customer link will replace the {link} token or will be placed at the end of the message  # noqa: E501

        :return: The instant_app_message of this BulkActionVariantModel.  # noqa: E501
        :rtype: str
        """
        return self._instant_app_message

    @instant_app_message.setter
    def instant_app_message(self, instant_app_message):
        """Sets the instant_app_message of this BulkActionVariantModel.

        Invite message to send for the Instant App. The customer link will replace the {link} token or will be placed at the end of the message  # noqa: E501

        :param instant_app_message: The instant_app_message of this BulkActionVariantModel.  # noqa: E501
        :type: str
        """

        self._instant_app_message = instant_app_message

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

        Instant App parameters passed into the Instant App  # noqa: E501

        :return: The instant_app_parameters of this BulkActionVariantModel.  # noqa: E501
        :rtype: str
        """
        return self._instant_app_parameters

    @instant_app_parameters.setter
    def instant_app_parameters(self, instant_app_parameters):
        """Sets the instant_app_parameters of this BulkActionVariantModel.

        Instant App parameters passed into the Instant App  # noqa: E501

        :param instant_app_parameters: The instant_app_parameters of this BulkActionVariantModel.  # noqa: E501
        :type: str
        """

        self._instant_app_parameters = instant_app_parameters

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

        Instant App locale  # noqa: E501

        :return: The instant_app_locale of this BulkActionVariantModel.  # noqa: E501
        :rtype: str
        """
        return self._instant_app_locale

    @instant_app_locale.setter
    def instant_app_locale(self, instant_app_locale):
        """Sets the instant_app_locale of this BulkActionVariantModel.

        Instant App locale  # noqa: E501

        :param instant_app_locale: The instant_app_locale of this BulkActionVariantModel.  # noqa: E501
        :type: str
        """

        self._instant_app_locale = instant_app_locale

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

        Whether the variant is still being used. If false, the variant was disabled before the broadcast completed, and unsent messages that where supposed to use that variant, were redistributed to other variants  # noqa: E501

        :return: The active of this BulkActionVariantModel.  # noqa: E501
        :rtype: bool
        """
        return self._active

    @active.setter
    def active(self, active):
        """Sets the active of this BulkActionVariantModel.

        Whether the variant is still being used. If false, the variant was disabled before the broadcast completed, and unsent messages that where supposed to use that variant, were redistributed to other variants  # noqa: E501

        :param active: The active of this BulkActionVariantModel.  # noqa: E501
        :type: bool
        """

        self._active = active

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

        for attr, _ in six.iteritems(self.swagger_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
        if issubclass(BulkActionVariantModel, dict):
            for key, value in self.items():
                result[key] = 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, BulkActionVariantModel):
            return False

        return self.__dict__ == other.__dict__

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