# coding: utf-8

"""
    Robust Intelligence REST API

    API methods for Robust Intelligence. Users must authenticate using the `rime-api-key` header.  # noqa: E501

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

import pprint
import re  # noqa: F401

import six

class CrossplanetaskCrossPlaneResponse(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 = {
        'category_config_generation_service_response': 'ConfigGenerationCategoryConfigGenerationServiceResponse',
        'profiling_config_generation_service_response': 'ConfigGenerationProfilingConfigGenerationServiceResponse',
        'test_suite_config_generation_service_response': 'ConfigGenerationTestSuiteConfigGenerationServiceResponse',
        'check_object_exists_response': 'FileserverCheckObjectExistsResponse',
        'delete_object_response': 'FileserverDeleteObjectResponse',
        'get_read_object_presigned_link_response': 'FileserverGetReadObjectPresignedLinkResponse',
        'get_upload_object_presigned_link_response': 'FileserverGetUploadObjectPresignedLinkResponse',
        'list_objects_response': 'FileserverListObjectsResponse',
        'validate_dataset_response': 'ValidationValidateDatasetResponse',
        'validate_model_response': 'ValidationValidateModelResponse',
        'validate_predictions_response': 'ValidationValidatePredictionsResponse'
    }

    attribute_map = {
        'category_config_generation_service_response': 'categoryConfigGenerationServiceResponse',
        'profiling_config_generation_service_response': 'profilingConfigGenerationServiceResponse',
        'test_suite_config_generation_service_response': 'testSuiteConfigGenerationServiceResponse',
        'check_object_exists_response': 'checkObjectExistsResponse',
        'delete_object_response': 'deleteObjectResponse',
        'get_read_object_presigned_link_response': 'getReadObjectPresignedLinkResponse',
        'get_upload_object_presigned_link_response': 'getUploadObjectPresignedLinkResponse',
        'list_objects_response': 'listObjectsResponse',
        'validate_dataset_response': 'validateDatasetResponse',
        'validate_model_response': 'validateModelResponse',
        'validate_predictions_response': 'validatePredictionsResponse'
    }

    def __init__(self, category_config_generation_service_response=None, profiling_config_generation_service_response=None, test_suite_config_generation_service_response=None, check_object_exists_response=None, delete_object_response=None, get_read_object_presigned_link_response=None, get_upload_object_presigned_link_response=None, list_objects_response=None, validate_dataset_response=None, validate_model_response=None, validate_predictions_response=None):  # noqa: E501
        """CrossplanetaskCrossPlaneResponse - a model defined in Swagger"""  # noqa: E501
        self._category_config_generation_service_response = None
        self._profiling_config_generation_service_response = None
        self._test_suite_config_generation_service_response = None
        self._check_object_exists_response = None
        self._delete_object_response = None
        self._get_read_object_presigned_link_response = None
        self._get_upload_object_presigned_link_response = None
        self._list_objects_response = None
        self._validate_dataset_response = None
        self._validate_model_response = None
        self._validate_predictions_response = None
        self.discriminator = None
        if category_config_generation_service_response is not None:
            self.category_config_generation_service_response = category_config_generation_service_response
        if profiling_config_generation_service_response is not None:
            self.profiling_config_generation_service_response = profiling_config_generation_service_response
        if test_suite_config_generation_service_response is not None:
            self.test_suite_config_generation_service_response = test_suite_config_generation_service_response
        if check_object_exists_response is not None:
            self.check_object_exists_response = check_object_exists_response
        if delete_object_response is not None:
            self.delete_object_response = delete_object_response
        if get_read_object_presigned_link_response is not None:
            self.get_read_object_presigned_link_response = get_read_object_presigned_link_response
        if get_upload_object_presigned_link_response is not None:
            self.get_upload_object_presigned_link_response = get_upload_object_presigned_link_response
        if list_objects_response is not None:
            self.list_objects_response = list_objects_response
        if validate_dataset_response is not None:
            self.validate_dataset_response = validate_dataset_response
        if validate_model_response is not None:
            self.validate_model_response = validate_model_response
        if validate_predictions_response is not None:
            self.validate_predictions_response = validate_predictions_response

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


        :return: The category_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ConfigGenerationCategoryConfigGenerationServiceResponse
        """
        return self._category_config_generation_service_response

    @category_config_generation_service_response.setter
    def category_config_generation_service_response(self, category_config_generation_service_response):
        """Sets the category_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.


        :param category_config_generation_service_response: The category_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ConfigGenerationCategoryConfigGenerationServiceResponse
        """

        self._category_config_generation_service_response = category_config_generation_service_response

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


        :return: The profiling_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ConfigGenerationProfilingConfigGenerationServiceResponse
        """
        return self._profiling_config_generation_service_response

    @profiling_config_generation_service_response.setter
    def profiling_config_generation_service_response(self, profiling_config_generation_service_response):
        """Sets the profiling_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.


        :param profiling_config_generation_service_response: The profiling_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ConfigGenerationProfilingConfigGenerationServiceResponse
        """

        self._profiling_config_generation_service_response = profiling_config_generation_service_response

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


        :return: The test_suite_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ConfigGenerationTestSuiteConfigGenerationServiceResponse
        """
        return self._test_suite_config_generation_service_response

    @test_suite_config_generation_service_response.setter
    def test_suite_config_generation_service_response(self, test_suite_config_generation_service_response):
        """Sets the test_suite_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.


        :param test_suite_config_generation_service_response: The test_suite_config_generation_service_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ConfigGenerationTestSuiteConfigGenerationServiceResponse
        """

        self._test_suite_config_generation_service_response = test_suite_config_generation_service_response

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


        :return: The check_object_exists_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: FileserverCheckObjectExistsResponse
        """
        return self._check_object_exists_response

    @check_object_exists_response.setter
    def check_object_exists_response(self, check_object_exists_response):
        """Sets the check_object_exists_response of this CrossplanetaskCrossPlaneResponse.


        :param check_object_exists_response: The check_object_exists_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: FileserverCheckObjectExistsResponse
        """

        self._check_object_exists_response = check_object_exists_response

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


        :return: The delete_object_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: FileserverDeleteObjectResponse
        """
        return self._delete_object_response

    @delete_object_response.setter
    def delete_object_response(self, delete_object_response):
        """Sets the delete_object_response of this CrossplanetaskCrossPlaneResponse.


        :param delete_object_response: The delete_object_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: FileserverDeleteObjectResponse
        """

        self._delete_object_response = delete_object_response

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


        :return: The get_read_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: FileserverGetReadObjectPresignedLinkResponse
        """
        return self._get_read_object_presigned_link_response

    @get_read_object_presigned_link_response.setter
    def get_read_object_presigned_link_response(self, get_read_object_presigned_link_response):
        """Sets the get_read_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.


        :param get_read_object_presigned_link_response: The get_read_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: FileserverGetReadObjectPresignedLinkResponse
        """

        self._get_read_object_presigned_link_response = get_read_object_presigned_link_response

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


        :return: The get_upload_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: FileserverGetUploadObjectPresignedLinkResponse
        """
        return self._get_upload_object_presigned_link_response

    @get_upload_object_presigned_link_response.setter
    def get_upload_object_presigned_link_response(self, get_upload_object_presigned_link_response):
        """Sets the get_upload_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.


        :param get_upload_object_presigned_link_response: The get_upload_object_presigned_link_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: FileserverGetUploadObjectPresignedLinkResponse
        """

        self._get_upload_object_presigned_link_response = get_upload_object_presigned_link_response

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


        :return: The list_objects_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: FileserverListObjectsResponse
        """
        return self._list_objects_response

    @list_objects_response.setter
    def list_objects_response(self, list_objects_response):
        """Sets the list_objects_response of this CrossplanetaskCrossPlaneResponse.


        :param list_objects_response: The list_objects_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: FileserverListObjectsResponse
        """

        self._list_objects_response = list_objects_response

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


        :return: The validate_dataset_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ValidationValidateDatasetResponse
        """
        return self._validate_dataset_response

    @validate_dataset_response.setter
    def validate_dataset_response(self, validate_dataset_response):
        """Sets the validate_dataset_response of this CrossplanetaskCrossPlaneResponse.


        :param validate_dataset_response: The validate_dataset_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ValidationValidateDatasetResponse
        """

        self._validate_dataset_response = validate_dataset_response

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


        :return: The validate_model_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ValidationValidateModelResponse
        """
        return self._validate_model_response

    @validate_model_response.setter
    def validate_model_response(self, validate_model_response):
        """Sets the validate_model_response of this CrossplanetaskCrossPlaneResponse.


        :param validate_model_response: The validate_model_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ValidationValidateModelResponse
        """

        self._validate_model_response = validate_model_response

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


        :return: The validate_predictions_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :rtype: ValidationValidatePredictionsResponse
        """
        return self._validate_predictions_response

    @validate_predictions_response.setter
    def validate_predictions_response(self, validate_predictions_response):
        """Sets the validate_predictions_response of this CrossplanetaskCrossPlaneResponse.


        :param validate_predictions_response: The validate_predictions_response of this CrossplanetaskCrossPlaneResponse.  # noqa: E501
        :type: ValidationValidatePredictionsResponse
        """

        self._validate_predictions_response = validate_predictions_response

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

        return self.__dict__ == other.__dict__

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