# 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 AddBulkActionModel(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 = {
        'org_channel_ids': 'list[str]',
        'contact_lists': 'list[str]',
        'message': 'str',
        'whisper': 'str',
        'variants': 'list[AddBulkActionVariantModel]',
        'retarget': 'BulkActionRetargetModel',
        'instant_app_schema_id': 'str',
        'instant_app_message': 'str',
        'instant_app_parameters': 'str',
        'instant_app_locale': 'str',
        'delivery_start': 'int',
        'snippet_code': 'str',
        'on_error_snippet_code': 'str',
        'upload_id': 'int',
        'complete_conversation': 'bool',
        'escalate_to_agent': 'bool',
        'escalate_groups': 'list[int]',
        'call_event_endpoint': 'bool',
        'event_endpoint_path': 'str',
        'assign_to_bot': 'int',
        'is_manual': 'bool',
        'delivery_window_start': 'int',
        'delivery_window_end': 'int',
        'use_existing_channels': 'bool',
        'match_area_codes': 'bool',
        'minimum_channels': 'int',
        'is_test_mode': 'bool',
        'description': 'str',
        'is_paused': 'bool',
        'primary_folder_id': 'int'
    }

    attribute_map = {
        'org_channel_ids': 'orgChannelIds',
        'contact_lists': 'contactLists',
        'message': 'message',
        'whisper': 'whisper',
        'variants': 'variants',
        'retarget': 'retarget',
        'instant_app_schema_id': 'instantAppSchemaID',
        'instant_app_message': 'instantAppMessage',
        'instant_app_parameters': 'instantAppParameters',
        'instant_app_locale': 'instantAppLocale',
        'delivery_start': 'deliveryStart',
        'snippet_code': 'snippetCode',
        'on_error_snippet_code': 'onErrorSnippetCode',
        'upload_id': 'uploadId',
        'complete_conversation': 'completeConversation',
        'escalate_to_agent': 'escalateToAgent',
        'escalate_groups': 'escalateGroups',
        'call_event_endpoint': 'callEventEndpoint',
        'event_endpoint_path': 'eventEndpointPath',
        'assign_to_bot': 'assignToBot',
        'is_manual': 'isManual',
        'delivery_window_start': 'deliveryWindowStart',
        'delivery_window_end': 'deliveryWindowEnd',
        'use_existing_channels': 'useExistingChannels',
        'match_area_codes': 'matchAreaCodes',
        'minimum_channels': 'minimumChannels',
        'is_test_mode': 'isTestMode',
        'description': 'description',
        'is_paused': 'isPaused',
        'primary_folder_id': 'primaryFolderId'
    }

    def __init__(self, org_channel_ids=None, contact_lists=None, message=None, whisper=None, variants=None, retarget=None, instant_app_schema_id=None, instant_app_message=None, instant_app_parameters=None, instant_app_locale=None, delivery_start=None, snippet_code=None, on_error_snippet_code=None, upload_id=None, complete_conversation=None, escalate_to_agent=None, escalate_groups=None, call_event_endpoint=None, event_endpoint_path=None, assign_to_bot=None, is_manual=None, delivery_window_start=None, delivery_window_end=None, use_existing_channels=None, match_area_codes=None, minimum_channels=None, is_test_mode=None, description=None, is_paused=None, primary_folder_id=None):  # noqa: E501
        """AddBulkActionModel - a model defined in Swagger"""  # noqa: E501
        self._org_channel_ids = None
        self._contact_lists = None
        self._message = None
        self._whisper = None
        self._variants = None
        self._retarget = None
        self._instant_app_schema_id = None
        self._instant_app_message = None
        self._instant_app_parameters = None
        self._instant_app_locale = None
        self._delivery_start = None
        self._snippet_code = None
        self._on_error_snippet_code = None
        self._upload_id = None
        self._complete_conversation = None
        self._escalate_to_agent = None
        self._escalate_groups = None
        self._call_event_endpoint = None
        self._event_endpoint_path = None
        self._assign_to_bot = None
        self._is_manual = None
        self._delivery_window_start = None
        self._delivery_window_end = None
        self._use_existing_channels = None
        self._match_area_codes = None
        self._minimum_channels = None
        self._is_test_mode = None
        self._description = None
        self._is_paused = None
        self._primary_folder_id = None
        self.discriminator = None
        self.org_channel_ids = org_channel_ids
        self.contact_lists = contact_lists
        if message is not None:
            self.message = message
        if whisper is not None:
            self.whisper = whisper
        if variants is not None:
            self.variants = variants
        if retarget is not None:
            self.retarget = retarget
        if instant_app_schema_id is not None:
            self.instant_app_schema_id = instant_app_schema_id
        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 delivery_start is not None:
            self.delivery_start = delivery_start
        if snippet_code is not None:
            self.snippet_code = snippet_code
        if on_error_snippet_code is not None:
            self.on_error_snippet_code = on_error_snippet_code
        if upload_id is not None:
            self.upload_id = upload_id
        if complete_conversation is not None:
            self.complete_conversation = complete_conversation
        if escalate_to_agent is not None:
            self.escalate_to_agent = escalate_to_agent
        if escalate_groups is not None:
            self.escalate_groups = escalate_groups
        if call_event_endpoint is not None:
            self.call_event_endpoint = call_event_endpoint
        if event_endpoint_path is not None:
            self.event_endpoint_path = event_endpoint_path
        if assign_to_bot is not None:
            self.assign_to_bot = assign_to_bot
        if is_manual is not None:
            self.is_manual = is_manual
        if delivery_window_start is not None:
            self.delivery_window_start = delivery_window_start
        if delivery_window_end is not None:
            self.delivery_window_end = delivery_window_end
        if use_existing_channels is not None:
            self.use_existing_channels = use_existing_channels
        if match_area_codes is not None:
            self.match_area_codes = match_area_codes
        if minimum_channels is not None:
            self.minimum_channels = minimum_channels
        if is_test_mode is not None:
            self.is_test_mode = is_test_mode
        if description is not None:
            self.description = description
        if is_paused is not None:
            self.is_paused = is_paused
        if primary_folder_id is not None:
            self.primary_folder_id = primary_folder_id

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

        The org channel apiIds (or internal ids) of the sending channel for message and Instant App actions  # noqa: E501

        :return: The org_channel_ids of this AddBulkActionModel.  # noqa: E501
        :rtype: list[str]
        """
        return self._org_channel_ids

    @org_channel_ids.setter
    def org_channel_ids(self, org_channel_ids):
        """Sets the org_channel_ids of this AddBulkActionModel.

        The org channel apiIds (or internal ids) of the sending channel for message and Instant App actions  # noqa: E501

        :param org_channel_ids: The org_channel_ids of this AddBulkActionModel.  # noqa: E501
        :type: list[str]
        """
        if org_channel_ids is None:
            raise ValueError("Invalid value for `org_channel_ids`, must not be `None`")  # noqa: E501

        self._org_channel_ids = org_channel_ids

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

        The contact list ids containing the contacts to perform the actions on. If a contact is included in multiple lists, they will only be actioned once. The total number of contacts is limited to 20,000.  # noqa: E501

        :return: The contact_lists of this AddBulkActionModel.  # noqa: E501
        :rtype: list[str]
        """
        return self._contact_lists

    @contact_lists.setter
    def contact_lists(self, contact_lists):
        """Sets the contact_lists of this AddBulkActionModel.

        The contact list ids containing the contacts to perform the actions on. If a contact is included in multiple lists, they will only be actioned once. The total number of contacts is limited to 20,000.  # noqa: E501

        :param contact_lists: The contact_lists of this AddBulkActionModel.  # noqa: E501
        :type: list[str]
        """
        if contact_lists is None:
            raise ValueError("Invalid value for `contact_lists`, must not be `None`")  # noqa: E501

        self._contact_lists = contact_lists

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

        The message to send to the user  # noqa: E501

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

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

        The message to send to the user  # noqa: E501

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

        self._message = message

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

        The message to be posted to the conversation so that only agents can see it  # noqa: E501

        :return: The whisper of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._whisper

    @whisper.setter
    def whisper(self, whisper):
        """Sets the whisper of this AddBulkActionModel.

        The message to be posted to the conversation so that only agents can see it  # noqa: E501

        :param whisper: The whisper of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._whisper = whisper

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

        When performing an A/B Test, this provides the list of variations that will be sent to the users  # noqa: E501

        :return: The variants of this AddBulkActionModel.  # noqa: E501
        :rtype: list[AddBulkActionVariantModel]
        """
        return self._variants

    @variants.setter
    def variants(self, variants):
        """Sets the variants of this AddBulkActionModel.

        When performing an A/B Test, this provides the list of variations that will be sent to the users  # noqa: E501

        :param variants: The variants of this AddBulkActionModel.  # noqa: E501
        :type: list[AddBulkActionVariantModel]
        """

        self._variants = variants

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


        :return: The retarget of this AddBulkActionModel.  # noqa: E501
        :rtype: BulkActionRetargetModel
        """
        return self._retarget

    @retarget.setter
    def retarget(self, retarget):
        """Sets the retarget of this AddBulkActionModel.


        :param retarget: The retarget of this AddBulkActionModel.  # noqa: E501
        :type: BulkActionRetargetModel
        """

        self._retarget = retarget

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

        Optional schema apiId (or internal id) used to create an instance of an Instant App.  # noqa: E501

        :return: The instant_app_schema_id of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._instant_app_schema_id

    @instant_app_schema_id.setter
    def instant_app_schema_id(self, instant_app_schema_id):
        """Sets the instant_app_schema_id of this AddBulkActionModel.

        Optional schema apiId (or internal id) used to create an instance of an Instant App.  # noqa: E501

        :param instant_app_schema_id: The instant_app_schema_id of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._instant_app_schema_id = instant_app_schema_id

    @property
    def instant_app_message(self):
        """Gets the instant_app_message of this AddBulkActionModel.  # 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 AddBulkActionModel.  # 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 AddBulkActionModel.

        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 AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._instant_app_message = instant_app_message

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

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

        :return: The instant_app_parameters of this AddBulkActionModel.  # 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 AddBulkActionModel.

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

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

        self._instant_app_parameters = instant_app_parameters

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

        Optional locale for the Instant App  # noqa: E501

        :return: The instant_app_locale of this AddBulkActionModel.  # 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 AddBulkActionModel.

        Optional locale for the Instant App  # noqa: E501

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

        self._instant_app_locale = instant_app_locale

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

        Optional time to start delivering the messages  # noqa: E501

        :return: The delivery_start of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._delivery_start

    @delivery_start.setter
    def delivery_start(self, delivery_start):
        """Sets the delivery_start of this AddBulkActionModel.

        Optional time to start delivering the messages  # noqa: E501

        :param delivery_start: The delivery_start of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._delivery_start = delivery_start

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

        Optional JavaScript Snippet to be executed  # noqa: E501

        :return: The snippet_code of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._snippet_code

    @snippet_code.setter
    def snippet_code(self, snippet_code):
        """Sets the snippet_code of this AddBulkActionModel.

        Optional JavaScript Snippet to be executed  # noqa: E501

        :param snippet_code: The snippet_code of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._snippet_code = snippet_code

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

        JavaScript Snippet to be executed the first time an error occurs for each contact  # noqa: E501

        :return: The on_error_snippet_code of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._on_error_snippet_code

    @on_error_snippet_code.setter
    def on_error_snippet_code(self, on_error_snippet_code):
        """Sets the on_error_snippet_code of this AddBulkActionModel.

        JavaScript Snippet to be executed the first time an error occurs for each contact  # noqa: E501

        :param on_error_snippet_code: The on_error_snippet_code of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._on_error_snippet_code = on_error_snippet_code

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


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

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


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

        self._upload_id = upload_id

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


        :return: The complete_conversation of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._complete_conversation

    @complete_conversation.setter
    def complete_conversation(self, complete_conversation):
        """Sets the complete_conversation of this AddBulkActionModel.


        :param complete_conversation: The complete_conversation of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._complete_conversation = complete_conversation

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


        :return: The escalate_to_agent of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._escalate_to_agent

    @escalate_to_agent.setter
    def escalate_to_agent(self, escalate_to_agent):
        """Sets the escalate_to_agent of this AddBulkActionModel.


        :param escalate_to_agent: The escalate_to_agent of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._escalate_to_agent = escalate_to_agent

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


        :return: The escalate_groups of this AddBulkActionModel.  # noqa: E501
        :rtype: list[int]
        """
        return self._escalate_groups

    @escalate_groups.setter
    def escalate_groups(self, escalate_groups):
        """Sets the escalate_groups of this AddBulkActionModel.


        :param escalate_groups: The escalate_groups of this AddBulkActionModel.  # noqa: E501
        :type: list[int]
        """

        self._escalate_groups = escalate_groups

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


        :return: The call_event_endpoint of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._call_event_endpoint

    @call_event_endpoint.setter
    def call_event_endpoint(self, call_event_endpoint):
        """Sets the call_event_endpoint of this AddBulkActionModel.


        :param call_event_endpoint: The call_event_endpoint of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._call_event_endpoint = call_event_endpoint

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


        :return: The event_endpoint_path of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._event_endpoint_path

    @event_endpoint_path.setter
    def event_endpoint_path(self, event_endpoint_path):
        """Sets the event_endpoint_path of this AddBulkActionModel.


        :param event_endpoint_path: The event_endpoint_path of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._event_endpoint_path = event_endpoint_path

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


        :return: The assign_to_bot of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._assign_to_bot

    @assign_to_bot.setter
    def assign_to_bot(self, assign_to_bot):
        """Sets the assign_to_bot of this AddBulkActionModel.


        :param assign_to_bot: The assign_to_bot of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._assign_to_bot = assign_to_bot

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


        :return: The is_manual of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._is_manual

    @is_manual.setter
    def is_manual(self, is_manual):
        """Sets the is_manual of this AddBulkActionModel.


        :param is_manual: The is_manual of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._is_manual = is_manual

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

        Start of the window for what time of day messages can be sent  # noqa: E501

        :return: The delivery_window_start of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._delivery_window_start

    @delivery_window_start.setter
    def delivery_window_start(self, delivery_window_start):
        """Sets the delivery_window_start of this AddBulkActionModel.

        Start of the window for what time of day messages can be sent  # noqa: E501

        :param delivery_window_start: The delivery_window_start of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._delivery_window_start = delivery_window_start

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

        End of the window for what time of day messages can be sent  # noqa: E501

        :return: The delivery_window_end of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._delivery_window_end

    @delivery_window_end.setter
    def delivery_window_end(self, delivery_window_end):
        """Sets the delivery_window_end of this AddBulkActionModel.

        End of the window for what time of day messages can be sent  # noqa: E501

        :param delivery_window_end: The delivery_window_end of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._delivery_window_end = delivery_window_end

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

        If a prior conversational history exists with a customer, prioritize use of their last used channel if possible  # noqa: E501

        :return: The use_existing_channels of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._use_existing_channels

    @use_existing_channels.setter
    def use_existing_channels(self, use_existing_channels):
        """Sets the use_existing_channels of this AddBulkActionModel.

        If a prior conversational history exists with a customer, prioritize use of their last used channel if possible  # noqa: E501

        :param use_existing_channels: The use_existing_channels of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._use_existing_channels = use_existing_channels

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

        Match the outgoing number area codes to the customer's area code if possible  # noqa: E501

        :return: The match_area_codes of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._match_area_codes

    @match_area_codes.setter
    def match_area_codes(self, match_area_codes):
        """Sets the match_area_codes of this AddBulkActionModel.

        Match the outgoing number area codes to the customer's area code if possible  # noqa: E501

        :param match_area_codes: The match_area_codes of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._match_area_codes = match_area_codes

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

        The minimum amount of channels this bulk action will operate on at a time. Defaults to 1. Must be less than or equal to the total number of channels  # noqa: E501

        :return: The minimum_channels of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._minimum_channels

    @minimum_channels.setter
    def minimum_channels(self, minimum_channels):
        """Sets the minimum_channels of this AddBulkActionModel.

        The minimum amount of channels this bulk action will operate on at a time. Defaults to 1. Must be less than or equal to the total number of channels  # noqa: E501

        :param minimum_channels: The minimum_channels of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._minimum_channels = minimum_channels

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

        Test Mode. All messages will instead be sent as whispers rather than being sent via text  # noqa: E501

        :return: The is_test_mode of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._is_test_mode

    @is_test_mode.setter
    def is_test_mode(self, is_test_mode):
        """Sets the is_test_mode of this AddBulkActionModel.

        Test Mode. All messages will instead be sent as whispers rather than being sent via text  # noqa: E501

        :param is_test_mode: The is_test_mode of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._is_test_mode = is_test_mode

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

        A name or short description of the bulk action or campaign  # noqa: E501

        :return: The description of this AddBulkActionModel.  # noqa: E501
        :rtype: str
        """
        return self._description

    @description.setter
    def description(self, description):
        """Sets the description of this AddBulkActionModel.

        A name or short description of the bulk action or campaign  # noqa: E501

        :param description: The description of this AddBulkActionModel.  # noqa: E501
        :type: str
        """

        self._description = description

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

        If this bulk action should start in a paused state  # noqa: E501

        :return: The is_paused of this AddBulkActionModel.  # noqa: E501
        :rtype: bool
        """
        return self._is_paused

    @is_paused.setter
    def is_paused(self, is_paused):
        """Sets the is_paused of this AddBulkActionModel.

        If this bulk action should start in a paused state  # noqa: E501

        :param is_paused: The is_paused of this AddBulkActionModel.  # noqa: E501
        :type: bool
        """

        self._is_paused = is_paused

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

        The primary actions folder of the bulk action or campaign  # noqa: E501

        :return: The primary_folder_id of this AddBulkActionModel.  # noqa: E501
        :rtype: int
        """
        return self._primary_folder_id

    @primary_folder_id.setter
    def primary_folder_id(self, primary_folder_id):
        """Sets the primary_folder_id of this AddBulkActionModel.

        The primary actions folder of the bulk action or campaign  # noqa: E501

        :param primary_folder_id: The primary_folder_id of this AddBulkActionModel.  # noqa: E501
        :type: int
        """

        self._primary_folder_id = primary_folder_id

    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(AddBulkActionModel, 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, AddBulkActionModel):
            return False

        return self.__dict__ == other.__dict__

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