# coding: utf-8 from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 from rest_api.models.base_model_ import Model from rest_api.models.default_workflow_engine_parameter import DefaultWorkflowEngineParameter from rest_api.models.workflow_type_version import WorkflowTypeVersion from rest_api import util from rest_api.models.default_workflow_engine_parameter import DefaultWorkflowEngineParameter # noqa: E501 from rest_api.models.workflow_type_version import WorkflowTypeVersion # noqa: E501 class ServiceInfo(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually. """ def __init__(self, workflow_type_versions=None, supported_wes_versions=None, supported_filesystem_protocols=None, workflow_engine_versions=None, default_workflow_engine_parameters=None, system_state_counts=None, auth_instructions_url=None, contact_info_url=None, tags=None): # noqa: E501 """ServiceInfo - a model defined in OpenAPI :param workflow_type_versions: The workflow_type_versions of this ServiceInfo. # noqa: E501 :type workflow_type_versions: Dict[str, WorkflowTypeVersion] :param supported_wes_versions: The supported_wes_versions of this ServiceInfo. # noqa: E501 :type supported_wes_versions: List[str] :param supported_filesystem_protocols: The supported_filesystem_protocols of this ServiceInfo. # noqa: E501 :type supported_filesystem_protocols: List[str] :param workflow_engine_versions: The workflow_engine_versions of this ServiceInfo. # noqa: E501 :type workflow_engine_versions: Dict[str, str] :param default_workflow_engine_parameters: The default_workflow_engine_parameters of this ServiceInfo. # noqa: E501 :type default_workflow_engine_parameters: List[DefaultWorkflowEngineParameter] :param system_state_counts: The system_state_counts of this ServiceInfo. # noqa: E501 :type system_state_counts: Dict[str, int] :param auth_instructions_url: The auth_instructions_url of this ServiceInfo. # noqa: E501 :type auth_instructions_url: str :param contact_info_url: The contact_info_url of this ServiceInfo. # noqa: E501 :type contact_info_url: str :param tags: The tags of this ServiceInfo. # noqa: E501 :type tags: Dict[str, str] """ self.openapi_types = { 'workflow_type_versions': Dict[str, WorkflowTypeVersion], 'supported_wes_versions': List[str], 'supported_filesystem_protocols': List[str], 'workflow_engine_versions': Dict[str, str], 'default_workflow_engine_parameters': List[DefaultWorkflowEngineParameter], 'system_state_counts': Dict[str, int], 'auth_instructions_url': str, 'contact_info_url': str, 'tags': Dict[str, str] } self.attribute_map = { 'workflow_type_versions': 'workflow_type_versions', 'supported_wes_versions': 'supported_wes_versions', 'supported_filesystem_protocols': 'supported_filesystem_protocols', 'workflow_engine_versions': 'workflow_engine_versions', 'default_workflow_engine_parameters': 'default_workflow_engine_parameters', 'system_state_counts': 'system_state_counts', 'auth_instructions_url': 'auth_instructions_url', 'contact_info_url': 'contact_info_url', 'tags': 'tags' } self._workflow_type_versions = workflow_type_versions self._supported_wes_versions = supported_wes_versions self._supported_filesystem_protocols = supported_filesystem_protocols self._workflow_engine_versions = workflow_engine_versions self._default_workflow_engine_parameters = default_workflow_engine_parameters self._system_state_counts = system_state_counts self._auth_instructions_url = auth_instructions_url self._contact_info_url = contact_info_url self._tags = tags @classmethod def from_dict(cls, dikt) -> 'ServiceInfo': """Returns the dict as a model :param dikt: A dict. :type: dict :return: The ServiceInfo of this ServiceInfo. # noqa: E501 :rtype: ServiceInfo """ return util.deserialize_model(dikt, cls) @property def workflow_type_versions(self): """Gets the workflow_type_versions of this ServiceInfo. A map with keys as the workflow format type name (currently only CWL and WDL are used although a service may support others) and value is a workflow_type_version object which simply contains an array of one or more version strings # noqa: E501 :return: The workflow_type_versions of this ServiceInfo. :rtype: Dict[str, WorkflowTypeVersion] """ return self._workflow_type_versions @workflow_type_versions.setter def workflow_type_versions(self, workflow_type_versions): """Sets the workflow_type_versions of this ServiceInfo. A map with keys as the workflow format type name (currently only CWL and WDL are used although a service may support others) and value is a workflow_type_version object which simply contains an array of one or more version strings # noqa: E501 :param workflow_type_versions: The workflow_type_versions of this ServiceInfo. :type workflow_type_versions: Dict[str, WorkflowTypeVersion] """ self._workflow_type_versions = workflow_type_versions @property def supported_wes_versions(self): """Gets the supported_wes_versions of this ServiceInfo. The version(s) of the WES schema supported by this service # noqa: E501 :return: The supported_wes_versions of this ServiceInfo. :rtype: List[str] """ return self._supported_wes_versions @supported_wes_versions.setter def supported_wes_versions(self, supported_wes_versions): """Sets the supported_wes_versions of this ServiceInfo. The version(s) of the WES schema supported by this service # noqa: E501 :param supported_wes_versions: The supported_wes_versions of this ServiceInfo. :type supported_wes_versions: List[str] """ self._supported_wes_versions = supported_wes_versions @property def supported_filesystem_protocols(self): """Gets the supported_filesystem_protocols of this ServiceInfo. The filesystem protocols supported by this service, currently these may include common protocols using the terms 'http', 'https', 'sftp', 's3', 'gs', 'file', or 'synapse', but others are possible and the terms beyond these core protocols are currently not fixed. This section reports those protocols (either common or not) supported by this WES service. # noqa: E501 :return: The supported_filesystem_protocols of this ServiceInfo. :rtype: List[str] """ return self._supported_filesystem_protocols @supported_filesystem_protocols.setter def supported_filesystem_protocols(self, supported_filesystem_protocols): """Sets the supported_filesystem_protocols of this ServiceInfo. The filesystem protocols supported by this service, currently these may include common protocols using the terms 'http', 'https', 'sftp', 's3', 'gs', 'file', or 'synapse', but others are possible and the terms beyond these core protocols are currently not fixed. This section reports those protocols (either common or not) supported by this WES service. # noqa: E501 :param supported_filesystem_protocols: The supported_filesystem_protocols of this ServiceInfo. :type supported_filesystem_protocols: List[str] """ self._supported_filesystem_protocols = supported_filesystem_protocols @property def workflow_engine_versions(self): """Gets the workflow_engine_versions of this ServiceInfo. The engine(s) used by this WES service, key is engine name (e.g. Cromwell) and value is version # noqa: E501 :return: The workflow_engine_versions of this ServiceInfo. :rtype: Dict[str, str] """ return self._workflow_engine_versions @workflow_engine_versions.setter def workflow_engine_versions(self, workflow_engine_versions): """Sets the workflow_engine_versions of this ServiceInfo. The engine(s) used by this WES service, key is engine name (e.g. Cromwell) and value is version # noqa: E501 :param workflow_engine_versions: The workflow_engine_versions of this ServiceInfo. :type workflow_engine_versions: Dict[str, str] """ self._workflow_engine_versions = workflow_engine_versions @property def default_workflow_engine_parameters(self): """Gets the default_workflow_engine_parameters of this ServiceInfo. Each workflow engine can present additional parameters that can be sent to the workflow engine. This message will list the default values, and their types for each workflow engine. # noqa: E501 :return: The default_workflow_engine_parameters of this ServiceInfo. :rtype: List[DefaultWorkflowEngineParameter] """ return self._default_workflow_engine_parameters @default_workflow_engine_parameters.setter def default_workflow_engine_parameters(self, default_workflow_engine_parameters): """Sets the default_workflow_engine_parameters of this ServiceInfo. Each workflow engine can present additional parameters that can be sent to the workflow engine. This message will list the default values, and their types for each workflow engine. # noqa: E501 :param default_workflow_engine_parameters: The default_workflow_engine_parameters of this ServiceInfo. :type default_workflow_engine_parameters: List[DefaultWorkflowEngineParameter] """ self._default_workflow_engine_parameters = default_workflow_engine_parameters @property def system_state_counts(self): """Gets the system_state_counts of this ServiceInfo. The system statistics, key is the statistic, value is the count of runs in that state. See the State enum for the possible keys. # noqa: E501 :return: The system_state_counts of this ServiceInfo. :rtype: Dict[str, int] """ return self._system_state_counts @system_state_counts.setter def system_state_counts(self, system_state_counts): """Sets the system_state_counts of this ServiceInfo. The system statistics, key is the statistic, value is the count of runs in that state. See the State enum for the possible keys. # noqa: E501 :param system_state_counts: The system_state_counts of this ServiceInfo. :type system_state_counts: Dict[str, int] """ self._system_state_counts = system_state_counts @property def auth_instructions_url(self): """Gets the auth_instructions_url of this ServiceInfo. A web page URL with human-readable instructions on how to get an authorization token for use with a specific WES endpoint. # noqa: E501 :return: The auth_instructions_url of this ServiceInfo. :rtype: str """ return self._auth_instructions_url @auth_instructions_url.setter def auth_instructions_url(self, auth_instructions_url): """Sets the auth_instructions_url of this ServiceInfo. A web page URL with human-readable instructions on how to get an authorization token for use with a specific WES endpoint. # noqa: E501 :param auth_instructions_url: The auth_instructions_url of this ServiceInfo. :type auth_instructions_url: str """ self._auth_instructions_url = auth_instructions_url @property def contact_info_url(self): """Gets the contact_info_url of this ServiceInfo. An email address URL (mailto:) or web page URL with contact information for the operator of a specific WES endpoint. Users of the endpoint should use this to report problems or security vulnerabilities. # noqa: E501 :return: The contact_info_url of this ServiceInfo. :rtype: str """ return self._contact_info_url @contact_info_url.setter def contact_info_url(self, contact_info_url): """Sets the contact_info_url of this ServiceInfo. An email address URL (mailto:) or web page URL with contact information for the operator of a specific WES endpoint. Users of the endpoint should use this to report problems or security vulnerabilities. # noqa: E501 :param contact_info_url: The contact_info_url of this ServiceInfo. :type contact_info_url: str """ self._contact_info_url = contact_info_url @property def tags(self): """Gets the tags of this ServiceInfo. A key-value map of arbitrary, extended metadata outside the scope of the above but useful to report back # noqa: E501 :return: The tags of this ServiceInfo. :rtype: Dict[str, str] """ return self._tags @tags.setter def tags(self, tags): """Sets the tags of this ServiceInfo. A key-value map of arbitrary, extended metadata outside the scope of the above but useful to report back # noqa: E501 :param tags: The tags of this ServiceInfo. :type tags: Dict[str, str] """ self._tags = tags