# coding: utf-8

"""
    https://api.partner.microsoft.com/v1.0/ingestion

    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 MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories(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 = {
        'analytics_azure_apps': 'list[str]',
        'ai_plus_machine_learning': 'list[str]',
        'compute_azure_apps': 'list[str]',
        'blockchain': 'list[str]',
        'containers': 'list[str]',
        'database': 'list[str]',
        'developer_tools_azure_apps': 'list[str]',
        'devops': 'list[str]',
        'identity': 'list[str]',
        'integration': 'list[str]',
        'internet_of_things_azure_apps': 'list[str]',
        'it_and_management_tools': 'list[str]',
        'media': 'list[str]',
        'migration': 'list[str]',
        'mixed_reality': 'list[str]',
        'monitoring_and_diagnostics': 'list[str]',
        'networking': 'list[str]',
        'security': 'list[str]',
        'storage_azure_apps': 'list[str]',
        'web': 'list[str]'
    }

    attribute_map = {
        'analytics_azure_apps': 'analytics-azure-apps',
        'ai_plus_machine_learning': 'ai-plus-machine-learning',
        'compute_azure_apps': 'compute-azure-apps',
        'blockchain': 'blockchain',
        'containers': 'containers',
        'database': 'database',
        'developer_tools_azure_apps': 'developer-tools-azure-apps',
        'devops': 'devops',
        'identity': 'identity',
        'integration': 'integration',
        'internet_of_things_azure_apps': 'internet-of-things-azure-apps',
        'it_and_management_tools': 'it-and-management-tools',
        'media': 'media',
        'migration': 'migration',
        'mixed_reality': 'mixed-reality',
        'monitoring_and_diagnostics': 'monitoring-and-diagnostics',
        'networking': 'networking',
        'security': 'security',
        'storage_azure_apps': 'storage-azure-apps',
        'web': 'web'
    }

    def __init__(self, analytics_azure_apps=None, ai_plus_machine_learning=None, compute_azure_apps=None, blockchain=None, containers=None, database=None, developer_tools_azure_apps=None, devops=None, identity=None, integration=None, internet_of_things_azure_apps=None, it_and_management_tools=None, media=None, migration=None, mixed_reality=None, monitoring_and_diagnostics=None, networking=None, security=None, storage_azure_apps=None, web=None):  # noqa: E501
        """MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories - a model defined in Swagger"""  # noqa: E501
        self._analytics_azure_apps = None
        self._ai_plus_machine_learning = None
        self._compute_azure_apps = None
        self._blockchain = None
        self._containers = None
        self._database = None
        self._developer_tools_azure_apps = None
        self._devops = None
        self._identity = None
        self._integration = None
        self._internet_of_things_azure_apps = None
        self._it_and_management_tools = None
        self._media = None
        self._migration = None
        self._mixed_reality = None
        self._monitoring_and_diagnostics = None
        self._networking = None
        self._security = None
        self._storage_azure_apps = None
        self._web = None
        self.discriminator = None
        if analytics_azure_apps is not None:
            self.analytics_azure_apps = analytics_azure_apps
        if ai_plus_machine_learning is not None:
            self.ai_plus_machine_learning = ai_plus_machine_learning
        if compute_azure_apps is not None:
            self.compute_azure_apps = compute_azure_apps
        if blockchain is not None:
            self.blockchain = blockchain
        if containers is not None:
            self.containers = containers
        if database is not None:
            self.database = database
        if developer_tools_azure_apps is not None:
            self.developer_tools_azure_apps = developer_tools_azure_apps
        if devops is not None:
            self.devops = devops
        if identity is not None:
            self.identity = identity
        if integration is not None:
            self.integration = integration
        if internet_of_things_azure_apps is not None:
            self.internet_of_things_azure_apps = internet_of_things_azure_apps
        if it_and_management_tools is not None:
            self.it_and_management_tools = it_and_management_tools
        if media is not None:
            self.media = media
        if migration is not None:
            self.migration = migration
        if mixed_reality is not None:
            self.mixed_reality = mixed_reality
        if monitoring_and_diagnostics is not None:
            self.monitoring_and_diagnostics = monitoring_and_diagnostics
        if networking is not None:
            self.networking = networking
        if security is not None:
            self.security = security
        if storage_azure_apps is not None:
            self.storage_azure_apps = storage_azure_apps
        if web is not None:
            self.web = web

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


        :return: The analytics_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._analytics_azure_apps

    @analytics_azure_apps.setter
    def analytics_azure_apps(self, analytics_azure_apps):
        """Sets the analytics_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param analytics_azure_apps: The analytics_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["big-data", "data-analytics", "data-insights", "predictive-analytics", "real-time-streaming-analytics", "other-analytics"]  # noqa: E501
        if not set(analytics_azure_apps).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `analytics_azure_apps` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(analytics_azure_apps) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._analytics_azure_apps = analytics_azure_apps

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


        :return: The ai_plus_machine_learning of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._ai_plus_machine_learning

    @ai_plus_machine_learning.setter
    def ai_plus_machine_learning(self, ai_plus_machine_learning):
        """Sets the ai_plus_machine_learning of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param ai_plus_machine_learning: The ai_plus_machine_learning of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["automated-ml", "bot-services", "business-robotic-process-automation", "cognitive-services", "data-labeling", "data-preparation", "knowledge-mining", "ml-operations", "ml-service", "other"]  # noqa: E501
        if not set(ai_plus_machine_learning).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `ai_plus_machine_learning` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(ai_plus_machine_learning) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._ai_plus_machine_learning = ai_plus_machine_learning

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


        :return: The compute_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._compute_azure_apps

    @compute_azure_apps.setter
    def compute_azure_apps(self, compute_azure_apps):
        """Sets the compute_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param compute_azure_apps: The compute_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["application-infrastructure", "cache", "operating-systems", "other-compute"]  # noqa: E501
        if not set(compute_azure_apps).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `compute_azure_apps` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(compute_azure_apps) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._compute_azure_apps = compute_azure_apps

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


        :return: The blockchain of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._blockchain

    @blockchain.setter
    def blockchain(self, blockchain):
        """Sets the blockchain of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param blockchain: The blockchain of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["app-accelerators", "multi-node-ledger", "single-node-leder", "tools", "other"]  # noqa: E501
        if not set(blockchain).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `blockchain` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(blockchain) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._blockchain = blockchain

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


        :return: The containers of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._containers

    @containers.setter
    def containers(self, containers):
        """Sets the containers of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param containers: The containers of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["container-apps", "container-images", "get-started-with-containers", "other"]  # noqa: E501
        if not set(containers).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `containers` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(containers) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._containers = containers

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


        :return: The database of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._database

    @database.setter
    def database(self, database):
        """Sets the database of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param database: The database of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["data-lakes", "data-warehouse", "ledger-blockchain-databases", "nosql-databases", "relational-databases", "other-databases"]  # noqa: E501
        if not set(database).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `database` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(database) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._database = database

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


        :return: The developer_tools_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._developer_tools_azure_apps

    @developer_tools_azure_apps.setter
    def developer_tools_azure_apps(self, developer_tools_azure_apps):
        """Sets the developer_tools_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param developer_tools_azure_apps: The developer_tools_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["developer-service", "scripts", "tools-developer-tools", "other-developer-tools"]  # noqa: E501
        if not set(developer_tools_azure_apps).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `developer_tools_azure_apps` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(developer_tools_azure_apps) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._developer_tools_azure_apps = developer_tools_azure_apps

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


        :return: The devops of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._devops

    @devops.setter
    def devops(self, devops):
        """Sets the devops of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param devops: The devops of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["other"]  # noqa: E501
        if not set(devops).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `devops` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(devops) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._devops = devops

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


        :return: The identity of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._identity

    @identity.setter
    def identity(self, identity):
        """Sets the identity of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param identity: The identity of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["access-management", "other"]  # noqa: E501
        if not set(identity).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `identity` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(identity) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._identity = identity

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


        :return: The integration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._integration

    @integration.setter
    def integration(self, integration):
        """Sets the integration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param integration: The integration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["messaging", "other"]  # noqa: E501
        if not set(integration).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `integration` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(integration) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._integration = integration

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


        :return: The internet_of_things_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._internet_of_things_azure_apps

    @internet_of_things_azure_apps.setter
    def internet_of_things_azure_apps(self, internet_of_things_azure_apps):
        """Sets the internet_of_things_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param internet_of_things_azure_apps: The internet_of_things_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["iot-analytics-and-data", "iot-connectivity", "iot-edge-modules", "iot-and-iiot-platforms", "iot-security", "iot-solutions", "other-azure-apps"]  # noqa: E501
        if not set(internet_of_things_azure_apps).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `internet_of_things_azure_apps` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(internet_of_things_azure_apps) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._internet_of_things_azure_apps = internet_of_things_azure_apps

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


        :return: The it_and_management_tools of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._it_and_management_tools

    @it_and_management_tools.setter
    def it_and_management_tools(self, it_and_management_tools):
        """Sets the it_and_management_tools of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param it_and_management_tools: The it_and_management_tools of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["business-applications", "management-solutions", "other"]  # noqa: E501
        if not set(it_and_management_tools).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `it_and_management_tools` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(it_and_management_tools) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._it_and_management_tools = it_and_management_tools

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


        :return: The media of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._media

    @media.setter
    def media(self, media):
        """Sets the media of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param media: The media of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["content-protection", "live-and-on-demand-streaming", "media-services", "other"]  # noqa: E501
        if not set(media).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `media` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(media) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._media = media

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


        :return: The migration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._migration

    @migration.setter
    def migration(self, migration):
        """Sets the migration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param migration: The migration of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["data-migration", "other"]  # noqa: E501
        if not set(migration).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `migration` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(migration) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._migration = migration

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


        :return: The mixed_reality of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._mixed_reality

    @mixed_reality.setter
    def mixed_reality(self, mixed_reality):
        """Sets the mixed_reality of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param mixed_reality: The mixed_reality of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["other"]  # noqa: E501
        if not set(mixed_reality).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `mixed_reality` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(mixed_reality) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._mixed_reality = mixed_reality

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


        :return: The monitoring_and_diagnostics of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._monitoring_and_diagnostics

    @monitoring_and_diagnostics.setter
    def monitoring_and_diagnostics(self, monitoring_and_diagnostics):
        """Sets the monitoring_and_diagnostics of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param monitoring_and_diagnostics: The monitoring_and_diagnostics of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["other"]  # noqa: E501
        if not set(monitoring_and_diagnostics).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `monitoring_and_diagnostics` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(monitoring_and_diagnostics) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._monitoring_and_diagnostics = monitoring_and_diagnostics

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


        :return: The networking of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._networking

    @networking.setter
    def networking(self, networking):
        """Sets the networking of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param networking: The networking of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["appliance-managers", "connectivity", "firewalls", "load-balancers", "other"]  # noqa: E501
        if not set(networking).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `networking` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(networking) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._networking = networking

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


        :return: The security of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._security

    @security.setter
    def security(self, security):
        """Sets the security of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param security: The security of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["identity-and-access-management", "information-protection", "threat-protection", "other"]  # noqa: E501
        if not set(security).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `security` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(security) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._security = security

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


        :return: The storage_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._storage_azure_apps

    @storage_azure_apps.setter
    def storage_azure_apps(self, storage_azure_apps):
        """Sets the storage_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param storage_azure_apps: The storage_azure_apps of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["backup-and-recovery", "data-ingest-slash-etl", "data-management", "enterprise-hybrid-storage", "block-file-and-object-sharing", "other-storage"]  # noqa: E501
        if not set(storage_azure_apps).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `storage_azure_apps` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(storage_azure_apps) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._storage_azure_apps = storage_azure_apps

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


        :return: The web of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :rtype: list[str]
        """
        return self._web

    @web.setter
    def web(self, web):
        """Sets the web of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.


        :param web: The web of this MicrosoftIngestionApiModelsPropertiesAzurePropertyLeveledCategories.  # noqa: E501
        :type: list[str]
        """
        allowed_values = ["blogs-and-cms", "ecommerce", "smarter-web-apps", "web-apps", "web-apps-framework", "other"]  # noqa: E501
        if not set(web).issubset(set(allowed_values)):
            raise ValueError(
                "Invalid values for `web` [{0}], must be a subset of [{1}]"  # noqa: E501
                .format(", ".join(map(str, set(web) - set(allowed_values))),  # noqa: E501
                        ", ".join(map(str, allowed_values)))
            )

        self._web = web

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

        return self.__dict__ == other.__dict__

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